如何用matlab求解二阶微分方程,以及程序实例

如何用matlab求解二阶微分方程,以及程序实例,第1张

1、对于求数值解的微分方程,你可以用ode45()函数求解。如求下列微分方程

func。m   %自定义微分方程的函数

function z = func(t,y)

z =[y(2);(1-y(1)^2)y(2)-y(1)];

main。m  %主程序

clear all;close all;clc

y0 = [025;0];

h = 01;

a = 0;

b = 20;

[t1 y1] = ode45(@func,y0,h,a,b)

2、对于求解析解的微分方程,你可以用dsolve()函数求解。如求微分方程xy''+x﹡(y')^2-y'=0的解析解,可以下列步骤计算

>> syms y(x)

>>Dy = diff(y);D2y = diff(y, 2);

>>dsolve(xD2y+x(Dy)^2-Dy==0,'x')

1、打开Matlab软件-->点击新建脚本菜单。

2、新建一个脚本文件用于编写微分方程求解程序。

3、输入微分方程求解程序-->点击保存。

4、然后点击页面上方的运行。

5、这时在matlab的命令窗口即可看到求解结果,是一个关于参数a,b的表达式。

对于一般的微分方程用matlab的dsolve()函数命令求得其解析值(即函数表达式)。例如

1、求的解析值。

syms y(t) a

Dy = diff(y);

D2y = diff(y,2);

dsolve(D2y == -a^2y, y(0) == 1, Dy(pi/a) == 0)

运行结果

y=exp(-at1i)/2 + exp(at1i)/2

式中li(x)=logint(x)  对数积分

2、求的解析值。

syms x(s) a

x = dsolve(diff(x) == -ax, x(0) == 1)

运行结果

x = exp(-as)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12182440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存