MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 12:04:07

MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程
MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程

MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程
function Euler
%欧拉法和龙格库塔算法解一阶常微分方程源代码
%例子dy/dx=-y+x+1
f=inline('-y+x+1','x','y'); %微分方程的右边项
dx=0.5; %x方向步长
xleft=0; %区域的左边界
xright=10; %区域的右边界
xx=xleft:dx:xright; %一系列离散的点
n=length(xx); %点的个数
y0=1;
%%(1)欧拉法
Euler=y0;
for i=2:n
Euler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1));
end
%%(2)龙格库塔法
RK=y0;
for i=2:n
k1=f(xx(i-1),RK(i-1));
k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2);
k3=f(xx(i-1)+dx/2,RK(i-1)+k2*dx/2);
k4=f(xx(i-1)+dx,RK(i-1)+k3*dx);
RK(i)=RK(i-1)+dx*(k1+2*k2+2*k3+k4)/6;
end
%%Euler和Rk法结果比较
plot(xx,Euler,xx,RK)
hold on
%精确解用作图
syms x
rightsolve=dsolve('Dy=-y+x+1','y(0)=1','x');%求出解析解
rightdata=subs(rightsolve,xx);%将xx代入解析解,得到解析解对应的数值
plot(xx,rightdata,'r*')
legend('Euler','Runge-Kutta','analytic')

MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程 我在书上看到一个MATLAB中Simulink,关于微分方程系统的小例子.Integrator的初始值为100,仿真时间1S最终的图像代表什么意思,刻度不懂微分方程系统是x'=x-0.5x^2 matlab ode45求解微分方程 D2y-0.01*Dy.^2+2*y=sin(t),初始值0 【信号与系统】已知系统输入与输出微分方程,求系统函数、冲击响应及系统的全响应? MATLAB指数函数的拟合过程中怎么确定初始值啊? 用matlab中ode45解方程组 x1'=-2*x1+x2 x2'=-3*x1+6*x2 初始值自定 怎么用matlab求解一个系统的零输入响应?(常系数微分方程的那种) Matlab 与 质量弹簧阻尼系统 中 微分方程 结合,写传递函数.质量弹簧阻尼系统的运动微分方程写出开来了,质量矩阵M、刚度矩阵K、阻尼矩阵C和力矩阵F都有,能由此用Matlab直接得到系统的传递函 求解约束非线性规划中使用MATLAB时为什么要设定初始值X0? 用MATLAB如何用ODE45求解如下微分方程已知J,Tb,Fx和R MATLAB接微分方程及画图问题用MATLAB设计程序解微分方程y+2y'+2y=0,y(0)=1,y'(0)=0,并画出图形,当在M文件中改变方程系数时,图形也随着变化.为什么画图时要用“.”号,例如画y=sin(x).*exp(-x/3);中要有 怎么 用matlab解符号偏微分方程 matlab 用eig和diag解微分方程 用 Matlab求解微分方程(组) 大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置, MATLAB 龙格库塔法求解常微分方程初值问题 用MATLAB 急 信号与系统中把电路用微分方程表示的方法? 信号与系统中把电路用微分方程表示的方法?