文档库 最新最全的文档下载
当前位置:文档库 › matlab程序设计与应用(第二版)第六章答案

matlab程序设计与应用(第二版)第六章答案

matlab程序设计与应用(第二版)第六章答案
matlab程序设计与应用(第二版)第六章答案

第六章

1.

A=randn(10,5)

(1)mean(A) ;均值std(A) ;标准方差

(2)max(max(A)) ;最大元素min(min(A)) ;最小元素

(3)B=sum(A,2) ;A每行元素的和sum(B) ;A全部元素之和(4)sort(A) ;A的每列元素按升序排列

sort(A,2,’descend’) ;A的每行元素按将序排列

2.

(1)

(2)

X=[1 4 9 16 25 36 49 64 81 100];

Y=1:10;

X1=1:100;

Y1=interp1(X,Y,X1,'cubic')

3.

x=[165 123 150 123 141];

y=[187 126 172 125 148];

P=polyfit(x,y,3)

P =

1.0e+003 *

-0.0000 0.0013 -0.1779 8.4330

所以它的线性拟合曲线为:p(x)=1.3x2—177.9x+8433

4.

(1)

P1=[0 3 2];P2=[5 -1 2];P3=[1 0 -0.5];

P=conv(conv(P1,P2),P3)

P =

0 15.0000 7.0000 -3.5000 0.5000 -2.0000 -2.0000 所以P(x)=15x5+7x4-3.5x3+0.5x2-2x-2

(2)

roots(P)

ans =

0.7071

0.1000 + 0.6245i

0.1000 - 0.6245i

-0.7071

-0.6667

(3)

i=0:10;

xi=0.2*i;

polyval(P,xi)

ans =

-2.0000 -2.3920 -2.6112 -1.7024 2.7104 15.0000 42.1120 94.1408 184.9056 332.5264 560.0000

5.

(1)

建立函数文件:

function f=fxy(u)

x=u(1);y=u(2);

f=3.*x.^2+2*x.*y+y.^2

在命令窗口中输入以下命令:

[U,fmin]=fminsearch('fxy',[1,1])

结果:

U =

1.0e-004 *

-0.0675 0.1715

fmin =

1.9920e-010

(2)

f=inline('-sin(x)-cos(x.^2)');

fmax=fminbnd(f,0,pi)

fmax =

0.7310

6.

(1)

x=[pi/6 pi/4 pi/3];

f=inline('sin(x).^2+cos(x).^2');

dx=diff(f([x,5*pi/12]))/(pi/12) 可参见第157页例题6.19 dx =

0 0 0

x=pi/2时单独计算:

x=pi/2;

f=inline('sin(x).^2+cos(x).^2');

diff(f([x,pi]))/(pi/2)

ans =

(2)

x=1:3;

f=inline('sqrt(x.^2+1)');

dx=diff(f([x,4]))

结果:

dx =

0.8219 0.9262 0.9608

7.

(1)

f=inline('sin(x).^5.*sin(5*x)');

quad(f,0,pi)

ans =

0.0982

(2)

f=inline('(1+x.^2)./(1+x.^4)');

quad(f,-1,1)

ans =

2.2214

f=inline('x.*sin(x)./(1+cos(x).^2)');

quad(f,0,pi)

ans =

2.4674

(4)

f=inline('abs(cos(x+y))');

dblquad(f,0,pi,0,pi)

ans =

6.2832

8.

N=64; 采样点数

T=5; 采样时间终点

t=linspace(0,T,N); 给出N个采样时间ti(i=1:N)y=exp(-t); 求各采样点样本值y

dt=t(2)-t(1); 采样周期

f=1/dt; 采样频率

Y=fft(y); 计算y的快速傅里叶变换Y

F=Y(1:N/2+1); F(k)=Y(k)

f=f*(0:N/2)/N; 使频率轴f从0开始

plot(f,abs(F)) 绘制振幅-频率图

9.

矩阵求逆法:

A=[2 3 5;3 7 4;1 -7 1];

b=[10;3;5];

x=inv(A)*b

x =

