problem to create three graph in one Matlab file (explicit Euler, implicit Euler, Heun)
显示 更早的评论
function taska
h = 0.1;
x = 0:h:pi;
y1 = [0];
%euler exlicit method
for i = 1:length(x)-1
y1(i+1)=y1(i)+h*f1(x(i),y1(i));
end
%heun's method
for i = 1:length(x)-1
x(i+1)=x(i)+h;
ynew=y1(i)+h*(f1(x(i),y1(i)));
y2(i+1)=y1(i)+(h/2)*(f1(x(i+1),y1(i))+h*(f1(x(i+1),ynew)));
end
%euler implicit method
for i = 1:length(x)-1
x(i+1)=x(i)+h;
ynew=y1(i)+h*(f1(x(i),y1(i)));
y3(i+1)=y1(i)+h*f1(x(i+1),ynew);
end
plot(x,y1,'g',x,y2,'r',x,y3,':')
end
function dy = f1(x,y1)
y0 = -1;
dx=0.01;
d = 50;
c1=(y0-(d^2/(d^2+1)));
dy=c1*exp(-dx)+d*(sin(x)/(d^2+1))+d^2*(cos(x)/d^2+1);
end
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!