How can I continue my Leapfrog method code ?

13 views (last 30 days)
How can I continue my Leapfrog / midpoint two- step method code ?
clc; clear all;
t=[0 1];
h=0.01;
n=(t(2)-t(1))/h;
alpha=0.5;
%initials%
y_m(1)=2;
y_m(2)=exp(20.*h)+cos(h);
f_m(1)=20.*(y_m(1)-cos(t(1)))-sin(t(1));
f_m(2)=20.*(y_m(2)-cos(t(2)))-sin(t(2));
%Midpoint Two step method%
for i=3:n
y_m(i)=y_m(i-2)+2.*h.*f_m(i-1);
f_m(i)=20.*(y_m(i)-cos(t(i)))-sin(t(i));
end
  1 Comment
Torsten
Torsten on 23 May 2022
Edited: Torsten on 23 May 2022
How can I continue my Leapfrog / midpoint two- step method code ?
What do you mean by "continue" ?
You forgot to set
t = 0:h:1
in your code.

Sign in to comment.

Accepted Answer

Torsten
Torsten on 23 May 2022
h=0.01;
t=0:h:1;
n=numel(t);
mu = 20;
f_m = @(t,y) mu*(y-cos(t))-sin(t);
exact = @(t) exp(mu*t)+cos(t);
%initials%
y_m(1)=exact(0);
y_m(2)=exact(h);
%Midpoint Two step method%
for i=3:n
y_m(i)=y_m(i-2)+2*h*f_m(t(i-1),y_m(i-1));
end
plot(t,[y_m;exact(t)])

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!