-1.8060

-0.5373

3.0448

矩阵除法法:

A=[2 3 5;3 7 4;1 -7 1];

b=[10;3;5];

x=A\b

x =

-1.8060

-0.5373

3.0448

矩阵分解法:

A=[2 3 5;3 7 4;1 -7 1];

b=[10;3;5];

[L,U]=lu(A);

x=U\(L\b)

x =

-1.8060

-0.5373

3.0448

(2)方法同(1)

10.

函数文件:line_solution(A,b)

function [x,y]=line_solution(A,b) [m,n]=size(A);

y=[];

if norm(b)>0

if rank(A)==rank([A,b])

if rank(A)==n

disp('原方程组有唯一解x'); x=A\b;

else

disp('原方程组有无穷个解,特解为x,齐次方程组的基础解系为y'); x=A\b;

y=null(A,'r');

end

disp('方程组无解');

x=[];

end

else

disp('原方程组有零解x');

x=zeros(n,1);

if rank(A)

disp('方程组有无穷个解,基础解系为y');

y=null(A,'r');

end

end

程序:

A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1];

b=[1;2;1];

[x,y]=line_solution(A,b)

结果:

原方程组有无穷个解,特解为x,齐次方程组的基础解系为y

Warning: Rank deficient, rank = 2, tol = 4.3512e-015.

> In line_solution at 11

方程组无解

x =

[]

y =

-0.5000 0.5000

1.0000 0

0 1.0000

0 0

11.

(1)

f=inline('x-sin(x)./x');

x=fzero(f,0.5)

x =

0.8767

(2)

f=inline('(sin(x).^2).*exp(-0.1.*x)-0.5.*abs(x)');

x=fzero(f,1.5)

x =

1.6738

12.

函数文件:

function f=fxy(u)

x=u(1)

y=u(2)

f(1)=x-0.6*sin(x)-0.3*cos(y)

f(2)=y-0.6*cos(x)+0.3*sin(y)

在命令窗口输入以下命令:

x=fsolve('fxy',[0.5,0.5],optimset('Display','off'))

结果:

x =

0.6354 0.3734

15.

A=[-1 2 0;-1 2 -1;-1 2 -1;-1 2 -1;0 2 -1];

d=[-1;0;1];

B=spdiags(A,d,5,5);

b=[1 0 0 0 0]';

x=(inv(B)*b)'

x =

0.8333 0.6667 0.5000 0.3333 0.1667

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)

ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

信号处理引论第五章及matlab作业答案

a=input('type in the first sequence ='); b=input('type in the second sequence ='); c=conv(a,b); M=length(c)-1; n=0:1:M; disp('output sequence =');disp(c) stem(n,c) xlabel('Time index n');ylabel('Amplitude'); type in the first sequence =[2 4 6 4 2 0 0 0] type in the second sequence =[3 -1 2 1] output sequence = Columns 1 through 9 6 10 18 16 18 12 8 2 0 Columns 10 through 11 0 0 ??? Undefined function or variable 'ylable'. Error in ==> E:\Matlab6p5FULL\bin\win32\Untitled.m On line 8 ==> xlabel('Time index n');ylabel('Amplitude'); type in the first sequence =[2 4 6 4 2 0 0 0] type in the second sequence =[3 -1 2 1] output sequence = Columns 1 through 9 6 10 18 16 18 12 8 2 0 Columns 10 through 11

MATLAB语言及控制系统仿真_参考答案解析_第6章

