主要内容(大概)
一、微分方程(组)求解:desolve、ode45、ode23、ode15s
二、代数方程(组)求根:solve、fzero、fsolve
三、多项式的表示、四则运算:poly2sym、poly_add、conv、deconv
四、有理函数的分解:residue
目录
微分方程(组)求解
代数方程(组)求根
多项式的表示、四则运算
微分方程(组)求解
↶
用Matlab求解常微分方程(组)
1、符号命令
dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
2、数值命令
[t, x]=solver(’f’, ts, x0, options) % 这里的solver可以是ode45 ode23 ode15s
ode23比ode45更快,ts是解的区间,
x0是应变量初值(可能是向量)对应于结果的x,options是误差
一阶常微分方程IVP
例1:求解下列微分方程的解析解和数值解
y ′ = y − 2 x y , y ( 0 ) = 1 , 0 < x < 4 y'=y-\frac{2x}{y}, y(0)=1,0<x<4 y′=y−y2x,y(0)=1,0<x<4
(1)解析解
clear
dsolve('Dy = y - 2*x/y', 'y(0) = 1', 'x')
% 结果
ans = (2*x + 1)^(1/2)
(2)数值解
clear
odefun = @(t,y) y-2*t/y; % 定义局部函数
[t, Y] = ode45(odefun, 0:0.1:4, 1); % 调用Matlab命令
plot(t, Y, 'o-') %画数值解的图
hold on
t1 = 0:0.1:4; y1 = sqrt(1+2*t1); % 画解析解的图
plot(t1, y1, '*-')
著名的Van der Pol方程
例:求著名的Van der Pol方程的数值解,并绘制时间响应曲线和转态轨迹图
y ′ ′ + ( y 2 − 1 ) y ′ + y = 0 , y ( 0 ) = 0.25 , y ( 0 ) ′ = 0 y''+(y^2-1)y'+y=0,y(0)=0.25,y(0)'=0 y′′+(y2−1)y′+y=0,y(0)=0.25,y(0)′=0
步骤1:转化为一阶线性微分方程组IVP
令 : y 1 = y , y 2 = y ˙ 令:y_{1}=y,y_{2}=\dot{y} 令:y1=y,y2=y˙
降为一阶微分方程组:
Y ˙ = [ y 1 ˙ y 2 ˙ ] = [ y 2 ˙ − ( y 1 2 − 1 ) y 2 − y 1 ] \dot{Y}=\begin{bmatrix} \dot{y_{1}}\\\dot{y_{2}} \end{bmatrix} = \begin{bmatrix} \dot{y_{2}}\\-(y_{1}^{2}-1)y_{2}-y_{1} \end{bmatrix} Y˙=[y1˙y2˙]=[y2˙−(y12−1)y2−y1]
初始条件:
Y 0 = [ y 1 ( 0 ) y 2 ( 0 ) ] = [ 0.25 0 ] Y_{0}=\begin{bmatrix} y_{1}(0)\\y_{2}(0) \end{bmatrix} = \begin{bmatrix} 0.25\\0\end{bmatrix} Y0=[y1(0)y