MATLAB解常微分方程的数值解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB解常微分方程的数值解相关的知识,希望对你有一定的参考价值。

参考技术A

使用matlab的dsolve()函数,可以解得其微分方程的解析解。

y =- lambertw(0, -exp(-x^2)) - 1

式中: lambertw()是朗伯W函数,w*exp(w) = x.

【x                y】

1.0000   -0.0000

1.1000   -0.5163

1.2000   -0.6707

1.3000   -0.7671

1.4000   -0.8336

1.5000   -0.8813

1.6000   -0.9159

1.7000   -0.9410

1.8000   -0.9592

1.9000   -0.9722

2.0000   -0.9813

2.1000   -0.9877

2.2000   -0.9920

2.3000   -0.9949

2.4000   -0.9968

2.5000   -0.9981

2.6000   -0.9988

2.7000   -0.9993

2.8000   -0.9996

2.9000   -0.9998

3.0000   -0.9999

3.1000   -0.9999

3.2000   -1.0000

3.3000   -1.0000

3.4000   -1.0000

3.5000   -1.0000

3.6000   -1.0000

3.7000   -1.0000

3.8000   -1.0000

3.9000   -1.0000

4.0000   -1.0000

。。。。。

图形及代码如下:

本回答被提问者和网友采纳

matlab用龙格库塔法求解变系数常微分方程

遇到一个二阶常微分方程y"=1020000*sin(12560*t)*[-0.8159*(y^4)+1.6724*(y^3)-0.1303*(y^2)+0.0042*(y)],y和y'的初值都是0,t的范围[0,0.0005],y=f(t),求使用ode45方法的程序,或者其他的龙格库塔法的程序,谢谢

参考技术A

该二阶微分方程用龙格库塔法可以这样来求解。

第一步,根据该二阶微分方程,自定义微分方程函数,func(t,y)

第二步,根据初始条件,确定y和y'的初值,即y0=[0,0]

第三步,使用ode45函数求解【t,y】的数值解,即

[t,y] = ode45(@func,[0 0.0005],y0);

第四步,根据t、y、y'值,绘制t—y(t),t—y'(t)曲线图

下图为求解结果

以上是关于MATLAB解常微分方程的数值解的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB常微分方程的数值解法

Matlab常微分方程数值解法

Matlab常微分方程数值解法

matlab用龙格库塔法求解变系数常微分方程

matlab微分方程的解?

MATLAB解决常微分方程