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 = [0.25;0];
h = 0.1;
a = 0;
b = 20;
[t1 y1] = ode45(@func,y0,h,a,b)
2、对于求解析解的微分方程,你可以用dsolve()函数求解。如求微分方程x*y''+x﹡(y')^2-y'=0的解析解,可以下列步骤计算
>> syms y(x)
>>Dy = diff(y);D2y = diff(y, 2);
>>dsolve(x*D2y+x*(Dy)^2-Dy==0,'x')
1、首先看一下matlab求解方程的方法,首先指明所解方程的变量,然后指明方程,未知数和限制条件,最后求解方程。
2、在matlab命令行窗口中输入syms x [x,params,conds]=solve(sin(x)==1,'ReturnConditions', true) ,按回车键可以得到方程解。
3、转换一下,可以看到sin(x)=1方程的解是如下图所示 。
4、也可以求解下面的一个方程。
5、输入syms a b c y x;[x,y]=solve([a*x^2+b*y+c==0,a*x+2*y==4],[x,y])。
6、按回车键可以得到方程解。
dsolve('D2y=x','x')
ans
=
x^3/6
+
C2*x
+
C3
D2y的意思就是y的二阶微分项
不明白你的问题什么意思,要输入的话直接定义符号变量输入
syms
D2x
x
D2x=x;
如果是矩阵,那就用矩阵表示