當前位置:吉日网官网 - 錢幣收藏 - 在matlab中哪裏可以找到S函數模板?

在matlab中哪裏可以找到S函數模板?

在matlab的工作區輸入edit sfuntmpl(這是matlab自己提供的S函數模板),我們來看壹下詳細分析S函數的結構。

它的第壹行是這樣的:

function [sys,x0,str,ts]=sfuntmpl(t,x,u,flag)

先說輸入輸出變量的含義:T是采樣時間,X是狀態變量,U是輸入(是simulink模塊的輸入),flag是仿真過程中的狀態標誌(用來判斷是初始化還是運行等。);sys的輸出根據不同的標誌而不同(sys的含義下面會結合標誌來討論),x0是狀態變量的初始值,str是保留參數(mathworks公司還沒有決定如何使用,通常只是在初始化時留空,str=[]),ts是1×2的向量,ts(1)是采樣周期,ts。

下面用sfuntmpl.m中的代碼來說壹下具體的結構:

切換標誌,% 1判斷標誌,看它當前處於哪個狀態。

案例0,

[sys,x0,str,ts]= mdlInitializeSizes;

Flag=0表示它處於初始化狀態。此時,它用函數mdlInitializeSizes初始化。這個函數在sfuntmpl.m的149行我們找他。在初始化狀態下,sys是壹個結構,用來設置模塊的壹些參數。每個參數詳細描述如下。

size = simsizes%用於設置模塊參數的結構是由simsizes生成的。

尺寸。NumContStates = 0;%模塊的連續狀態變量的數量

尺寸。NumDiscStates = 0;%模塊的離散狀態變量的數量

尺寸。NumOutputs = 0;%模塊輸出變量的數量

尺寸。NumInputs = 0;%模塊輸入變量的數量

尺寸。dir feed through = 1;%模塊有直通嗎(直通是我的理解輸入可以直接控制輸出)

尺寸。NumSampleTimes = 1;% module的采樣次數,至少壹次。

sys = simsizes(大小);%設置後分配給系統輸出。

  • 上一篇:哈弗h6怎麽聽歌
  • 下一篇:什麽時候上帝保佑了秦並給了攝政王國璽?
  • copyright 2024吉日网官网