1、微分方程的基本概念
微分方程指的是含有未知函数及其倒数的方程。
常微分方程(ODE)指的是仅含有一个独立变量的微分方程。如果微分方程中的未知函数包含两个或者两个以上的独立变量,则称为偏微分方程。
特解:满足微分方程的某一个解。
通解:满足微分方程的一组解。
在给微分方程添加附加条件时,如果附加条件中
-
未知函数及其导数的独立变量取值相同,称为初值问题。
-
未知函数及其导数的独立变量取值不同,成为边值问题。
2、微分方程的求解
■dsolve函数可以用来求解微分方程。
■S=dsolve(eqn):用来求解由eqn确定的微分方程,里面用diff,==来表示等号。
■S=dsolve(eqn,cond):可以为方程添加cond所指定的初值或者边界条件。
■可以在后面添加属性名称和值。
■[y1,…,yn]=dsolve( _ ):求解常微分方程组。
■R2019b以后的版本,不支持以字符向量或者字符串作为方程的输入。
如:dsolve(‘Dy=y’)应以symsy(t);dsolve(diff(y,t)==y);来替代。
%求解一阶常微分方程:dy/dt=ay.初始条件为y(0)=5.
eqn=diff(y,t)==a*y;
cond=y(0)==5;
s=dsolve(eqn,cond);
求解二阶常微分方程
d
2
y
d
u
2
=
a
2
y
\frac{d^{2}y}{du^{2}}=a^{2}y
du2d2y=a2y
初始条件为y(0)=b和y`(0)=1.
>>syms y(t) a b
eqn=diff(y,t,2) == a^2*y;
Dy=diff(y,t);
cond=[y(0)==b,Dy(0)==1];
s=dsolve(eqn,cond);
求解常微分方程组
d
y
d
z
=
z
\frac{dy}{dz}=z
dzdy=z
d
z
d
t
=
−
y
\frac{dz}{dt}=-y
dtdz=−y
>>syms y(t) z(t)
eqns=[diff(y,t)==z,diff(z,t)==-y];
S=dsolve(eqns);
[S1,S2]=dsolve(eqns);
有些微分方程无法给出显式解,那么可以用属性’Implicit’来计算它的隐式解。
3、常微分方程的数值解法
①欧拉法
②龙格库塔法
4、偏微分方程