- #1
JCienfuegos
- 8
- 0
Hello
I have a program for Eulers method >>
% Euler's Method for dy/dt = cost
k = 1;
y0 = 0;
npoints = 500;
dt = 0.01;
y = zeros(npoints,1); % this initializes the vector y to being all zeros
t = zeros(npoints,1);
y(1) = y0; % the initial condition
t(1) = 0.0;
for step=1:npoints-1 % loop over the timesteps
y(step+1) = y(step) + dt*k*(cos(y(step)));
t(step+1) = t(step) + dt;
end
plot(t,y,'r'); %plots the numerical solution in red
hold on; %keep the previously plotted lines
plot(t,yexact2(t)); %plots the exact solution (default plot is in blue, solid line)
The graph asymptotically approaches pi/2, and I can't think of a way to deal with this.
I have a program for Eulers method >>
% Euler's Method for dy/dt = cost
k = 1;
y0 = 0;
npoints = 500;
dt = 0.01;
y = zeros(npoints,1); % this initializes the vector y to being all zeros
t = zeros(npoints,1);
y(1) = y0; % the initial condition
t(1) = 0.0;
for step=1:npoints-1 % loop over the timesteps
y(step+1) = y(step) + dt*k*(cos(y(step)));
t(step+1) = t(step) + dt;
end
plot(t,y,'r'); %plots the numerical solution in red
hold on; %keep the previously plotted lines
plot(t,yexact2(t)); %plots the exact solution (default plot is in blue, solid line)
The graph asymptotically approaches pi/2, and I can't think of a way to deal with this.