Matlab forward Euler demo

% forward Euler demo
% take two steps in the solution of 
% dy/dt = y, y(0) = 1
% exact solution is y(t) = exp(t)

clear all
close all

% the exact solution
t = 0:0.01:1;
yexact = exp(t);

% initial conditions
y0 = 1
h = 0.5
tt = [0];
yy = [y0];

% one step of forward Euler
yhalf = y0 +h*y0
tt = [tt; h];
yy = [yy; yhalf];

plot(t,yexact)
axis([0,1,0,3])
hold on
plot(tt,yy,'rx-')
pause
% what family member are we on now?
c1 = yhalf/exp(0.5);
ymember1 = c1*exp(t);
plot(t,ymember1,'g--')
pause

% step 2 of forward Euler
y1 = yhalf + h*yhalf
tt = [tt; 2*h];
yy = [yy; y1];

plot(tt,yy,'rx-')
pause
% what family member are we on now?
c2 = y1/exp(1);
ymember2 = c2*exp(t);
plot(t,ymember2,'c--')

转载于:https://www.cnblogs.com/vigorz/p/10499197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值