隐式Euler格式 | matlab

function [x, y]=imp_euler(f, a, b, y0, h)
% 隐式欧拉格式
% f是带求函数的一阶导形式
% a,b分别是积分上下限
% y0 是初始条件y(0)
% h是步长

s = (b - a) / h; % 求步数
X = zeros(1, s+1);
Y = zeros(1, s+1);
X = a:h:b;
Y(1) = y0;
for k = 1:s
    k1 = f(X(k), Y(k));
    k2 = f(X(k+1), Y(k) + h * k1);
    Y(k+1) = Y(k) + h * k2
end
x = X';
y = Y';
[x, y] = imp_euler(@f_test, 0, 0.5, 1, 0.1);
figure(1);
plot(x, y);
title('隐式欧拉格式')

%=> y = 1.0000    1.1210    1.2764    1.4836    1.7738    2.2100
  • 1
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值