Simulin金宝appk上的Guy

金宝appSimulink &基于模型的设计

MATLAB系统块

在R2013b中,您将注意到Simulink库浏览器中的一个新块金宝appMATLAB系统块

Simulink库中的MATLAB系统块金宝app

系统对象

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

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

在R2011a,介绍了系统工具箱.这些工具箱构建在System对象之上,使您能够(在MATLAB或Simulink中)设计适合快速仿真、实时原型和嵌入式实现的信号处理算法。金宝app

从R2011b开始,用户可以创建自定义系统对象在MATLAB。为了在Simulink中包含这些系统对象,可以使用MATLAB函数块,金宝app但它需要一些技巧(如本文所示).

在R2013b中,MATLAB系统块使得在Simulink中使用自定义系统对象非常容易。金宝app

一个简单的例子

为了说明在MATLAB和Simulink中使用System对象的概念,我做了一个金宝apptimesTwo对象的系统对象AddOne示例包括文档。

为此,我所需要的就是创建一个新的类文件,该文件继承自matlab。系统类。然后我把我的块的方程放在stepImpl方法:

简单系统对象

我可以在MATLAB中使用这个System对象,只需两行代码:

在MATLAB中使用的简单系统对象

在Si金宝appmulink中,它就像拖动块一样简单,并指定对象的名称:

Simulink中使用的简单系统对象金宝app

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

前面的示例过于简单,无法突出MATLAB System块的功能。使用System对象,您将发现大量用于设置属性的方法输出信号输入信号。您甚至可以找到管理MATLAB系统块的方法图标和对话框

在接下来的几周里,我将继续在MATLAB系统块上发表一系列文章,以突出其更多的功能。今天,我将留给你们一个单位延迟的例子。当在MATLAB系统块中使用下面的代码时,输入被标记为非直接馈通。这使得在循环中使用此块而无需创建代数循环

单位延迟系统对象

现在轮到你了

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

尝试MATLAB系统块,让我们知道你的想法留下一个这里的评论

|

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。