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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)