smmod.m

来自「关于电机的.m程序」· M 代码 · 共 34 行

M
34
字号
% Synchronous machine model
function [f,x0]=smmod(t,x,u,flag,R,L,Hi,wo,ic)
Ra=R(1);
Rf=R(2);
Rkd=R(3);
Rkq=R(4);
switch flag,
  case 1,
              flux=[x(1) x(2) x(3) x(4) x(5)]'; cur=L\flux ;
%               Dynamic equations of synchronous machine :
       f(1)=wo*(-u(1)*sin(x(7))-Ra*cur(1)+x(6)*x(2)); 
       f(2)=wo*(u(1)*cos(x(7))-x(6)*x(1)-Ra*cur(2));
       f(3)=wo*(u(2)-Rf*cur(3));
       f(4)=wo*(-Rkd*cur(4));
       f(5)=wo*(-Rkq*cur(5));
       f(6)=(cur(2)*x(1)-cur(1)*x(2)-u(3))/(2*Hi);
       f(7)=wo*(1-x(6));
    case 3,
%              Outputs      
              flux=[x(1) x(2) x(3) x(4) x(5)]'; cur=L\flux ;
        f(1)=cur(1);
        f(2)=cur(2);      
        f(3)=cur(3);      
        f(4)=cur(2)*x(1)-cur(1)*x(2);
        f(5)=x(6);
        f(6)=-x(7)*180/pi;
    case 0,
         f=[7,0,6,3,0,0];
         x0=ic;
    case {2,4,9},
         f=[];
   otherwise
         error(['unhandled flag = ',num2str(flag)]);
 end     

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?