intr.asv

来自「some simulation of dtc coommand my name 」· ASV 代码 · 共 101 行

ASV
101
字号
function [sys,x0,str,ts]=zon(t,x,u,flag)
%dispath the flag.the switch function controls the calls to
%s_function routines at each simulation stage.
switch flag,
case 0
   [sys,x0,str,ts]=Initialisation;
   
case 1
   sys=Calcul_vecteur;
   
case 3
   sys=Calcul_sortie(ccpl,cflx,N)
   
case {2,4,9}
   sys=[];
   
otherwise
   error(['unhandled flag=',num2str(flag)]);
end

function [sys,x0,str,ts]=Initialisation;

sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=0;
sizes.NumOutputs=3;
sizes.NumInputs=3;
sizes.DirFeedthrough=0;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[-1 0];
function sys=Calcul_vecteur;
V1=[0 0 0];
V2=[1 0 0];
V3=[1 1 0];
V4=[0 1 0];
V5=[0 1 1];
V6=[0 0 1];
V7=[1 0 1];
V8=[1 1 1];
%affichage des grandeur d entree
ccpl=u(1);
cflx=u(2);
 N=u(3);
    
                    if ccpl==1 & cflx==1 & N==1
    sys=V3
                elseif ccpl==1 & cflx==1 & N==2
    sys=V4
                elseif ccpl==1 & cflx==1 & N==3
    sys=V5
                elseif ccpl==1 & cflx==1 & N==4
    sys=V6
                elseif ccpl==1 & cflx==1 & N==5
    sys=V7
                elseif ccpl==1 & cflx==1 & N==6
    sys=V2
                elseif ccpl==1 & cflx==0 & N==1
    sys=V4
                elseif ccpl==1 & cflx==0 & N==2
    sys=V5
                elseif ccpl==1 & cflx==0 & N==3
    sys=V6
                elseif ccpl==1 & cflx==0 & N==4
    sys=V7
                elseif ccpl==1 & cflx==0 & N==5
    sys=V2
                elseif ccpl==1 & cflx==0 & N==6
    sys=V3
                elseif ccpl==0 & cflx==1 & N==1
    sys=V1
                elseif ccpl==0 & cflx==1 & N==2
    sys=V1
                elseif ccpl==0 & cflx==1 & N==3
    sys=V1
                elseif ccpl==0 & cflx==1 & N==4
    sys=V1
                elseif ccpl==0 & cflx==1 & N==5
    sys=V1
                elseif ccpl==0 & cflx==1 & N==6
    sys=V1
                elseif ccpl==0 & cflx==0 & N==1
    sys=V8
                elseif ccpl==0 & cflx==0 & N==2
    sys=V8
                elseif ccpl==0 & cflx==0 & N==3
    sys=V8
                elseif ccpl==0 & cflx==0 & N==4
    sys=V8
                elseif ccpl==0 & cflx==0 & N==5
    sys=V8
                elseif ccpl==0 & cflx==0 & N==6
    sys=V8
                    end
                    case {1,2,4,9}
                        sys=[];
                        error(['unhandled flag='num2str(flag)]);
end;
         

⌨️ 快捷键说明

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