6.4 控制系统频域分析MATLAB 仿真实训 6.4.1实训目的 1. 学会利用MATLAB 绘制开环系统的伯德图; 2. 学会利用MATLAB 绘制开环系统的极坐标图; 3. 掌握通过编程或相关命令求取系统稳定裕度的方法; 4. 通过仿真进一步理解掌握系统频域分析的有关知识。 6.4.2实训内容 1.已知单位负反馈系统的开环传递函数为 ()()() 10.5s 10.2s 1s 1.0k s G +++= )( 要求编程绘制50=k 时的极坐标图,确定曲线与负实轴的交点坐标及频率值; n=50; d=conv([0.1,1],conv([0.2,1],[0.5,1])); sys=tf(n,d); nyquist(sys) 曲线与负实轴的交点坐标为-3.76; 曲线与负实轴的交点频率值9.2; 2.绘制下列系统的伯德图,并要求在图上显示出幅值裕度、相角裕度等信息。 (1)()()() 18s 12s 2.6 s G ++= >> n=2.6; >> d=conv([2,1],[8,1]); >> sys=tf(n,d) Transfer function: 2.6

---------------------- 16 s^2 + 10 s + 1 >> margin(sys) 从图上信息可知,幅值裕度为无穷,相角裕度为88.2度。 (2)()()() 110s 1s 10 s G ++= s >> n=10; >> d=conv([1,0],conv([1,1],[10,1])); >> sys=tf(n,d) Transfer function: 10 ------------------------ 10 s^3 + 11 s^2 + s >> margin(sys)

matlab课后答案完整版

ones表示1矩阵 zeros表示0矩阵 ones(4)表示4x4的1矩阵 zeros(4)表示4x4的0矩阵 zeros(4,5)表示4x5的矩阵 eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵 det(a)表示计算a的行列式 inv(a)表示计算a的逆矩阵 Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩 [v,d]=eig(a)对角矩阵 b=a’表示求a矩阵的转置矩阵 sqrt表示求平方根 exp表示自然指数函数 log自然对数函数 abs绝对值 第一章 一、5(1) b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7]; >> e=b*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=::; >> b=exp*a).*sin(a+ 3、x=[2 4; 5]; y=log(x+sqrt(1+x.^2))/2 y =4、a*b表示a矩阵和b矩阵相乘 a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列 A(m,:)表示取a矩阵第m行的全部元素 A(:,n)表示取a矩阵的第n列全部元素 A./B表示a矩阵除以b矩阵的对应元素, B.\A等价于A./B A.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = + d=c+a*b/(a+b) d = + 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章 二1(1)

《MATLAB程序设计与应用(刘卫国)》(第二版) 答案

《MATLAB程序设计与应用(刘卫国)》(第二版)实验一MATLAB运算基础 1.(1) z1=2*sin(pi*85/180)/(1+exp(2)) (2)x=[2,1+2i;-0.45,5]; z2=log(x+sqrt(1+x.^2))/2 (3)a=-3.0:0.1:3.0; z3=0.5*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2) (4)t=0:0.5:2.5; z4=(t>=0&t<1).*t.^2+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1) 2. A=[12,34,-4;34,7,87;3,65,7]; B=[1,3,-1;2,0,3;3,-2,7]; (1)a=A+6*B b=A-B+eye(size(A)) %I=eye(size(A)) (2)c=A*B d=A.*B (3)e=A^3 f=A.^3 (4)g=A/B h=B\A (5)m=[A,B] n=[A([1,3],:);B^2] 3. A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25]; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; (1)C=A*B (2)D=C(3:end,2:end) 4.(1) a=100:999; b=rem(a,21)==0; c=find(b); d=length(c) (2)ch='Just as Bianhaiman said,Xiehong is ...'; e=find(ch>='A'&ch<='Z'); ch(e)=[] 实验二 MATLAB矩阵分析与处理 1.E=eye(3);

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

第五章MATLAB的绘画与图形处理

第五章 MATLAB 的绘画与图形处理 MATLAB 具有非常强大的二维和三维绘图功能,尤其擅长于各种科学运算结果的优秀可视化。 5.1二维曲线的绘制 5.1.1基本绘图命令plot plot 命令是MATLAB 中最简单而且使用最广泛的一个绘图命令,用来绘制二维曲线。 1. plot(x,y) 语法: plot(x,y) %绘制以x 为横坐标y 为纵坐标的二维曲线 【例5.1】绘制正弦曲线y=sin(x)和方波曲线,如图5.1所示。 >> x1=0:0.1:2*pi; >> y1=sin(x1); %y1为x1的正弦函数 >> plot(x1,y1); >> x2=[0 1 1 2 2 3 ]; >> y2=[1 1 0 0 1 1 ]; >> plot(x2,y2); >> axis([0 4,0 2]) %将坐标轴范围设定为0-4和0-2 2. plot(x1,y1,x2,y2,…)绘制多条曲线 plot 命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB 自动以不同的颜色绘制不同曲线。 【例5.2】绘制三条曲线,如图5.2所示。 图5.1 (a) 正弦曲线 (b) 方波曲线

