matlab代码实现Euler公式求解常微分方程初值
时间: 2023-06-09 13:02:49 浏览: 58
数值求解常微分方程,数值求解常微分方程初值问题,matlab
5星 · 资源好评率100%
我可以为您提供下面这段 Matlab 代码,可以求解常微分方程的初值问题,使用 Euler 公式:
function [t, y] = euler(f, y0, tspan, h)
% f: 函数句柄,y' = f(t, y)
% y0: 初始值
% tspan: 时间跨度,[t0, tf]
% h: 步长
% t: 时间节点
% y: 对应的函数值
t0 = tspan(1);
tf = tspan(2);
% 时间节点
t = t0:h:tf;
% 初始值
y = zeros(length(y0), length(t));
y(:, 1) = y0;
% 求解
for i = 1:length(t)-1
y(:, i+1) = y(:, i) + h*f(t(i), y(:, i));
end
end
您可以将函数句柄 f 换成您的常微分方程函数。
阅读全文