matlab解常微分方程组 用四阶龙格库塔解三阶微分方程公式和程序?

[更新]
·
·
分类:行业
4503 阅读

matlab解常微分方程组

用四阶龙格库塔解三阶微分方程公式和程序?

用四阶龙格库塔解三阶微分方程公式和程序?

这个方程应该是描述具有周期性驱动的小角度摆的运动方程,它解析解应该是没法写出来的,sin函数非线性太强了,考虑一下数值计算.matlab龙格库塔算法ode45系列函数就可以的.
当非线性等于0(c0)的时候

如何用matlab求方程的数值解?

用MATLAB Ordinary Differential Equation (ODE) solver 求解微分方程的数值解。常用的ODE solver函数包括:ode45,ode23,ode113,ode15s等等。具体选择何种ODE solver参考下面的链接
选择 ODE 求解器 - MATLAB amp Simulink - MathWorks 中国
针对上述问题,ode45即可解决。
y的图像如下:
dy/dt的图像如下:
尝试用dsolve求解解析解。
MATLAB显示无法求解出解析解

matlab中用obe45求解微分方程组?

ode45是最常用的求解非刚性微分方程(组)的指令,它采用变步长四、五阶Runge-Kutta法,求解精度比ode23、ode15要高。但ode45的计算量比较大,而ode23计算量小,且误差大
调用格式:[t,y]ode45(odefun,tspan,y0)
odefun 用以表示f(t,y)的函数句柄或inline函数,t是标量,y是标量或向量;
tspan 如果是二维向量[t0,tf],表示自变量初值t0和终值tf;如果是高维向量[t0,t1,t2,。。。,tn],则表示输出结点列向量;
y0 表示初值向量;
t 表示结点列向量(t0,t1,t2,。。。,tn)^T;
y 表示数值解矩阵,每一列对应y的一个分量。
实例说明:
例1 yy-2t/y,y(0)1,0t4
odefuninline(y-2*t/y,t,y);
[t,y]ode45(odefun,[0,4],1)
plot(t,y,o-)
例2 x-x^3-y,x(0)1;yx-y^3,y(0)0.5,0t30
首先,建立自定义函数文件myfun.m
function fmyfun(t,x)
f(1)-x(1)^3-x(2);
f(2)x(1)-x(2)^3;
ff(:)
然后,在命令窗口中输入
[t,y]ode45(myfun,[ 0 30],[1:50]])
plot(t,x(:,1) ,t,x(:,2),o-)
figure
plot(x(:,1) ,x(:,2),:)