⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.m

📁 Euler方法解 程序
💻 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 + -