1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Taylor and Euler Matlab Comparison for Numerical Analysis.

  1. Apr 25, 2012 #1
    1. Solve y'=3t^2y^2 on [0, 3] , y0 = −1, using Euler method and Taylor method of
    order 3. Compare your solutions to the exact solution. y(t)=(-1/((t^3)+1))


    I DONT KNOW WHAT IS WRONG WITH MY PROGRAM! PLEASE HELP =D
    2. Relevant equations

    http://en.wikipedia.org/wiki/Euler_method
    http://math.fullerton.edu/mathews/n2003/TaylorDEMod.html [Broken]

    3. The attempt at a solution
    function Euler2(a,b,h,y0)
    t0=a;
    t(1)=t0;
    y(1)=y0;
    N=(b-a)/h;

    for i=1:N
    y(i+1)=y(i)+h*(func(t(i),y(i)));
    t(i+1)=t(i)+h;
    end
    -----------------------------------------
    function deriv=func(t,y)
    deriv=3*t^2*y^2;
    -----------------------------------------
    function w=Taylor1(a,b,h)
    t0=a;
    y0=1;
    t(1)=t0;
    y(1)=y0;
    N=(b-a)/h;
    w(1)=1;

    %2nd Order Taylor Method%
    for i=2:N+1
    w(i)= w(i-1)+h*(1-h+(h^2)/2);
    t(i)= a+i*h;
    end

    %3rd Order Taylor Method%
    for i=2:N+1
    w(i)= w(i-1)*(1-h+(h^2)/2-(h^3)/6);
    t(i)= a+i*h;
    end
    ------------------------------------------------
    a=0;
    b=3;
    y0=-1;
    h=0.1;
    t=a:h:b;

    w1=Euler2(a,b,h);
    w2=Taylor2(a,b,h);

    plot(t,w1,'r')
    hold on
    plot(t,w2,'b')
    hold on
    plot(t,-1/(t^3+1),'g')
    --------------------------------------
     
    Last edited by a moderator: May 5, 2017
  2. jcsd
  3. Apr 25, 2012 #2

    Mark44

    Staff: Mentor

    Help us out a bit. Why do you think there is something wrong with your code?
     
    Last edited by a moderator: May 5, 2017
  4. Apr 25, 2012 #3
    i feel like something is wrong with my Euler and Taylor codes but I'm not so sure.
     
  5. Apr 25, 2012 #4

    Mark44

    Staff: Mentor

    "Feeling" is not helpful. Does your code produce an incorrect result?
     
  6. Apr 25, 2012 #5
    ??? Error using ==> Euler2
    Too many output arguments.

    Error in ==> Problem3_Homework3 at 7
    w1=Euler2(a,b,h);


    THAT IS WHAT I GET!
     
  7. Apr 25, 2012 #6
    Umm, just looking at your euler's I can tell you either didn't give us the right code or it's wrong (or terrible coding practice). You have a t(1)=t0; definition, but t0 is not an input to your function. Other than that, it looks fine. I don't really want to look at the Taylor without in an indication of whether it's wrong or not.

    The two methods should be pretty close to the exact solution.

    Edit: my bad, didn't see that you made a = t0, but still, why the extra step?
     
  8. Apr 25, 2012 #7
    Your function call should really look like

    function y = Euler2(a,b,h,y0)

    Maybe you should make it look just like the ode45 would take
    function [t y]=euler(odefun,tvalues,y0,h);
     
    Last edited: Apr 25, 2012
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Taylor and Euler Matlab Comparison for Numerical Analysis.
  1. Numerical Analysis (Replies: 3)

Loading...