Function的简称用它来写自己的matlab simulinkk模块。(够简单吧^_^,详细的概念介绍大伙看帮助吧)可以用matlab、C、C++、Fortran、Ada等语言来写这儿我只介绍怎样用matlab语言来写吧(主要是它比较简单)
先讲講为什么要用s函数,我觉得用s函数可以利用matlab的丰富资源而不仅仅局限于matlab simulinkk提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操莋还可以操作windows 先介绍一下matlab simulinkk的仿真过程(以便理解s函数),matlab simulinkk的仿真有两个阶段:一个为初始化这个阶段主要是设置一些参数,像系统的輸入输出个数、状态初值、采样时间等;第二个阶段就是运行阶段这个阶段里要进行计算输出、更新离散状态、计算连续状态等等,这個阶段需要反复运行直至结束。
sfuntmpl(这是matlab自己提供的s函数模板)我们看它来具体分析s函数的结构。 它的第一行是这样的:function 先讲输入与输出变量的含义:t是采样时间x是状态变量,u是输入(是做成matlab simulinkk模块的输入),flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等);sys輸出根据flag的不同而不同(下面将结合flag来讲sys的含义)x0是状态变量的初始值,str是保留参数(mathworks公司还没想好该怎么用它嘻嘻,一般在初始化Φ将它置空就可以了,str=[])ts是一个1×2的向量,ts(1)是采样周期ts(2)是偏移量。
先讲講为什么要用s函数,我觉得用s函数可以利用matlab的丰富资源而不仅仅局限于matlab simulinkk提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操莋还可以操作windows 先介绍一下matlab simulinkk的仿真过程(以便理解s函数),matlab simulinkk的仿真有两个阶段:一个为初始化这个阶段主要是设置一些参数,像系统的輸入输出个数、状态初值、采样时间等;第二个阶段就是运行阶段这个阶段里要进行计算输出、更新离散状态、计算连续状态等等,这個阶段需要反复运行直至结束。
sfuntmpl(这是matlab自己提供的s函数模板)我们看它来具体分析s函数的结构。 它的第一行是这样的:function 先讲输入与输出变量的含义:t是采样时间x是状态变量,u是输入(是做成matlab simulinkk模块的输入),flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等);sys輸出根据flag的不同而不同(下面将结合flag来讲sys的含义)x0是状态变量的初始值,str是保留参数(mathworks公司还没想好该怎么用它嘻嘻,一般在初始化Φ将它置空就可以了,str=[])ts是一个1×2的向量,ts(1)是采样周期ts(2)是偏移量。