>> x=0:0.1:2*pi; >> plot(x,sin(x),x,cos(x),x,sin(3*x)) %画三条曲线 图5.2 三条曲线 5.1.2绘制曲线的一般步骤 表5.1为绘制二维、三维图形一般步骤的归纳。 表5.1绘制二维、三维图形的一般步骤 内容 曲线数据准备: 对于二维曲线,横坐标和纵坐标数据变量; 说明: ?步骤1和3是最基本的绘图步骤,如果利用MA TLAB的默认设置通常只需要这两个基本步骤就可以基本绘制出图形,而其他步骤并不完全必需。 ?步骤2一般在图形较多的情况下,需要指定图形窗口、子图时使用。

matlab第二章习题答案

第一大题: (1) a = 7/3 b = sym(7/3) c = sym(7/3,'d') d = sym('7/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 2.3333 b = 7/3 c = 2.3333333333333334813630699500209 d = 7/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000014802973661668756666666667788716(2) a = pi/3 b = sym(pi/3) c = sym(pi/3,'d') d = sym('pi/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 1.0472 b = pi/3 c = 1.047197551196597631317786181171 d = pi/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000011483642827992216762806615818554 (3) a = pi*3^(1/3) b = sym(pi*3^(1/3)) c = sym(pi*3^(1/3),'d') d = sym('pi*3^(1/3)') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d))

a = 4.5310 b = 1275352044764433/281474976710656 c = 4.5309606547207899041040946030989 d = pi*3^(1/3) v1 = 0.00000000000000026601114166290944374842393221638 v2 = 0.00000000000000026601114166290944374842393221638 v3 = 0.0000000000000002660111416629094726767991785515 第二大题: (1) c1=3/7+0.1 c1 = 0.5286 双精度 (2) c2=sym(3/7+0.1) c2 = 37/70 符号 (3) c3=vpa(sym(3/7+0.1)) c3 = 0.52857142857142857142857142857143 完整显示精度 第三大题: (1) findsym(sym('sin(w*t)'),1) ans = w (2) findsym(sym('a*exp(-X)' ) ,1) ans = a (3) findsym(sym('z*exp(j*theta)'),1) ans = z

matlab答案第五章

第五章 1.绘制下列曲线。 (1)2 1100 x y += (2)22 21x e y -=π (3)12 2 =+y x (4)? ??==3 2 5t y t x 答: (1) x=-10::10; y=100./(1+x.^2); plot(x,y) (2) x=-10::10; y=1/(2*pi)*exp(-x.^2/2); plot(x,y)

(3) ezplot('x^2+y^2=1')

(4) t=-10::10; x=t.^2; y=5*t.^3; plot(x,y) 2. 绘制下列三维图形。 (1)?? ? ??===t z t y t x sin cos (2)?? ? ??=+=+=u z v u y v u x sin sin )cos 1(cos )cos 1( (3)5=z (4)半径为10的球面(提示:用sphere 函数 答: (1) t=0:pi/100:2*pi; x=cos(t); y=sin(t);

z=t; plot3(x,y,z) (2) u=0:pi/100:2*pi; v=0:pi/100:2*pi; x=(1+cos(u)).*cos(v); y=(1+cos(u)).*sin(v); z=sin(u); plot3(x,y,z)

(3) [x,y]=meshgrid(-100:100); z=5*ones(size(x)); mesh(x,y,z) (4) [x,y,z] = sphere; %等价于sphere(20) 20是画出来的球面的经纬分面数...20的话就是20个经度, 20个纬度,或者说“就是划出20╳20面的单位球体,把球的表面分成400个小网格” surf(x,y,z); %绘制单位球面 x = 10*x; y = 10*y; z = 10*z; surf(x,y,z); %绘制半径为10的球面 axis equal

控制系统仿真matlab第六章习题答案

控制系统仿真第六章课后题 作业6.1 在图6.1中,已知单位负反馈系统被控对象的传递函数为) 1001.0)(11.0()(++=s s s K s G 试编写matlab 程序,设计系统的超前矫正器Gc(s),要求: 1)在斜坡信号r (t)=2t 作用下,系统的稳态误差ess<=0.002; 2)校正后系统的相位裕度Pm 范围为:45~55; 3)绘制系统校正后的bode 图和阶跃响应曲线。 程序: >> s=tf('s'); >> G=1000/(s*(0.1*s+1)*(0.001*s+1)); >> margin(G) % 绘制校正前的bode 图 >> figure(2) >> sys=feedback(G,1); >> step(sys) %绘制校正前的单位阶跃响应曲线

>> [Gm,Pm]=margin(G); %该句值计算bode图的增益裕量Gm和相位裕量Pm >> [mag,phase,w]=bode(G); %该句只计算bode图上多个频率点w对应的幅值和相位>> QWPm=50; %取矫正后的相位为50 >> FIm=QWPm-Pm+5; >> FIm=FIm*pi/180; >> alfa=(1-sin(FIm))/(1+sin(FIm)); >> adb=20*log10(mag); >> am=10*log10(alfa); >> wc=spline(adb,w,am); >> T=1/(wc*sqrt(alfa)); >> alfat=alfa*T; >> Gc=tf([T 1],[alfat 1]) %校正器的传递函数 Transfer function: 0.01794 s + 1 ------------- 0.00179 s + 1 >> figure(3) >> margin(Gc*G) % 系统矫正后的bode图

matlab程序设计与应用第二版习题答案

matlab程序设计与应用第二版习题答案【篇一:matlab程序设计与应用(第二版)实验答案】 %实验一 matlab运算基础 %第1题 %(1) z1=2*sin(85*pi/180)/(1+exp(2)) %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2)) %(3) a=-3.0:0.1:3.0; z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t=0t1)+(t.^2-1).*(t=1t2)+(t.^2-2*t+1).*(t=2t3) %第2题 a=[12 34 -4;34 7 87;3 65 7]; b=[1 3 -1;2 0 3;3 -2 7]; a+6*b a-b+eye(size(a)) a*b a.*b a^3 a.^3 a/b b\a [a,b] [a([1,3],:);b^2] %第3题 a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] b=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] c=a*b f=size(c) d=c(f(1)-2:f(1),f(2)-1:f(2)) whos %第4题 %(1):

a=100:999; b=rem(a,21); c=length(find(b==0)) %(2): a=lsdhksdlkklsdkl; k=find(a=aa=z); a(k)=[] %实验二 matlab矩阵分析与处理 %第1题 e=eye(3); r=rand(3,2); o=zeros(2,3); s=diag([2,3]); a=[e,r;o,s]; a^2 b=[e,(r+r*s);o,s^2] %第2题 h=hilb(5) p=pascal(5) hh=det(h) hp=det(p) th=cond(h) tp=cond(p) %第3题 a=fix(10*rand(5)) h=det(a) trace=trace(a) rank=rank(a) norm=norm(a) %第4题 a=[-29,6,18;20,5,12;-8,8,5] [v,d]=eig(a) %数学意义略 %第5题方法一 %(1): a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.52]; x=inv(a)*b %(2):

自动控制原理习题全解及MATLAB实验 第6章习题解答

