控制系统的MATLAB仿真与设计课后答案_matlab控制系统与仿真

其他范文 时间:2020-02-28 02:30:59 收藏本文下载本文
【www.daodoc.com - 其他范文】

控制系统的MATLAB仿真与设计课后答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab控制系统与仿真”。

第二章

1>>x=[15 22 33 94 85 77 60] >>x(6)>>x([1 3 5])>>x(4:end)>>x(find(x>70))2>>T=[1-2 3-4 2-3];>>n=length(T);>>TT=T';>>for k=n-1:-1:0 >>B(:,n-k)=TT.^k;>>end >>B >>test=vander(T)3>>A=zeros(2,5);>>A(:)=-4:5 >>L=abs(A)>3 >>islogical(L)>>X=A(L)4>>A=[4,15,-45,10,6;56,0,17,-45,0] >>find(A>=10&A>p1=conv([1,0,2],conv([1,4],[1,1]));>>p2=[1 0 1 1];>>[q,r]=deconv(p1,p2);>>cq='商多项式为 ';cr='余多项式为 ';>>disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])6>>A=[11 12 13;14 15 16;17 18 19];>>PA=poly(A)>>PPA=poly2str(PA,'s')第三章

1>>n=(-10:10)';>>y=abs(n);>>plot(n,y,'r.','MarkerSize',20)>>axis equal >>grid on

>>xlabel('n')2>>x=0:pi/100:2*pi;>>y=2*exp(-0.5*x).*sin(2*pi*x);>>plot(x,y),grid on;3>>t=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('Line in 3-D Space');>>text(0,0,0,'origin');>>xlabel('X'),ylable('Y'),zlable('Z');grid;4>>theta=0:0.01:2*pi;>>rho=sin(2*theta).*cos(2*theta);>>polar(theta,rho,'k');5>>[x,y,z]=sphere(20);>>z1=z;>>z1(:,1:4)=NaN;>>c1=ones(size(z1));>>surf(3*x,3*y,3*z1,c1);>>hold on >>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]);>>grid on >>hold off

第四章

1>>for m=100:999 m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)end endM文件:

function[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;主程序:

[s,p]=fcircle(10)3>>y=0;n=100;for i=1:n y=y+1/i/i;end >>y M文件:

function f=factor(n)if n

f=factor(n-1)*n;end

主程序: >>s=0;for i=1:5 s=s+factor(i);end >>s 5>>sum=0;i=1;while sum>n=i-2 6 for循环M文件: function k=jcsum(n)k=0;for i=0:n k=k+2^i;end

主程序: >>jcsum(63)

While循环M文件: function k=jcsum1(n)k=0;i=0;while i

主程序:

>>jcsum1(63)第五章

1>>A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];>>b=[13,-9,6,0]';>>x=Ab M文件:

function f=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.^2./x/4+z.^2./y+2./z;主程序:

[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5])3>>X=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,'-*')4>>x=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);第六章

1>>syms x

>>y=finverse(1/tan(x))2>>syms x y

>>f=1/(1+x^2);g=sin(y);>>fg=compose(f,g)3>>syms x

>>g=(exp(x)+x*sin(x))^(1/2);>>dg=diff(g)4>>F=int(int('x*exp(-x*y)','x'),'y')5>>syms x

>>F=ztrans(x*exp(-x*10))6>>a=[0 1;-2-3];>>syms s

>>inv(s*eye(2)-a);7>>f=solve('a*x^2+b*x+c')8>>f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')9>>y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')>>ezplot(y),grid on

10>>a=maple('simplify(sin(x)^2+cos(x)^2);')11>>f=maple('laplace(exp(-3*t)*sin(t),t,s);')

12>>syms t x

>>F=sin(x*t+2*t);>>L=laplace(F)第七章

第八章

1-1>>h=tf([5,0],[1,2,2])1-2>>s = tf('s');>>H = [5/(s^2+2*s+2)];>>H.inputdelay =2 1-3>>h=tf([0.5,0],[1,-0.5,0.5],0.1)2>>num=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]=tf2(num,den);>>(A,B,C,D)3 >>num=[1,5];den=[1,6,5,1];ts=0.1;>>sysc=tf(num,den);>>sysd=c2d(sysc,ts,'tustin')

>>r1=1;r2=2;c1=3;c2=4;>>[A,B,C,D]=linmod('x84');>>[num,den]=2tf(A,B,C,D);>>sys=tf(num,den)5>>A=[1,1,0;0,1,0;0,0,2];B=[0,0;1,0;0,-2];>>n=size(A)>>Tc=ctrb(A,B);if n==rank(Tc)disp('系统完全能控');else

