• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: Matlab
  • 标签: matlab  S函数  

资源简介

这是汽车三自由度非线性状态微分方程的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

评论

共有 条评论