第6章控制系统的校正 本章主要讨论利用频率法对单输入-单输出的线性定常系统的综合和设计。在介绍控制系统校正的基本概念、控制系统的基本控制规律的基础上,介绍了各种串联校正装置(超前校正装置、滞后校正装置、滞后-超前校正装置)的特性及按分析进行相应设计的基本步骤和方法;还介绍了期望设计法的基本概念、常见的期望特性和设计步骤;另外还介绍了根轨迹法的串联校正和反馈校正的基本概念和方法;最后介绍了利用MATLAB进行控制系统校正。 教材习题同步解析 试分别说明系统的固有频率特性与系统期望频率特性的概念。 答:系统本身固有元件所具有的频率特性称为固有频率特性。设计者希望系统所能达到的频率特性称为系统期望频率特性。 试比较串联校正和反馈校正的优缺点。 答:a、校正装置和未校正系统的前向通道环节相串联,这种叫串联校正,串联校正是最常用的设计方法,设计与实现比较简单,通常将串联装置安置在前向通道的前端。 b、并联校正也叫反馈校正,它是和前向通道的部分环节按反馈方式连接构成局部反馈回路,设计相对较为复杂。并联校正一般不需要加放大器,它可以抑制系统的参数波动及非线性因素对系统性能的影。 PD控制为什么又称为超前校正?串联PD控制器进行校正为什么能提高系统的快速性和稳定性? 答:加入PD控制相当于在系统中加入一个相位超前的串联校正装置,使之在穿越频率处有较大的相位超前角。因此,PD控制称为超前控制。PD控制的传递函数为G s Kp sτ =+,由比例控制和微分控制组合而成。增大比例系数Kp,可以展宽系统的()(1) 通频带,提高系统的快速性。微分控制反映信号的变化率的预报作用,在偏差信号变化前给出校正信号,防止系统过大地偏离期望值和出现剧烈振荡倾向,有效地增强系统的相对稳定性。 PI控制为什么又称为滞后校正?串联PI控制器进行校正为什么能提高系统的稳态性能?如何减小它对系统稳定性的影响? 答:PI控制在低频段产生较大的相位滞后,所以滞后校正。PI控制的比例部分可以提高系统的无差度,改善系统的稳态性能。在串入系统后应使其转折频率在系统幅值穿越频率

MATLAB运算基础(第2章)答案

实验01讲评、参考答案 讲评 未交实验报告的同学名单 批改情况: 问题1: 不仔细,式子中出错。 问题2: 提交的过程不完整。 问题3: 使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。 问题4: 截屏窗口没有调整大小。

附参考答案: 实验01 MATLAB 运算基础 (第2章 MATLAB 数据及其运算) 一、实验目的 1. 熟悉启动和退出MATLAB 的方法。 2. 熟悉MATLAB 命令窗口的组成。 3. 掌握建立矩阵的方法。 4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1. 数学表达式计算 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 1.1 计算三角函数 12 2sin 851z e =+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适 当调整窗口大小。 命令窗口中的执行过程: 《MATLAB 软件》课内实验 王平

1.2 计算自然对数 221 ln(1)2z x x =++,其中2120.45 5i x +??=??-??(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。 应用点乘方) 命令窗口中的执行过程: 1.3 求数学表达式的一组值 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+=++=--L 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 命令窗口中的执行过程:

第5章--MATLAB绘图-习题答案

第5章 MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12 B.7 C.4 D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; for n=1:2:10 plot(n*sin(x),n*cos(x)) hold on end axis square A.5个同心圆 B.5根平行线 C.一根正弦曲线和一根余弦曲线 D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。C A.{\alpha}+{\beta} B.{\α}+{\β} C.α+β D.\α+\β4.subplot(2,2,3)是指()的子图。A A.两行两列的左下图 B.两行两列的右下图 C.两行两列的左上图 D.两行两列的右上图 5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。C A.polar B.semilogx C.semilogy D.loglog 6.下列程序的运行结果是()。B [x,y]=meshgrid(1:5); surf(x,y,5*ones(size(x))); A.z=x+y平面 B.与xy平面平行的平面 C.与xy平面垂直的平面 D.z=5x平面 7.下列函数中不能用于隐函数绘图的是()。D A.ezmesh B.ezsurf C.ezplot D.plot3 8.下列程序运行后,看到的图形()。C t=0:pi/20:2*pi; [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);

第6章matlab数据分析与多项式计算_习题答案

