日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Simulink里的S函数介绍(Matlab-1)

發(fā)布時(shí)間:2023/12/9 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Simulink里的S函数介绍(Matlab-1) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在simulink中,S-函數(shù)是系統(tǒng)函數(shù)(System Function)的簡稱,S函數(shù)是一種非常有用的一個(gè)模塊,經(jīng)常用來描述控制算法,模型方程,是一個(gè)比較常見的模塊。

S函數(shù)包括一個(gè)主函數(shù),主函數(shù)里面有三個(gè)子函數(shù),主函數(shù)一般都是如下形式:

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

switch flag,

case 0,

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

case 1,

??? sys=mdlDerivatives(t,x,u);

case 3,

??? sys=mdlOutputs(t,x,u);

case {2, 4, 9 }

??? sys = [];

otherwise

??? error(['Unhandled flag = ',num2str(flag)]);

end

而子函數(shù)包括:模型初始化 Initialization函數(shù);微分函數(shù)描述的mdlDerivative函數(shù);mdlOutput輸出函數(shù)。

以一個(gè)簡單的二階系統(tǒng)為例:

?也可以寫成狀態(tài)方程表達(dá)式:

?

?

使用S函數(shù)對該系統(tǒng)進(jìn)行描述,輸入為u,輸出為速度和位移,假設(shè)初始位置和速度均為0;

1.Initialization函數(shù):

function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes; % 生成 sizes 數(shù)據(jù)結(jié)構(gòu)
sizes.NumContStates = 2; % 連續(xù)狀態(tài)數(shù),缺省則為 0,倆個(gè)狀態(tài)為速度和位移。
sizes.NumDiscStates = 0; % 離散狀態(tài)數(shù),缺省則為 0
sizes.NumOutputs = 2; % 輸出量個(gè)數(shù),缺省則為 0,倆個(gè)輸出為速度和位移。
sizes.NumInputs = 1; % 輸入量個(gè)數(shù),缺省則為 0,輸入為u
sizes.DirFeedthrough =0; % 有無直接饋入,有取 1,無取 0,缺省為 1。表示輸入信號是否直接在輸出端出現(xiàn)。
sizes.NumSampleTimes = 1; % 連續(xù)采樣時(shí)間
sys = simsizes(sizes); % 返回 sizes 數(shù)據(jù)結(jié)構(gòu)所包含的信息
x0 = [00]; %初始狀態(tài)的值,初始為0.
str = []; % 保留變量,可以忽略
ts = [0 0]; % 采樣時(shí)間:[采樣周期 偏移量],取 0 則表示為連續(xù)系統(tǒng)

2.mdlDerivatives函數(shù):

function sys=mdlDerivatives(t,x,u)

m= 3; %設(shè)置m

dt = sin(t); %設(shè)置d(t)

ut = u(1); %輸入u;

sys(1)= x(2);

sys(2)= 1/m * (ut + dt) ; %狀態(tài)空間表達(dá)式

3.mdlOutputs函數(shù)

function sys = mdlOutputs(t,x,u)

sys(1)= x(1);

sys(2)= x( 2); %狀態(tài)空間方程輸出

?

總結(jié)

以上是生活随笔為你收集整理的Simulink里的S函数介绍(Matlab-1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。