Matlab学习笔记(四)

本文介绍了如何使用Matlab进行微分方程(组)的数值求解,包括一阶常微分方程的ode45和ode23方法,以及代数方程(组)的求根,展示了不同示例的解决过程。同时,还涵盖了多项式的表示、四则运算及其在Matlab中的实现。
摘要由CSDN通过智能技术生成

主要内容(大概)

一、微分方程(组)求解: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 &lt; x &lt; 4 y&#x27;=y-\frac{2x}{y}, y(0)=1,0&lt;x&lt;4 y=yy2x,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&#x27;&#x27;+(y^2-1)y&#x27;+y=0,y(0)=0.25,y(0)&#x27;=0 y+(y21)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˙(y121)y2y1]

初始条件:

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

  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
学习MATLAB时,编写学习笔记是一种很好的方法,可以帮助您记录重要的概念、语法和技巧,以及解决问题的步骤。以下是一些关于编写MATLAB学习笔记的建议: 1. 组织结构:使用清晰的标题和分节来组织您的学习笔记。将不同的主题分成单独的部分,并使用子标题来进一步细分内容。 2. 内容概要:在每个部分或子标题下,写下该主题的概要。这样可以帮助您回顾和理解该主题的关键点。 3. 示例代码和输出:对于每个主题,包括一些示例代码和相应的输出结果。这有助于您理解和演示具体的MATLAB语法和功能。 4. 问题与解答:如果您在学习过程中遇到了一些困惑或问题,将其记录下来,并在笔记中提出并解答这些问题。这样可以帮助您深入思考并加深对该主题的理解。 5. 笔记补充:除了基本概念和语法外,您还可以添加一些额外的笔记,如最佳实践、编程技巧、常见错误等。这些额外的笔记可以提供更多的实用信息和提示。 6. 参考资料:在您的学习笔记中,包括引用的参考资料,如教程、文档、书籍或网站链接。这样,您可以随时回顾并深入研究相关的主题。 7. 总结和复习:在学习笔记的结尾,添加一个总结部分,回顾和总结您学到的重点和关键概念。此外,定期复习您的学习笔记也是加深理解和记忆的好方法。 以上是关于编写MATLAB学习笔记的一些建议。希望这对您有所帮助,并祝您在MATLAB学习过程中取得成功!如果有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值