第6章 MATLAB数据分析与多项式计算 习题6 一、选择题 1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。B A.1 B.3 C.5 D.7 2.已知a为3×3矩阵,则运行mean(a)命令是()。B A.计算a每行的平均值 B.计算a每列的平均值 C.a增加一行平均值 D.a增加一列平均值 3.在MATLAB命令行窗口输入下列命令: >> x=[1,2,3,4]; >> y=polyval(x,1); 则y的值为()。 D A.5 B.8 C.24 D.10 4.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。D A.一个是标量,一个是方阵 B.都是标量 C.值相等 D.值不相等 5.在MATLAB命令行窗口输入下列命令: >> A=[1,0,-2]; >> x=roots(A); 则x(1)的值为()。 C A.1 B.-2 C. D. 6.关于数据插值与曲线拟合,下列说法不正确的是()。A A.3次样条方法的插值结果肯定比线性插值方法精度高。 B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。 C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。 D.插值和拟合都是通过已知数据集来求取未知点的函数值。 二、填空题 1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。 [15 27 39],[4 5 6[ 2.向量[2,0,-1]所代表的多项式是。2x2-1 3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。为了

matlab答案

第一章 2.在命令窗口输入‘’w=3+2‘’,然后依次使用clear和clc命令,分别观察命令窗口、工作空间窗口和历史命令窗口的变化。 使用clear命令时,命令窗口无变化,工作空间窗口中的内容被删除,历史命令窗口多出一条命令记录。 使用clc命令时,命令窗口中的内容被删除,工作空间窗口无变化,历史命令窗口中多出一条命令记录 3.将硬盘上一已有目录,加入到搜索路径,并将其设置为当前工作目录。 File-set path-add folder-save 第二章 1.计算复数3+4i与5-6i的乘积。 a=3+4i b=5-6i c=a*b 2.构建结构体Students,属性包含Name、age和Email,数据包括{’Zhang’,18,*‘Zhang@16 https://www.wendangku.net/doc/a814530955.html,’,’Zhang@https://www.wendangku.net/doc/a814530955.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Name='Zhang' Students(1).Age=18 Students(1).Email='Zhang@https://www.wendangku.net/doc/a814530955.html,','Zhang@https://www.wendangku.net/doc/a814530955.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.wendangku.net/doc/a814530955.html, Student(1).Age=19

Student(1).Age 3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵: A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] ; F=full(A) S=sparse(A) S=sparse([2,1,4],[1,2,4],[1,1,1],4,5) 4.采用向量构造符得到向量[1,5,9....,41]. A=1:4:41 5.按水平和竖直方向分别合并下述两个矩阵: A=[1 0 0;1 1 0;0 0 1],B=[2 3 4;5 6 7;8 9 10] A=[1 0 0;1 1 0;0 0 1] ; B=[2 3 4;5 6 7;8 9 10] ; C=[A B] D=[A;B] 6.分别删除第五题两个结果的第2行。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,:)=[] D(2,:)=[] 7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,4:6)=[11 12 13] D(2,:)=[11 12 13] 8.分别查看第5题两个结果的各方向长度

MATLAB语言与控制系统仿真-参考答案-第5章

5.6 控制系统的时域响应MATLAB 仿真实训 5.6.1实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 5.6.2实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,3.2,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,2.4,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,1.6,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=3.5/(z1*w); [cmax1,tp1,ts1] ans = 1.2538 0.8569 2.1875 >> z2=0.3; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=3.5/(z2*w); [cmax2,tp2,ts2]

MATLAB第六章simulink仿真答案

