控制系统的matlab仿真与设计.docx
《控制系统的matlab仿真与设计.docx》由会员分享,可在线阅读,更多相关《控制系统的matlab仿真与设计.docx(15页珍藏版)》请在冰豆网上搜索。
控制系统的matlab仿真与设计
第二章:
2.1x=[15223394857760]
x(6)
x([135])
x(4:
end)
x(find(x>70))
2.2T=[1-23-42-3];
n=length(T);
TT=T';
fork=n-1:
-1:
0
B(:
n-k)=TT.^k;
end
B
test=vander(T)
2.3A=zeros(2,5);
A(:
)=-4:
5
L=abs(A)>3
islogical(L)
X=A(L)
2.4A=[4,15,-45,10,6;56,0,17,-45,0]
find(A>=10&A<=20)
2.5p1=conv([1,0,2],conv([1,4],[1,1]));
p2=[1011];
[q,r]=deconv(p1,p2);
cq='商多项式为';cr='余多项式为';
disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])
2.6A=[111213;141516;171819];
PA=poly(A)
PPA=poly2str(PA,'s')
第三章:
3.1n=(-10:
10)';
y=abs(n);
plot(n,y,'r.','MarkerSize',20)
axisequal
gridon
xlabel('n')
3.2x=0:
pi/100:
2*pi;
y=2*exp(-0.5*x).*sin(2*pi*x);
plot(x,y),gridon;
3.3t=0:
pi/50:
2*pi;
x=8*cos(t);
y=4*sqrt
(2)*sin(t);
z=-4*sqrt
(2)*sin(t);
plot3(x,y,z,'p');
title('Linein3-DSpace');
text(0,0,0,'origin');
xlabel('X'),ylable('Y'),zlable('Z');grid;
3.4theta=0:
0.01:
2*pi;
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho,'k');
3.5[x,y,z]=sphere(20);
z1=z;
z1(:
1:
4)=NaN;
c1=ones(size(z1));
surf(3*x,3*y,3*z1,c1);
holdon
z2=z;
c2=2*ones(size(z2));
c2(:
1:
4)=3*ones(size(c2(:
1:
4)));
surf(1.5*x,1.5*y,1.5*z2,c2);
colormap([0,1,0;0.5,0,0;1,0,0]);
gridon
holdoff
第四章:
1.factor:
functionf=factor(n)
ifn<=1
f=1;
else
f=factor(n-1)*n;
end
2.fcircle:
function[s,p]=fcircle(r)
s=pi*r*r;
p=2*pi*r;
3.jcsum1:
functionk=jcsum1(n)
k=0;i=0;
whilei<=n
k=k+2^i;
i=i+1;
end
4.jcsum:
functionk=jcsum(n)
k=0;
fori=0:
n
k=k+2^i;
end
4.1form=100:
999
m1=fix(m/100);
m2=rem(fix(m/10),10);
m3=rem(m,10);
ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3
disp(m)
end
end
4.2[s,p]=fcircle(10)
4.3y=0;n=100;
fori=1:
n
y=y+1/i/i;
end
y
4.4s=0;
fori=1:
5
s=s+factor(i);
end
s
第五章:
1.fxyz:
functionf=fxyz(u)
x=u
(1);y=u
(2);z=u(3);
f=x+y.^2./x/4+z.^2./y+2./z;
5.1A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];
b=[13,-9,6,0]';
x=A\b
5.2[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5])
5.3X=linspace(0,2*pi,50);
Y=sin(X);
P=polyfit(X,Y,3)
AX=linspace(0,2*pi,50);
Y=sin(X);
Y1=polyval(P,X)
plot(X,Y,':
O',X,Y1,'-*')
5.4x=0:
2.5:
10;
h=[0:
30:
60]';
T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];
xi=[0:
0.5:
10];
hi=[0:
10:
60]';
temps=interp2(x,h,T,xi,hi,'cubic');
mesh(xi,hi,temps);
第六章:
6.1symsx
y=finverse(1/tan(x))
6.2symsxy
f=1/(1+x^2);g=sin(y);
fg=compose(f,g)
6.3symsx
g=(exp(x)+x*sin(x))^(1/2);
dg=diff(g)
6.4F=int(int('x*exp(-x*y)','x'),'y')
6.7f=solve('a*x^2+b*x+c')
6.8f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')
6.10a=maple('simplify(sin(x)^2+cos(x)^2);')
6.12symstx
F=sin(x*t+2*t);
L=laplace(F)
第七章:
1.ww:
function[sys,x0,str,ts]=ww(t,x,u,flag)
%定义连续系统的S函数
A=[0,1;-0.4,-0.2];
B=[0;0.2];
C=[1,0];
D=0;
switchflag,
case0,
[sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D);
case1,
sys=mdlDerivatives(t,x,u,A,B,C,D);
case2,
sys=mdlUpdate(t,x,u);
case3,
sys=mdlOutputs(t,x,u,A,B,C,D);
case4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
case9,
sys=mdlTerminate(t,x,u);
otherwise
error(['Unhandledflag=',num2str(flag)]);
end
%=============================================================================
function[sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D)
sizes=simsizes;
sizes.NumContStates=2;
sizes.NumDiscStates=0;
sizes.NumOutputs=1;
sizes.NumInputs=1;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[0;0];
str=[];
ts=[00];
%=============================================================================
functionsys=mdlDerivatives(t,x,u,A,B,C,D)
sys=A*x+B*u;
%=============================================================================
functionsys=mdlUpdate(t,x,u)
sys=[];
%=============================================================================
functionsys=mdlOutputs(t,x,u,A,B,C,D)
sys=C*x+D*u;
%=============================================================================
functionsys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime=1;
sys=t+sampleTime;
%=============================================================================
functionsys=mdlTerminate(t,x,u)
sys=[];
7.1
7.2
7.3
7.4
7.5
7.6
7.7
第八章:
8.1
(1)num=[5];den=[1,2,2];
sys=tf(num,den)
(2)s=tf('s');
H=[5/(s^2+2*s+2)];
H.inputdelay=2
(3)h=tf([0.5,0],[1,-0.5,0.5],0.1)
8.2num=2*[1,0.5];den=[1,0.2,1.01];
sys=tf(num,den)
[z,p,k]=tf2zp(num,den);
zpk(z,p,k)
[A,B,C,D]=tf2ss(num,den);
ss(A,B,C,D)
8.3num=[1,5];den=[1,6,5,1];ts=0.1;
sysc=tf(num,den);
sysd=c2d(sysc,ts,'tustin')
8.4
(1)
%对系统方框图每个环节进行编号,有8个通道,列写每个通道传递函数
r1=1;r2=2;c1=3;c2=4;
G1=r1;G2=tf(1,[c1,0]);
G3=1;%是分离点和汇合点的连线,不能合并,传函为1
G4=-1;G5=1/r2;
G6=tf(1,[c2,0]);G7=-1;G8=-1;
%建立无连接的状态空间模型
G=append(G1,G2,G3,G4,G5,G6,G7,G8)
%写出系统的连接矩阵
Q=[140%通道1的输入是通道4
217%通道2的输入是通道1,7
320
420
538
650
750
860];%负号在传函中体现
%列出系统的总的输入和输出端的编号
inputs=1;outputs=6;
%生成组合后系统的状态空间模型