📄 main.m
字号:
%清除内存变量
clear;
clc;
%t的初值
a=input('请输入区间的起点a=');
%t的终值
b=input('请输入区间的终点b=');
%步长
h=input('请输入步长h=');
%初值条件
c=input('请输入初值');
%待求微分方程
f=input('请输入函数f,格式为inline(\''函数表达式\'',\''变量1 \'',\''变量2\'',...)');
%Euler方法求解常微分方程
[T,U]=euler(f,a,b,h,c);
disp(h);
orig=input('请输入精确解函数表达式 输入格式为inline(\''函数表达式\'',\''变量1 \'',\''变量2\'',...)');
k=(b-a)/h+1;
t=zeros(k,1);
y=zeros(k,1);
t(1)=a;
y(1)=c;
str=sprintf(' x0=%g, y0=%g\n',t(1),y(1));
disp(str);
for i=1:k-1
y(i+1)=feval(orig,t(i));
t(i+1)=t(i)+h;
str=sprintf('%d, t=%g, u=%g',i,t(i+1),y(i+1));
disp(str);
end
plot(T,U,'rh-',t,y,'b-');
legend('数值解','精确解');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -