資源簡介
這是汽車三自由度非線性狀態微分方程的matlab的s函數代碼,以及相應的代碼注釋
代碼片段和文件信息
function?[sysx0strts]?=?csfunc(txuflagmabIzB1C1D1D2E1)
B1=10.3;C1=1.3;D1=-8.153599999999999e+03;E1=-1.05;D2=-4.390499999999999e+03;%后輪439.04
Iz=3885;m=1500;a=1.463;b=1.585;
switch?flag???????????????????????????????????????????????%根據參數flag切換操作
??case?0
????[sysx0strts]=mdlInitializeSizes(B1C1D1D2E1);???????????????%初始化模塊,如果flag=0,調用mdlInitializeSizes函數,傳遞參數txu,輸出為sysx0strts
??case?1
????sys=mdlDerivatives(txumabIzB1C1D1D2E1);???%連續狀態計算模塊,如果flag=1,調用mdlDerivatives函數,傳遞參數txu,輸出為sys
??case?3
????sys=mdlOutputs(txu);?????????%輸出模塊,如果flag=3,調用mdlOutputs函數,傳遞參數txu,輸出為sys
??case{249}
????sys=[];?????????????????????????????????
??otherwise
????DAStudio.error(‘Simulink:blocks:unhandledFlag‘?num2str(flag));%如果flag不是上述值,提示輸入錯誤
end
function?[sysx0strts]=mdlInitializeSizes(B1C1D1D2E1)?
sizes?=?simsizes;??????????????????????????????????????????%用于設置模塊參數的結構體用simsizes來生成
sizes.NumContStates
評論
共有 條評論