初识matlab体会,初识Matlab微分方程(6)

这次要接触一个新的求解ode的方法,就是使用simulink的积分器求解。

1.还是做我们研究过的一个例子(在初识matlab微分方程(2)中采用的)。

Dx=y+x(1-x^2-y^2);

Dy=-x+y*(1-x^2-y^2)

初值x=0.1;y=0.2;

积分器中设置初始条件;f(u)中指定Dx,Dy的计算公式。a4c26d1e5885305701be709a3d33442f.png

运行这个仿真,scope中可以看到两个变量的时程如下:

a4c26d1e5885305701be709a3d33442f.png

在WorkSpace里可以得到tout和yout,执行plot(yout(:,1),yout(:,1))得到与ode45求解相似的结果如下

a4c26d1e5885305701be709a3d33442f.png

2.这部分解决一个使用ode求解器dde23没法求解的一类延迟微分方程(中性微分方程)。

形如x'(t)=f(x'(t-t1),x(t),x(t-t2),x(t-t3))这类方程。dde23是无法求解的,但是可以借助simulink仿真求解。

看下面的这个例子。

x'(t)=A1*x(t-t1)+A2*x'(t-t2)+B*u(t)

t1=0.15;t2=0.5

A1=[-12 3 -3] A2=[0.02 0 0] B=[0]

[106 -116 62] [0 0.03 0] [1]

[207 -207 113] [0 0 0.04] [2]

在continuous里找到transport Delay,就可以实现对于信号的延迟,因此可以建立如下仿真模型

a4c26d1e5885305701be709a3d33442f.png

从而在scope中可以得到如下仿真结果

a4c26d1e5885305701be709a3d33442f.png

OK~初识微分方程到了这里我想应该可以做个终结,因为我想作为零基础的材料来看,到这里也就可以了。以后还可能再有微分方程的内容,还请感兴趣的朋友多捧场吧。

最后,大力推荐一本书薛定宇老师的《高等应用数学问题的Matlab求解》,确实很经典。学习Matlab的时间也不算短了,可是每次翻看这本书总是能让我有温故而知新的感觉,是我目前见过的最好的Matlab书。强烈推荐!(对于从来没有接触过matlab的人来说或许有点儿难,但是如果你以后要用matlab的话买一本绝对不会后悔的。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值