Guy on Simulink

Simulink & Model-Based Design

MATLAB系统块

In R2013b, you will notice a new block in the Simulink Library Browser: TheMATLABSystem block

MATLABSystem block in Simulink Library

系统对象

在查看MATLAB系统块之前,让我们看一下系统对象

在R2010a中,系统对象were introduced在信号处理区块中。与MATLAB函数相反,系统对象是面向对象的算法实现,可以自动管理状态信息,数据索引和缓冲,这在数字信号处理中特别有用。

在R2011a中,引入了系统工具箱。这些工具箱建立在系统对象上,使您有可能设计(MATLAB或SIMULINK)信号处理算法,适合于快速模拟,实时原型制作和嵌入式实现。万博1manbetx

从R2011b开始,用户可以创建铜stom System objects在Matlab。要将这些系统对象包括在Simulink中,可以使用MATLAB功能块,万博1manbetx但需要一些技巧(as shown in this post).

在R2013B中,MATLAB系统块使使用Simulink中的自定义系统对象非常容易。万博1manbetx

A Simple Example

为了说明在MATLAB和SIMULINK中使用系统对象的概念,我做了一个万博1manbetx时间段System object based on the添加example included the documentation.

为此,我所需要的只是创建一个新的类文件,该文件从matlab.System班级。然后我将块的方程式放在Stepimplmethod:

简单的系统对象

I can use this System object in MATLAB with just two lines of code:

MATLAB中使用的简单系统对象

In Simulink, it is as simple a dragging the block, and specifying the name of the object:

Simulink中使用的简单系统对象万博1manbetx

为什么我们需要MATLAB系统块?

上一个示例太简单了,无法突出显示MATLAB系统块的功能。使用系统对象,您将找到大量的方法来设置状态,,,,输出信号和输入信号。您甚至会找到管理MATLAB系统块的方法icon and dialog

在接下来的几周中,我将在MATLAB系统块上进行一系列帖子,以突出显示其更多功能。今天,我将为您提供一个单位延迟的示例。在MATLAB系统块中使用下面的代码时,输​​入标记为非directFeedThrough。这使得可以在循环中使用此块而不创建代数循环

单位延迟系统对象

Now it's your turn

MATLAB系统块具有MATLAB功能块的优点:它是使用MATLAB语言撰写的,可以生成代码。此外,它使您可以控制许多属性,您只能通过C和MATLAB S功能访问这些属性……以及以现代为导向对象的编程风格的所有属性。

Try the MATLAB System block and let us know what you think by leaving a在这里评论

|

Comments

要发表评论,请单击here登录您的数学帐户或创建一个新帐户。