求解微分方程组
{ d u d t = 3 u + 4 v d v d t = − 4 u + 3 v \left\{\begin{array}{l} \frac{{du}}{{dt}} = 3u + 4v \\ \frac{{dv}}{{dt}} = -4u + 3v \end{array}\right. {dtdu=3u+4vdtdv=−4u+3v
%案例一
clear all
clc
syms u(t) v(t)
ode1 = diff(u) == 3*u + 4*v;
ode2 = diff(v) == -4*u + 3*v;
odes = [ode1; ode2]
[uSol(t), vSol(t)] = dsolve(odes)
因为没有指定条件,所以出现常数C1和C2。使用初始条件
u
(
0
)
=
=
0
和
v
(
0
)
=
=
0
u(0)== 0和v(0) == 0
u(0)==0和v(0)==0求解系统。dsolve函数查找满足这些条件的常量的值。
cond1 = u(0) == 0;
cond2 = v(0) == 1;
conds = [cond1; cond2];
[uSol(t), vSol(t)] = dsolve(odes,conds)
%案例一
clear all
clc
syms u(t) v(t)
ode1 = diff(u) == 3*u + 4*v;
ode2 = diff(v) == -4*u + 3*v;
odes = [ode1; ode2]
%[uSol(t), vSol(t)] = dsolve(odes)
cond1 = u(0) == 0;
cond2 = v(0) == 1;
conds = [cond1; cond2];
[uSol(t), vSol(t)] = dsolve(odes,conds)
利用 f p l o t fplot fplot可视化
fplot(uSol)
hold on
fplot(vSol)
grid on
legend('uSol','vSol','Location','best')
求解矩阵微分方程组
{
d
X
d
T
=
x
+
2
y
+
1
y
¨
d
T
=
−
x
+
y
+
t
\left\{\begin{array}{l} \frac{{dX}}{{dT}} = x+2y+1 \\ \frac{{\ddot y}}{{dT}} = -x +y+t \end{array}\right.
{dTdX=x+2y+1dTy¨=−x+y+t
The matrix form of thr system:
[
x
′
y
′
]
=
[
1
2
−
1
1
]
[
x
y
]
+
[
1
t
]
\begin{bmatrix} x'\\ y'\\ \end{bmatrix}=\begin{bmatrix} 1&{2}\\ {}-1&1\\ \end{bmatrix}\begin{bmatrix} x\\ y\\ \end{bmatrix}+\begin{bmatrix} 1\\ t\\ \end{bmatrix}
[x′y′]=[1−121][xy]+[1t]
Let:
Y
=
[
x
y
]
,
A
=
[
1
2
−
1
1
]
,
B
=
[
1
t
]
Y=\begin{bmatrix} x\\ y\\ \end{bmatrix},A=\begin{bmatrix} 1&{2}\\ {}-1&1\\ \end{bmatrix},B=\begin{bmatrix} 1\\ t\\ \end{bmatrix}
Y=[xy],A=[1−121],B=[1t]
The system is now
Y
′
=
A
Y
+
B
Y'=AY+B
Y′=AY+B.
使用dsolve解矩阵方程,利用simple函数简化方案。
[xSol(t), ySol(t)] = dsolve(odes);
xSol(t) = simplify(xSol(t))
ySol(t) = simplify(ySol(t))
因为没有指定条件,所以出现常数C1和C2。
现在使用初始条件u(0)= 2和v(0)=-1求解系统。当以矩阵形式指定方程时,您也必须以矩阵形式指定初始条件。dsolve 查找满足这些条件的常量的值。
C = Y(0) == [2; -1];
[xSol(t), ySol(t)] = dsolve(odes,C)
f
p
l
o
t
fplot
fplot可视化