|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
如题!
我只知道基于S函数的永磁无刷直流电机本体模块仿真中,实现反电势的S函数的主要程序如下:
function[sys,ean,ebn,ecn]=mdlOutputs(t,x,u,k)
sq3=1.732050808;
pos=u(1);
w=u(2);
sq=0.866025;
per=fix(pos/2/pi)*360;
if(sin(pos)<sq3/2)&(cos(pos)>0.5)&(sin(pos)>=0),
fa=1;fb=-1;fc=((per-pos*180/pi)/30+1);end;
if(sin(pos)>sq3/2)&(abs(cos(pos))<0.5),
fa=1;fb=((pos*180/pi-60-per)/30-1);fc=-1;end;
if(sin(pos)<sq3/2)&(cos(pos)<-0.5)&(sin(pos)>=0),
fa=((per+120-pos*180/pi)/30+1);fb=1;fc=-1;end;
if(sin(pos)>-sq3/2)&(cos(pos)<-0.5)&(sin(pos)<0),
fa=-1;fb=1;fc=((pos*180/pi-180-per)/30-1);end;
if(sin(pos)<-sq3/2)&(abs(cos(pos))<=0.5),
fa=-1,fb=((per+240-pos*180/pi)/30+1);fc=1;end;
if(sin(pos)>-sq3/2)&(cos(pos)>0.5)&(sin(pos)<0),
fa=((pos*180/pi-300-per)/30-1);fb=-1;fc=1;end;
ean=k*w*fa;
ebn=k*w*fb;
ecn=k*w*fc;
sys=[ean ebn ecn];
elseif flag==0,
x0=[];
sys=[2 0 1];
但由于不熟悉S函数格式,不知道完整的程序应当怎么写。
同样,参考电流模块的S函数M文件主要程序如下:
function sys=mdloutput(t,x,u,k)
sq3=1.732050808;
pos=u(1);
sq=0.866025;
per=fix(pos/2/pi)*360;
if(sin(pos)<sq3/2)&(cos(pos)>0.5)&(sin(pos)>=0),
iar=ir;ibr=-ir;icr=0;end;
if(sin(pos)>sq3/2)&(abs(cos(pos))<0.5),
iar=ir;ibr=0;icr=-ir;end;
if(sin(pos)<sq3/2)&(cos(pos)<-0.5)&(sin(pos)>=0),
iar=0;ibr=ir;icr=-ir;end;
if(sin(pos)>-sq3/2)&(cos(pos)<-0.5)&(sin(pos)<0),
iar=-ir;ibr=ir;icr=0;end;
if(sin(pos)<-sq3/2)&(abs(cos(pos))<=0.5),
iar=-ir;ibr=0;icr=ir;end;
if(sin(pos)>-sq3/2)&(cos(pos)>0.5)&(sin(pos)<0),
iar=0;ibr=-ir;icr=ir;end;
sys=[iar ibr icr];
同样只有程序的主要部分,不知道怎样写完整,请各位高手帮帮忙完善一下!
还有就是s-function parameters该怎么设? |
评分
-
1
查看全部评分
-
|