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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Matlab 控制】Simulink仿真+S函数例子

發(fā)布時間:2025/4/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Matlab 控制】Simulink仿真+S函数例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Simulink 仿真+S函數(shù)例子

S 函數(shù)代碼如下:

function [sys,x0,str,ts,simStateCompliance] = Eg3_7_SFunction(t,x,u,flag)switch flagcase 0 % 初始化[sys,x0,str,ts,simStateCompliance] = mdlInitializeSizes;case 1 % 計算模塊導(dǎo)數(shù)sys = mdlDerivatives(t,x,u);case 2 % 更新模塊離散狀態(tài)sys = mdlUpdate(t,x,u);case 3 % 計算模塊輸出sys = mdlOutpus(t,x,u);case 4 % 計算下一個采樣時間點sys = mdlGetTimeOfNextVarHit(t,x,u);case 9 % 仿真結(jié)束sys = mdlTerminate(t,x,u);otherwiseDAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag)); endfunction [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes sizes = simsizes; % 用于設(shè)置模塊參數(shù)的結(jié)構(gòu)體用simsizes來生成 sizes.NumContStates = 0; % 系統(tǒng)中的連續(xù)狀態(tài)變量個數(shù)為0 sizes.NumDiscStates = 0; % 系統(tǒng)中的離散狀態(tài)變量個數(shù)為0 sizes.NumOutputs = 1; % 系統(tǒng)的輸出個數(shù)為1 sizes.NumInputs = 1; % 系統(tǒng)的輸入個數(shù)為1 sizes.DirFeedthrough = 1; % 輸入和輸出間不存在直接比例關(guān)系 sizes.NumSampleTimes = 1; % 只有1個采樣時間 sys = simsizes(sizes); % 設(shè)置完后賦給sys輸出 x0 = []; % 設(shè)置狀態(tài)變量的初始值 str = []; % 固定格式 ts = [0 0]; % 該取值對應(yīng)純連續(xù)函數(shù) simStateCompliance = 'UnknownSimState';% 計算模塊導(dǎo)數(shù)子函數(shù) function sys=mdlDerivatives(t,x,u) sys = [];% 更新模塊離散狀態(tài)子函數(shù) function sys=mdlUpdate(t,x,u) sys = [];% 計算模塊輸出子函數(shù) function sys = mdlOutpus(t,x,u) if u >= 0 && u <= 3sys = 0.4 * u; elseif u >= 3 && u <= 16sys = 0.8 * u + 1.39;end end% 計算下一個采樣時間點子函數(shù) function sys=mdlGetTimeOfNextVarHit(t,x,u) sampleTime = 1; sys = t + sampleTime;% 仿真結(jié)束子函數(shù) function sys=mdlTerminate(t,x,u) sys = [];

注意,仿真程序和S函數(shù)不能使用同一個文件名。

仿真器程序如下圖所示:

S-FunctionModel參數(shù)設(shè)置如下:
此處僅需要將S函數(shù)名字改為所編寫的S函數(shù)名字即可。

詳見Github

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的【Matlab 控制】Simulink仿真+S函数例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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