📄 euler.m
字号:
%用 Eu1er 方法求解原微分方程
%Eu1er方法
function [T,U]=eu1er(f,a,b,h,c,varargin)
%计算点的个数
n=round((b-a)/h)+1;
%定义X,Y的维数
t=zeros(n,1);
u=zeros(n,1);
%微分方程的初始条件
t(1)=a;
u(1)=c;
%显示微分方程的初始条件
str=sprintf('t0=%g, u0=%g\n',t(1),u(1));
disp(str);
%对每个点用Eu1er法计算
for i=1:n-1
%Eu1er公式
u(i+1)=u(i)+h*feval(f,t(i),u(i),varargin{:});
t(i+1)=t(i)+h;
%显示计算结果与误差
str=sprintf('%d t=%g u=%g ',i,t(i+1),u(i+1));
disp(str);
end
%返回计算结果
T=t;
U=u;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -