matlab画函数微分图,【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法...

本篇博客详细介绍了如何使用MATLAB的ode45函数求解二阶微分方程,并绘制dy/dt和y的曲线图。通过将原方程转化为ode45可理解的形式,设置初始值和时间范围,然后分别对m=1和m=2的情况进行计算,最终在同一图中展示了两个子图,比较了不同m值下的结果。
摘要由CSDN通过智能技术生成

朋友问题: 有微分方程如下:

m d 2 y d t 2 + d y d t e x p ( t ) − y 2 = 5 m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+dtdy​exp(t)−y2=5

其中,y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / d t ( t = 0 ) = − 10 dy/dt (t=0) = -10dy/dt(t=0)=−10。

请在区间[ 0 , 5 ] [0, 5][0,5]内绘制两个子图,分别为d y / d t dy/dtdy/dt与y yy,每个子图涵盖m = 1 m=1m=1与m = 2 m=2m=2两种情况。

所以本题的核心问题在于:用数值计算的方法求解该方程,得到各点,绘制点图。

使用 matlab 自带的 ode45 ,方程组用句柄表示。

ode45 参见教程:如何使用ODE45

首先把题目方程转换,转换为 ode45 能理解的方式。

先声明变量:

y 1 = y y 2 = y ′ \begin{aligned} y_1 & = y \\ y_2 & = y' \\ \end{aligned}y1​y2​​=y=y′​

于是整理方程:

y 1 ′ = y 2 y 2 ′ = 1 m ( 5 − y 1 ′ e y 1 + y 1 2 ) \begin{aligned} y_

要求微分方程组的平衡点,可以通过以下步骤使用MATLAB实现: 1. 定义微分方程组的函数,例如: ```matlab function dxdt = myode(t, x) % 定义微分方程组 dxdt(1) = x(2); dxdt(2) = -x(1) - x(2); % 定义平衡点 p = [0; 0]; % 计算在平衡点的导数 dpdt = [0; 0]; % 计算在平衡点的雅可比矩阵 A = [0, 1; -1, -1]; % 计算在平衡点的特征值 eig(A) end ``` 2. 使用MATLAB的`fsolve`函数求解平衡点,例如: ```matlab options = optimoptions('fsolve','Display','none'); x0 = [0; 0]; % 初始猜测 [x, fval] = fsolve(@(x) myode(0, x), x0, options); ``` 其中,`fsolve`函数的第一个参数一个匿名函数,用于求解平衡点;第二个参数是初始猜测;第三个参数是选项,用于控制求解过程。 3. 输出平衡点和特征值,例如: ```matlab disp(['平衡点:(', num2str(x(1)), ', ', num2str(x(2)), ')']); disp(['特征值:', num2str(eig(A))]); ``` 完整代码示例: ```matlab function dxdt = myode(t, x) % 定义微分方程组 dxdt(1) = x(2); dxdt(2) = -x(1) - x(2); % 定义平衡点 p = [0; 0]; % 计算在平衡点的导数 dpdt = [0; 0]; % 计算在平衡点的雅可比矩阵 A = [0, 1; -1, -1]; % 计算在平衡点的特征值 eig(A) end options = optimoptions('fsolve','Display','none'); x0 = [0; 0]; % 初始猜测 [x, fval] = fsolve(@(x) myode(0, x), x0, options); disp(['平衡点:(', num2str(x(1)), ', ', num2str(x(2)), ')']); disp(['特征值:', num2str(eig(A))]); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值