MATLAB Answers

How would I improve my euler code?

4 views (last 30 days)
Raiven Balderas
Raiven Balderas on 20 Feb 2018
Edited: Jim Riggs on 21 Feb 2018
How can i improve my euler code? Code is attached ... I believe i have to improve it by using trapezoids instead of rectangles..How do i do this ? Can someone help

  0 Comments

Sign in to comment.

Accepted Answer

Jim Riggs
Jim Riggs on 20 Feb 2018
For trapezoidal integration, you use the average of two consecutive evaluations. This could be done by simply adding one line of code after the Euler calculation;
y(:,k+1) = (y(:,k+1) + y(:,k))*h/2

  2 Comments

Raiven Balderas
Raiven Balderas on 21 Feb 2018
so i add your suggestion directly below "y(:,k+1)=y(:,k)+h*func(t(k),y(:,k)); " ?
Jim Riggs
Jim Riggs on 21 Feb 2018
Perhaps this will be more clear:
A = func(t(k), y(:,k) );
B = func(t(k+1),y(:,k+1));
y(:,k+1) = y(:,k) + (A + B) * h/2;
Compare this with the Euler method:
A = func(t(k), y(:,k) );
y(:,k+1) = y(:,k) + A * h;

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags