test_my_ode.m
来自「变系数/非线性微分方程的求解」· M 代码 · 共 27 行
M
27 行
function test_my_ode
% 以一步Euler法说明MATLAB/ODEs的实现及封装方法
% $sunshengli@sohu.com $
% $Date: 2005/07/20 $
h = 0.1;
t = 0:0.1:20;
y0 = -4;
% [t,y] = ode45(@odefun,t,y0); % 使用Matlab自带积分器
[t,y] = my_ode(@odefun,t,y0); % 使用自己封装的积分器
plot(t,y)
function [t,y] = my_ode(odefun,t,y0)
y(1) = y0;
for k=1:(length(t)-1)
h = t(k+1) - t(k);
y_dot = feval(odefun,t,y(k));
y(k+1) = y(k) + h*y_dot ;
end
function y_dot = odefun(t,y)
y_dot = -0.2*y + 2 ;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?