Array don't store value?

2 次查看(过去 30 天)
I tried to use improve euler method but they array only start the starting value doesn't store the rest of the estimation. Only plot one point intead of going from -0.5 to pi.
f = @(t,y) y*tan(t) + sin(t);
y01 = -0.5;
t01 = 0;
t11 = pi;
h=0.1;
n = linspace(t01,t11,h);
t = (1:length(n));
y = (1:length(n));
y(1) = y01;
t(1) =t01;
for i = 1:(numel(n)-1)
t(i+1) = t(i)+h;
yp = y(i)+h*f(t(i),y(i));
y(i+1) = y(i)+h/2 * (f(t(i),y(i))+f(t(i+1),yp));
end
plot(t,y,"x");

采纳的回答

Stephen23
Stephen23 2021-10-17
编辑:Stephen23 2021-10-17
Replace
n = linspace(t01,t11,h); % Read its help to know why your useage is incorrect.
with
n = t01:h:t11;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by