⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sf_mach_asy1.m

📁 some simulation of dtc coommand my name is belmhel ahmed my tel 0797611456
💻 M
字号:
function [sys,x0,str,ts]=sf_mach_asy1(t,x,u,flag,rs,rr,ls,lr,lm,J,P,fc,um)
%rs=4.85;rr=3.805;ls=0.274;lr=0.274;lm=0.258;P=2;J=0.031;fc=0.00114;
rs=5.06;rr=3.10;ls=0.386;lr=0.386;lm=0.374;P=1;J=8.2e-3;fc=0.006;um=0.9;
%rs=4;rr=1.143;ls=0.3676;lr=0.3676;lm=0.3489;P=2;J=0.03;fc=0.00098;

d=1-(lm^2/(ls*lr));
tr=lr/rr;
ad=(1-d)/d;
a=rs/(d*ls)+ad*rr/lr;
b=rr/lr;
c=ad/lm;
k=(P*lm/lr);

switch flag
case 0
   [sys,x0,str,ts]=Initialisation;
   
case 1
   sys=Calcul_Derivee_etat(x,u,rs,rr,ls,lr,lm,P,J,fc,d,ad,a,b,c,k);
   
case 3
   sys=Calcul_Sortie(t,x,u,rs,rr,ls,lr,lm,P,J,fc,d,ad,a,b,c,k);
   
case {2,4,9}
   sys=[];
   
 otherwise
   error(['unhandled flag=',num2str(flag)]);
 end

function [sys,x0,str,ts]= Initialisation;
sizes=simsizes;
sizes.NumContStates=8;
sizes.NumDiscStates=0;
sizes.NumOutputs=11;
sizes.NumInputs=5;
sizes.DirFeedthrough=0;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[0 0 0 0. 0 0 0 0]';
str=[];
ts=[0 0];
function sys=Calcul_etat(x,u,rs,rr,ls,lr,lm,P,J,fc,d,ad,a,b,c,k)
sys(1) = -a*x(1)+u(4)*x(2)+c*b*x(3)+c*x(5)*x(4)+u(1)/d/ls;
sys(2) = -u(4)*x(1)-a*x(2)-c*x(5)*x(3)+c*b*x(4)+u(2)/d/ls;
sys(3) = lm*b*x(1)-b*x(3)+u(5)*x(4);
sys(4) = lm*b*x(2)-u(5)*x(3)-b*x(4);
sys(5) = (P/J)*(k*(x(2)*x(3)-x(1)*x(4))-u(3))-(fc/J)*x(5);
sys(6) = u(4);
sys(7) = u(1)-rs*x(1);
sys(8) = u(2)-rs*x(2);
function sys=Calcul_Sortie(t,x,u,rs,rr,ls,lr,lm,P,J,fc,d,ad,a,b,c,k)
%cr = u(3);
sys(1) = x(1);
sys(2) = x(2);
sys(3) = x(3);
sys(4) = x(4);
sys(5) = x(5);
sys(6) = x(6);
sys(7) = x(7);
sys(8) = k*(x(2)*x(3)-x(1)*x(4));
sys(9) = sqrt(2/3)*(cos(x(6))*x(1)+sin(x(6))*x(2));
sys(10) = x(6);
sys(11) = sqrt(x(7)*x(7)+x(8)*x(8));
function sys=Calcul_Derivee_etat(x,u,rs,rr,ls,lr,lm,P,J,fc,d,ad,a,b,c,k)
sys(1) = -a*x(1)+u(4)*x(2)+c*b*x(3)+c*x(5)*x(4)+u(1)/d/ls;
sys(2) = -u(4)*x(1)-a*x(2)-c*x(5)*x(3)+c*b*x(4)+u(2)/d/ls;
sys(3) = lm*b*x(1)-b*x(3)+u(5)*x(4);
sys(4) = lm*b*x(2)-u(5)*x(3)-b*x(4);
sys(5) = (P/J)*(k*(x(2)*x(3)-x(1)*x(4))-u(3))-(fc/J)*x(5);
sys(6) = u(4);
sys(7)  = u(1)-rs*x(1);
sys(8) = u(2)-rs*x(2);

⌨️ 快捷键说明

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