simulink中的S-Fun与simulink fun

本文介绍了Simulink中两种函数S-Fun和Simulink Fun的区别。S-Fun函数较为复杂,通常用于模型初始化和输出计算,示例展示了其结构和用法。Simulink Fun则更灵活,允许自定义输入输出参数,提供了MSATLAB语言的部分支持。作为初学者的作者分享了自己的学习体验,并欢迎读者交流讨论。
摘要由CSDN通过智能技术生成

前者比较复杂,通常是这样的
function[sys,x0,str,ts]=emf01(t,x,u,flag)
switch flag
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 3,
sys=mdlOutputs(t,x,u);
case 2,
sys=[];
case 9,
sys=[];
otherwise
error([‘unhandled flag=’,num2str(flag)]);
end
function[sys,x0,str,ts]=mdlInitializeSizes()
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=0;
sizes.NumOutputs=3;
sizes.NumInputs=2;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[-1 0];
function sys=mdlOutputs(t,x,u)
global k;
global Pos;
global w;
k=0.060; %V/(r/min)反电动势系数
w=u(1); %转速(rad/s)
Pos=u(2); %角度(rad)
if Pos>=0& Pos<=pi/3
sys=[kw,-kw,kw((-Pos)/(pi/6)+1)];<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值