table.m

来自「直接转矩控制源代码,大家共同研究.m文件等.」· M 代码 · 共 68 行

M
68
字号
function sys=mdlOutputs(t,x,u)     % u(1)为磁链开关信号 u(2)转矩开关信号 u(3)为磁链区域信号
if(u(2)==0)                        % 如果转矩开关信号为0,则输出电压开关信号(0, 0, 0)
    sys(1)=0;
    sys(2)=0;
    sys(3)=0;
else                               % 如果转矩开关信号为1                       
    if(u(1)==1)                    % 如果磁链开关信号为1
        switch u(3)
            case 1                 % 如果磁链在区域1
                sys(1)=1;
                sys(2)=1;
                sys(3)=0;
            case 2                 % 如果磁链在区域2  
                sys(1)=0;
                sys(2)=1;
                sys(3)=0;
            case 3                 % 如果磁链在区域3
                sys(1)=0;
                sys(2)=1;
                sys(3)=1;
            case 4                 % 如果磁链在区域4
                sys(1)=0;
                sys(2)=0;
                sys(3)=1;
            case 5                 % 如果磁链在区域5
                sys(1)=1;
                sys(2)=0;
                sys(3)=1;
            case 6                 % 如果磁链在区域6
                sys(1)=1;
                sys(2)=0;
                sys(3)=0; 
            otherwise
                error(['SS!=1 2 3 4 5 6']);            % 如果磁链不在区域1-6则发生错误,终止程序
        end
    else    % u(1)==0
        switch u(3)
            case 1                 % 如果磁链在区域1
                sys(1)=0;
                sys(2)=1;
                sys(3)=0;
            case 2                 % 如果磁链在区域2  
                sys(1)=0;
                sys(2)=1;
                sys(3)=1;
            case 3                 % 如果磁链在区域3
                sys(1)=0;
                sys(2)=0;
                sys(3)=1;
            case 4                 % 如果磁链在区域4
                sys(1)=1;
                sys(2)=0;
                sys(3)=1;
            case 5                 % 如果磁链在区域5
                sys(1)=1;
                sys(2)=0;
                sys(3)=0;
            case 6                 % 如果磁链在区域6
                sys(1)=1;
                sys(2)=1;
                sys(3)=0; 
            otherwise
                error(['SS!=1 2 3 4 5 6']);            % 如果磁链不在区域1-6则发生错误,终止程序
        end
    end
end
        

⌨️ 快捷键说明

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