前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab-微分方程求解方法汇总

matlab-微分方程求解方法汇总

作者头像
用户9925864
发布2022-07-27 09:44:42
1.2K0
发布2022-07-27 09:44:42
举报
文章被收录于专栏:算法工程师的学习日志

之前零零散散写了一些matlab中微分方程求解方法,本文做个汇总和一些补充。

方法1:方向场

假定方程表达式为如下

代码语言:javascript
复制
[x,y]=meshgrid(0:.1:2,0:.1:1.5);
dy=1-y;
dx=ones(size(dy));
quiver(x,y,dx,dy)
axis([0,2,0,1.5])
xlabel('x')
ylabel('y')

mesh命令设置xy网格。在这种情况下,x在[0,2]和y在[0,1.5]。在这种情况下,网格间距是0.1。让dy =1 -y, dx =1。

quiver命令在(x,y)处产生一个向量(dx,dy)。每个向量的斜率是dy/dx。

axis标记了坐标轴,并提供了一个窗口,其中xmin=0, xmax=2, ymin=0, ymax=1.5。

quiver函数说明:quiver(X,Y,U,V) 在由 X 和 Y 指定的笛卡尔坐标上绘制具有定向分量 U 和 V 的箭头。例如,第一个箭头源于点 X(1) 和 Y(1),按 U(1) 水平延伸,按 V(1) 垂直延伸。默认情况下,quiver 函数缩放箭头长度,使其不重叠。

这种方法可以看到x和y的相对变化关系

方法2:dsolve方法

代码语言:javascript
复制
sol = dsolve('Dx=2*sin(t)-4*x','x(0)=0','t');
ezplot(sol,[0 10])
xlabel('t'),ylabel('x'), grid

方法3:ode45和其他的ode相关solver

参考:

Matlab通过ode系列函数求解微分方程

matlab微分方程ODE求解器的事件(Event)属性

Matlab求解微分代数方程 (DAE)

方法4:simulink求解

‍参考:

Matlab/Simulink求解微分方程样例分享

几个微分方程求解框图样例

微分方程表达式

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档