实验四 SIMULINK 仿真实验 一、 实验目的 1. 学习SIMULINK 的实验环境使用。 2. 掌握SIMULINK 进行结构图仿真的方法。 二、 实验内容 1.控制系统结构图仿真 给定被控对象) 1(10 )(+= s s s G ,控制器111.0145.0)(++=s s s D ,按以下两种情 况设计SIMULINK 仿真结构图(给定信号是单位阶跃信号)。 (1) 无控制器时被控对象单位负反馈。 (2) 控制器与被控对象串连接成单位负反馈。 给定的仿真参数: (1) 信号源参数设置: 阶跃信号(Step )的Step time 设为0秒。 (2)仿真参数设置: 仿真时间 0~10秒,求解器选定步长(Fixed-step)的ode5,仿真步长(Fixed step size )设为0.02秒。 实验要求: (1) 在SIMULINK 中对设计的结构图进行仿真,观察输入信号,输出信号和控制信号。 (1) 记录保存两种情况下的响应波形(适当调整时间轴和纵轴坐标,使图形显示适中,同时在图中求出系统的超调和调节时间(按2%的误差带)。

123 45678910 00.20.40.60.8 1 1.2 1.4 时间 (seconds) d a t a 时序图: 0123 45678910 0.20.40.60.81 1.21.41.6 1.8时间 (seconds) d a t a 时序图:

2.动态系统微分方程仿真 在SIMULINK 中求解下列二阶微分方程代表的动态系统在阶跃信号作用下的状态响应。 给定的仿真参数: (1) 信号源参数设置:阶跃信号(Step )的Step time 设为0秒。 (2) 仿真参数设置:仿真时间 0~8秒,求解器选变步长 (Variable-step)的ode45,最大仿真步长(Max step size )设为0.01秒。 实验要求: (1) 据微分方程构造结构图。 (2) 结构图仿真。 a) 零状态仿真:x 1=0,x 2=0, b) 非零状态仿真:x 1=1,x 2=-1, c) 记录保存两种情况下的响应波形(适当调整时间轴和纵轴坐 标,使图形显示适中)。 1 22122110) (1,||210x y t u u x x x x x x ==++--==

第2章MATLAB数据及其运算习题答案.doc

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MA TLAB合法变量名的是()。D A.合计B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。C A.+10 B.1.2e-5 C.2e D.2i 3.使用语句t=0:7生成的是()个元素的向量。A A.8 B.7 C.6 D.5 4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。D A.所有元素B.第一行元素 C.第三行元素D.第三列元素 6.已知a为3×3矩阵,则运行a (1)=[]后()。A A.a变成行向量B.a变为2行2列 C.a变为3行2列D.a变为2行3列 7.在命令行窗口输入下列命令后,x的值是()。B >> clear >> x=i*j A.不确定B.-1 C.1D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453D.43 9.下列语句中错误的是()。B A.x==y==3 B.x=y=3 C.x=y==3 D.y=3,x=y 10.find(1:2:20>15)的结果是()。C A.19 20 B.17 19 C.9 10 D.8 9 11.输入字符串时,要用()将字符括起来。C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。A A.9 B.11 C.7 D.18

13.eval('sqrt(4)+2')的值是()。B A.sqrt(4)+2 B.4 C.2 D.2,2 14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。D A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores) C.student(4).scores(2)=0 D.student(1,2).scores(2)=[] 15.有一个2行2列的单元矩阵c,则c(2)是指()。B A.第一行第二列的元素内容B.第二行第一列的元素内容 C.第一行第二列的元素D.第二行第一列的元素 二、填空题 1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用分隔。中括号,逗号或空格,分号 2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= ,A.*B= 。 A*B=[19,22;43,50],A.*B=[5,12;21,32] 3.有3×3矩阵,求其第5个元素的下标的命令是,求其第三行、第三列元素的序号的命令是。[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3) 4.下列命令执行后的输出结果是。20 >> ans=5; >> 10; >> ans+10 5.下列命令执行后,new_claim的值是。This is a great example. claim= 'This is a good example.'; new_claim=strrep(claim,'good','great') 三、应用题 1.命令X=[]与clear X有何不同?请上机验证结论。 Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。空矩阵存在于工作空间中,只是没有任何元素。 2.在一个MA TLAB命令中,6 + 7i和6 + 7*i有何区别?i和I有何区别? 3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A 的区别?如果A和B是两个标量数据,结论又如何? 4.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。 (2)删除矩阵A的第5号元素。 (3)求矩阵A的大小和维数。 2

相关文档
相关文档 最新文档