disp('系统不完全能控');end

第九章

1>>num=[2,5,1];den=[1,2,3];>>bode(num,den);grid on;>>figure;>>nyquist(num,den);2>>num=5*[1,5,6];den=[1,6,10,8];>>step(num,den);grid on;>>figure;>>impulse(num,den);grid on;3>>kosi=0.7;wn=6;>>num=wn^2;den=[1,2*kosi*wn,wn^2];>>step(num,den);grid on;>>figure;>>impulse(num,den);grid on;4 M文件:

function [rtab,info]=routh(den)info=[];vec1=den(1:2:length(den));nrT=length(vec1);vec2=den(2:2:length(den)-1);rtab=[vec1;vec2, zeros(1,nrT-length(vec2))];for k=1:length(den)-2, alpha(k)=vec1(1)/vec2(1);for i=1:length(vec2), a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);

end

if sum(abs(a3))==0 a3=polyder(vec2);info=[info,'All elements in row ',...int2str(k+2)' are zeros;'];elseif abs(a3(1))

rtab=[rtab;a3, zeros(1,nrT-length(a3))];vec1=vec2;vec2=a3;end

主程序:

>>den=[1,2,8,12,20,16,16];>>[rtab,info]=routh(den)>>a=rtab(:,1)if all(a>0)disp('系统是稳定的');else

disp('系统是不稳定的');end

5>>num=7*[1,5];den=conv([1,0,0],conv([1,10],[1,1]));>>[gm,pm,wg,wc]=margin(num,den)第十章M文件:

function varargout=rg_lead(ng0,dg0,s1)if nargout==1 ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=ngv/dgv;thetal=pi-angle(g);zc=real(s1)-imag(s1)/tan(thetal);t=-1/zc;varargout{1}=[t,1];elseif nargout==2 ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=ngv/dgv;theta=angle(g);phi=angle(s1);if theta>0 phi_c=pi-theta;end

if theta

theta_z=(phi+phi_c)/2;theta_p=(phi-phi_c)/2;z_c=real(s1)-imag(s1)/tan(theta_z);p_c=real(s1)-imag(s1)/tan(theta_p);nk=[1-z_c];varargout{2}=[1-p_c];kc=abs(p_c/z_c);if theta

varargout{1}=kc*nk;else

error('输出变量数目不正确!');end

主程序:

>> ng0=[1];dg0=10000*[1 0-1.1772];>>g0=tf(ng0,dg0);%满足开环增益的为校正系统的传递函数 >>s=kw2s(0.7,0.5)%期望的闭环主导极点

>>ngc=rg_lead(ng0,dg0,s);>>gc=tf(ngc,1)>>g0c=tf(g0*gc);>>rlocus(g0,g0c);>>b1=feedback(g0,1);%未校正系统的闭环传递函数 >>b2=feedback(g0c,1);%校正后系统的闭环传递函数 >>figure,step(b1,'r--',b2,'b');grid on %绘 2 M文件:

function [ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a)ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=dgv/ngv;k=abs(g);%期望主导极点处的根轨迹增益 beta=k/KK;[kosi1,wn1]=s2kw(s1);zc=-wn1*sin(a*pi/180)/sin(pi-atan(sqrt(1-kosi1^2)/kosi1)-(a*pi/180));%利用正弦定理 pc=beta*zc;ngc=beta*[1,-zc];dgc=[1,-pc];主程序:

>>KK=20;s1=-2+i*sqrt(6);a=1 >>ng0=[10];dg0=conv([1,0],[1,4]);>>g0=tf(ng0,dg0);>>[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);>>gc=tf(ngc,dgc)>>g0c=tf(KK*g0*gc);>>b1=feedback(k*g0,1);>>b2=feedback(g0c,1);>>step(b1,'r--',b2,'b');grid on M文件:

function [ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a)ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=dgv/ngv;k=abs(g);%期望主导极点处的根轨迹增益 beta=k/KK;[kosi1,wn1]=s2kw(s1);zc=-wn1*sin(a*pi/180)/sin(pi-atan(sqrt(1-kosi1^2)/kosi1)-(a*pi/180));%利用正弦定理 pc=beta*zc;ngc=beta*[1,-zc];dgc=[1,-pc];主程序:

>>KK=128;s1=-2+i*2*sqrt(3);a=2 >>ng0=[10];dg0=conv([1,0],conv([1,2],[1,8]));>>g0=tf(ng0,dg0);>>[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);>>gc=tf(ngc,dgc)>>g0c=tf(KK*g0*gc);>>rlocus(g0,g0c);>>b1=feedback(k*g0,1);>>b2=feedback(g0c,1);>>figure,step(b1,'r--',b2,'b');grid on 4 M文件:

function [ngc,dgc]=lead4(ng0,dg0,KK,Pm,w)[mu,pu]=bode(KK*ng0,dg0,w);[gm,pm,wcg,wcp]=margin(mu,pu,w);alf=ceil(Pm-pm+5);phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi)), dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm), T=1/(wgc*sqrt(a)), ngc=[a*T,1];dgc=[T,1];主程序:

>>ng0=[1];dg0=conv([1,0,0],[1,5]);>>g0=tf(ng0,dg0);>>w=logspace(-3,3);>>KK=1;Pm=50;>>[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w);>>gc=tf(ngc,dgc);g0c=tf(KK*g0*gc);>>bode(KK*g0,w);hold on,bode(g0c,w);grid on,hold off >>[gm,pm,wcg,wcp]=margin(g0c)>>Kg=20*log10(gm)>>g1=feedback(g0c,1);>>bode(g1),grid on, >>[mag,phase,w]=bode(g1);>>a=find(mag>wb=w(a(1))

>>max(mag)>>b=find(mag==max(mag))>>wr=w(b)5 M文件:

function [ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)[mu,pu]=bode(ng0,dg0,w);%计算原系统的对数频率响应数据 [gm,pm,wcg,wcp]=margin(mu,pu,w);%求取原系统的相角裕度和剪切频率

alf=ceil(Pm-pm+5);%计算控制器提供的最大超前角度,phi=(alf)*pi/180;%将最大超前角转换为弧度单位 a=(1+sin(phi))/(1-sin(phi));%计算a值

dbmu=20*log10(mu);%系统的对数幅值

mm=-10*log10(a);%wm处的控制器对数幅值

wgc=spline(dbmu,w,mm);%差值求取wm,认为wm=wc T=1/(wgc*sqrt(a));%计算T ngc=[a*T,1];dgc=[T,1];主程序:

>>KK=40;Pm=50;>>ng0= KK *[1];dg0=conv([1,0],conv([1,1],[1,4]));>>g0=tf(ng0,dg0);>>w=logspace(-2,4);>>[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)>>gc=tf(ngc,dgc),g0c=tf(g0*gc);>>b1=feedback(g0,1);b2=feedback(g0c,1);>>step(b1,'r--', b2,'b');grid on

>>figure, bode(g0,'r--',g0c,'b',w), grid on, >>[gm,pm,wcg,wcp]=margin(g0c), Km=20*log10(gm)

控制系统的Matlab仿真与设计课后答案

MATLAB课后习题答案 2.1 x=[15 22 33 94 85 77 60] x(6) x([1 3 5]) x(4:end) x(find(x>70)) 2.3 A=zeros(2,5);A(:)=-4:5L=abs(A)>3 islogical(L)X=A(L) 2.4 A=[4,15,-45,......

MATLAB与控制系统仿真实验报告

《MATLAB与控制系统仿真》实验报告2013- 2014学年 第 1 学期专业: 班级: 学号: 姓名:实验三 MATLAB图形系统一、实验目的:1.掌握绘制二维图形的常用函数。 2.掌握绘制三维图形的......

基于 Matlab 的离散控制系统仿真

2014 / 2015 学年第 1 学期计算机控制技术 实班 级 学 生 指 导 验 报 告学 号 1108030301 姓 名 蔡 梦 教 师 张 坤 鳌 实验二 基于 Matlab 的离散控制系统仿真一、实验......

电子信息MATLAB系统仿真与设计

电子信息系统仿真与设计课程设计报告 设计课题: 油价变化系统的模型 姓 名: 学 院: 机电与信息工程学院专 业: 电子信息科学与技术班 级: 09级 2班 学 号: 日 期 20......

Matlab与Simulink仿真学习心得

Matlab与Simulink仿真学习心得班级:07610 学号:072016 姓名:吕天雄一 Matlab学习心得体会与编程实践学习Matlab的心得体会真正开始接触Matlab是大二上就开始了,到现在已经一年多......

下载控制系统的MATLAB仿真与设计课后答案word格式文档
下载控制系统的MATLAB仿真与设计课后答案.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文