matlab答案第五章
自动控制原理(第2版)(余成波_张莲_胡晓倩)习题全解及MATLAB实验第5章习题解答
第5章频率特性法频域分析法是一种图解分析法,可以根据系统的开环频率特性去判断闭环系统的性能,并能较方便地分析系统参量对系统性能的影响,从而指出改善系统性能的途径,已经发展成为一种实用的工程方法,其主要内容是:1)频率特性是线性定常系统在正弦函数作用下,稳态输出与输入的复数之比对频率的函数关系。
频率特性是传递函数的一种特殊形式,也是频域中的数学模型。
频率特性既可以根据系统的工作原理,应用机理分析法建立起来,也可以由系统的其它数学模型(传递函数、微分方程等)转换得到,或用实验法来确定。
2)在工程分析和设计中,通常把频率特性画成一些曲线。
频率特性图形因其采用的坐标不同而分为幅相特性(Nyquist图)、对数频率特性(Bode图)和对数幅相特性(Nichols图)等形式。
各种形式之间是互通的,每种形式有其特定的适用场合。
开环幅相特性在分析闭环系统的稳定性时比较直观,理论分析时经常采用;波德图可用渐近线近似地绘制,计算简单,绘图容易,在分析典型环节参数变化对系统性能的影响时最方便;由开环频率特性获取闭环频率指标时,则用对数幅相特性最直接。
3)开环对数频率特性曲线(波德图)是控制系统分析和设计的主要工具。
开环对数幅频特性L(ω)低频段的斜率表征了系统的型别(v),其高度则表征了开环传递系数的大小,因而低频段表征系统稳态性能;L(ω)中频段的斜率、宽度以及幅值穿越频率,表征着系统的动态性能;高频段则表征了系统抗高频干扰的能力。
对于最小相位系统,幅频特性和相频特性之间存在着唯一的对应关系,根据对数幅频特性,可以唯一地确定相应的相频特性和传递函数。
4)奈奎斯特稳定性判据是利用系统的开环幅相频率特性G(jω)H(jω)曲线,又称奈氏曲线,是否包围GH平面中的(-l,j0)点来判断闭环系统的稳定性。
利用奈奎斯特稳定判据,可根据系统的开环频率特性来判断闭环系统的稳定性,并可定量地反映系统的相对稳定性,即稳定裕度。
稳定裕度通常用相角裕量和幅值裕量来表示。
MatLab中文版(word版)第五章
目录第五章自定义函数 (1)5.1 MA TLAB函数简介 (1)5.2 在MA TLAB中传递变量:按值传递机制 (6)例5.3 (7)5.3 选择性参数 (14)测试5.1 (16)5.4 用全局内存分享数据 (17)例5.4 (18)5.5 在函数调用两次之间本地数据的存储 (22)例5.5 运行平均数 (22)5.6 函数的函数(function functions), (26)例5.6 (27)5.7 子函数和私有函数 (29)5.8 总结 (29)5.9 练习 (30)5.1 (30)5.2 (30)5.3 (31)5.4 (31)5.5 (31)5.6 (31)5.7 (31)5.8 (31)5.9 (31)5.10 (31)5.11 (31)5.12 (32)5.13 (32)5.14 (32)5.15 (33)5.16 (33)5.17 (33)5.18 (34)5.19 (35)5.20 (35)5.21 (35)5.22 (35)5.23 (36)5.24 (36)5.25 (37)5.26 (37)第五章自定义函数在第三章中,我们强调了好的编程习惯的重要性。
我们进行开发的基本手段是自上而下的编程方法。
在自上而下的编程方法中,它开始于对所要解决问题的精确陈述和定义输入量和输出量。
下一步,我们在大面上进行算法的描述,然后把算法分解成一个一个的子问题。
再然后,程序员把这一个个子问题进行再一次的分解,直到分解成简单而且能够清晰理解的伪代码。
最后把伪代码转化为MATLAB代码。
尽管我们在前面的例子中,按照上面的步骤进行了编程。
但是产生的结果在某种程度上还是受限制的。
因为我们必须把每一个子问题产生的MATLAB代码嵌入到一个单独的大程序中。
在嵌入之前我们无法对每一次子问题的代码进行独立地验证和测试。
幸运的是,MATLAB有一个专门的机制,在建立最终的程序之前用于独立地开发与调试每一个子程序。
MATLAB语言基础与应用(第二版)第5章 习题答案
第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。
第5章MATLAB绘图_习题答案
第5章MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。
DA.12B.7C.4D.32.下列程序的运行结果是()。
Ax=0:pi/100:2*pi;forn=1:2:10plot(n*sin(x),n*cos(x))holdonendaxissquareA.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)是指()的子图。
AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图x的曲线绘制成直线,应采用的绘图函数是()。
C5.要使函数y=2eA.polarB.semilogxC.semilogyD.loglog6.下列程序的运行结果是()。
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.下列函数中不能用于隐函数绘图的是()。
DA.ezmeshB.ezsurfC.ezplotD.plot38.下列程序运行后,看到的图形()。
Ct=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);surf(x,y,z)view(0,90);axisequalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。
A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1&abs(y)<1);z(i)=NaN;surf(x,y,z);shadinginterpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要()。
MATLAb与数学实验 第五章习题解答
1 3 2 4 1 3 5 2 4 3 5
j=
1 1 2 2 3 3
3 4 4 5 5
s=
1 3 1 3 2 1 3 2 1 2 1 A1 =
10200 01020 30102 03010 00301 (2) n=nnz(A)
n=
13 ans =
1 2 -1 3 -2 4 1 -3 5 2
-4 3 -5
>> nx=nzmax(A)
nx =
35
>> [i,j,s]=find(A)
i=
1 2 1 3 2 4 1 3 5 2 4 3 5
j=
1 2 3 3 4 4 5 5 5 6 6 7 7
s=
1 2 -1 3 -2 4 1 -3 5 2 -4 3 -5
A1 =
1 0 -1 0 1 0 0
0 2 0 -2 0 2 0
C=
11 11 11
>> B=[3 5 7;0 1 0]
B=
357 010
>> D=[0 0 0;0 0 0]
D=
000 000
2.随机生成:(1)一个含有五个元素的列向量. (2)一个数值在 0~100 之间的三行四列的矩阵.
答 (1) rand(5,1)
ans =
0.9501
0.2311 0.6068 0.4860 0.8913
0 0 3 0 -3 0 3
0 3 0 1 0
0 0 0
4
0
4
0
0 0 3 0 1
0 0 0 0 5 0 5
答(1) n=nnz(A)
n=
11
>> nonzeros(A)
MATLAB第五章(刘卫国编)
4/72
说明: (1)当x,y是同维矩阵时,则以x,y对应列元素为 横、纵坐标分别绘制曲线,曲线条数等于矩阵 的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横 坐标。 (3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
16/72
5.1.3 绘制二维图形的其他函数 1. 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有 条形图、阶梯图、杆图和填充图等,所 采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…)
18/72
2.极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选 项的内容与plot函数相似。 例5.9 绘制ρ=sin(2θ)cos(2θ)的极坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho,'k');
8/72
例5.4 用不同标度在同一坐标内绘制曲线y1=e0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。 程序如下: x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);
10/72
2. 坐标控制 函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带 参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带 参数的box命令在两种状态之间进行切换。 11/72
5章习题答案matlab
张卫华 MATLAB课堂
例13:
分析以下程序, 并运行观察。
clf;x=3*pi*(-1:0.05:1);y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; h=surf(X,Y,Z);colormap(jet); axis off n=12;mmm=moviein(n); for i=1:n rotate(h,[0 0 1],25); mmm(:,i)=getframe; end movie(mmm,5,10)
张卫华 MATLAB课堂
例5程序:
fplot('cos(tan(pi*x))',[ 0,1],1e-4)
张卫华 MATLAB课堂
例6:
绘制r=sin(t)cos(t)的极坐标图,并标记 数据点。
张卫华 MATLAB课堂例6 Nhomakorabea序:t=0:pi/50:2*pi; r=sin(t).*cos(t); polar(t,r,'-*');
title('y1=0.2e^{-0.5x}cos(4\pix) 和y2=2e^{0.5x}cos(4\pix)比较') text(2,2*exp(-1),'\fontsize{20}\bf \leftarrow x_{1}=2,y_{1}=2e^{-1}')
张卫华 MATLAB课堂
例5:
绘制f(x)=cos(tan(πx))的曲线
张卫华 MATLAB课堂
例11:
绘制柱形,剪切掉x、y小于零 的部分
张卫华 MATLAB课堂
例11程序:
t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); [X,Y,Z]=cylinder(r,60); ii=find(X<0&Y<0); Z(ii)=NaN; surf(X,Y,Z);colormap(spring), shading interp light('position',[-3,-1,3],'style','local')
MATLAB基础习题第五章习题答案
(1)如果当前时间为 7-8 点则提醒用户,该吃早饭了; (2)如果当前时间为 9-11 点则提醒用户,该学习了; (3)如果当前时间为 12-14 点则提醒用户,该午休了; (4)如果当前时间为 14-17 点则提醒用户,该锻炼了; 答: %%程序为:remind.fig、remind.m
6.求解六元线性方程组: (1)方程组的系数矩阵由用户通过键盘输入; (2)得到系数矩阵后给出方程的解; (3)程序要具有友好性 答:
%% %该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给 出方程的解; clc; clear all; close all; %% %方程输入模块 x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'}); A=cell2mat(x); %% y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
you=input('请做出你的选择,石头(1) ,剪刀(2) ,布(3) : '); end disp('您的选择是: '); disp(b(2*you-1:2*you)); compute=ceil(3*rand(1,1)); disp('电脑的选择是:'); disp(b(2*compute-1:2*compute)); %% %%输赢判断模块 %如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢 if you==compute disp('平手'); end switch(you-compute) case{1,-2} disp('您输了'); case{-1,2} disp('您赢了'); end %% %是否继续判别模块 n=input('是否继续玩该游戏?否(0) ,是(1)'); while n~=0&n~=1 disp('您输入的不是正确数字,请正确输入'); n=input('是否继续玩该游戏?否(0) ,是(1)'); end end >> 请选择,石头(1) ,剪刀(2) ,布(3) : 1 您的选择是: 石头 电脑的选择是: 、剪 您赢了 是否继续玩该游戏?否(0) ,是(1)1 请选择,石头(1) ,剪刀(2) ,布(3) : 2 您的选择是: 、剪 电脑的选择是: 石头 您输了 是否继续玩该游戏?否(0) ,是(1)0 >> 5.编写一个日程提醒程序实现如下功能:
第五章matlab习题
已知 h(t)=e-t,t≥0,取 N=64, 对 t 从 0~5 秒采样, 用 FFT 作快速傅里 叶变换,并绘制相应的振幅-频率图。
4.当矩阵 A 为自变量时,求 P(X)的值。其中 A 的值与题 3 中的相同
将 100 个学生的 5 门功课的成绩存入矩阵 P 中,进行以下处理 1. 2. . 4. 分别求每门课的最高分,最低分及相应学生序号 分别求每门课的平均分和标准方差。 5 门课总分的最高分,最低分及相应学生序号 将 5 门课总分按从大到小的顺序存入 ZCJ 中,相应学生序号存
入 XSXH
有 3 个多项式 P1(X)=X4+2X3+4X2+5,P2(X)=X+2,P3(X)=X2+2X+3,是进 行以下操作: 1. 求 P(X)=P1(X) +P2(X)P3(X) 2. 求 P(X)的根 3. 当 X 取矩阵 A 的每一行元素时,求 P(X)的值。其中 A= −1 1.2 −1.4 0.75 2 3.5 0 5 2.5
第5章 MATLAB绘图_习题答案
第5章 MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。
DA.12 B.7 C.4 D.32.下列程序的运行结果是()。
Ax=0:pi/100:2*pi;for n=1:2:10plot(n*sin(x),n*cos(x))hold onendaxis squareA.5个同心圆B.5根平行线C.一根正弦曲线和一根余弦曲线D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。
CA.{\alpha}+{\beta} B.{\α}+{\β} C.α+βD.\α+\β4.subplot(2,2,3)是指()的子图。
AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。
CA.polar B.semilogx C.semilogy D.loglog6.下列程序的运行结果是()。
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.下列函数中不能用于隐函数绘图的是()。
DA.ezmesh B.ezsurf C.ezplot D.plot38.下列程序运行后,看到的图形()。
Ct=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);surf(x,y,z)view(0,90);axis equalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。
A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1 & abs(y)<1);z(i)=NaN;surf(x,y,z);shading interpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MA TLAB“绘图”选项卡中的命令按钮绘图之前,需要()。
Matlab第五章答案
第一题(1)a=[1 9 8;7 2 5;3 -2 7] %产生矩阵det(a) %检验是否可逆ans=-442,非0,可逆div(a) %求逆矩阵(2)b=[1 0 -7 5;0 -26 7 2;7 4 3 5;8 -3 2 15]det(b)div(b)第二题(1)A=[1 2 3;2 2 5;3 5 1];B=[11 12 31];X=B/A(2) A=[3 1 0 5;0 6 7 3;0 4 3 0;2 -1 2 6];B=[2 4 7 8];X=B/A第三题(1)t=[1 2 3 4 5 6 7 8 9 10]';y=[4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005]';A=[ones(size(t)) exp(-t)];C=A\yT=[0:.1:10]';Y=[ones(size(T)) exp(-T)]*C;plot(T,Y,'-',t,y,'o')title( '采用y(t)≈c1+c2e–t的拟合' )xlabel('\itt'), ylabel('\ity')(2)t=[0 .3 .8 1.1 1.6 2.3]';y=[.82 .72 .63 .60 .55 .50]';A=[ones(size(t)) t.*exp(-t)];C=A\y;T=[0:.1:2.5]';Y=[ones(size(T)) T.*exp(-T)]*C;plot(T,Y,'-',t,y,'o')title('采用y(t)≈d1+d2te–t拟合')xlabel('\itt'), ylabel('\ity')第四题A=[11.59 12.81 15.66; 15.2 4.18 13.61; 10.597.59 9.22];[L,U]=lu(A)[Q R]=qr(A)B=[16.00 4.41 -10.37 -21.61; 0.88 -20.04 12.86 8.56; -1.43 10.71 18.81 -5.99; -12.48 24.35-23.9 10.34];[C,D]=lu(B)[E F]=qr(B)第五题(1)A=[5 -5 -6;3 -2 5;2 -1 -4];x0=[1;-4;5];X=[];for t=0:.01:1X=[X expm(t*A)*x0];endplot3(X(1,:),X(2,:),X(3,:),'-o')grid on(2)A=[1 2 -3 1;3 0 1 -2;1 -2 0 5;2 3 0 1];x0=[1;-1;2;1];X=[];for t=0:.01:1X=[X expm(t*A)*x0];endplot3(X(1,:),X(2,:),X(3,:),'-o')grid on第六题(1)A=[11.59 12.81 15.66; 15.2 4.18 13.61;10.59 7.59 9.22];lambda=eig(A)[V,D]=eig(A)(2)B=[16.00 4.41 -10.37 -21.61; 0.88 -20.04 12.86 8.56; -1.43 10.71 18.81 -5.99; -12.48 24.35 -23.9 10.34];lambda=eig(B)[V,D]=eig(B)第七题(1)x=[1 2 3 4 5 6 7 8 9 10];y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];p=polyfit(x,y,2);x2=1:.1:10;y2=polyval(p,x2);figure(1)plot(x,y,'o',x2,y2)grid ontitle('二阶多项式曲线拟合')(2)x=[1 2 3 4 5 6 7 8 9 10];y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];p=polyfit(x,y,3);x2=1:.1:10;y2=polyval(p,x2);figure(1)plot(x,y,'o',x2,y2)grid ontitle('三阶多项式曲线拟合')第八题p1=[1,-2-3,4,2];p2=[1,-7,5,31,-30];p3=[1,-1,-25,25];p4=[-2,3,1,5,8,0];[L1,U1]=lu(p1)r1=roots(p1)[L2,U2]=lu(p2)r2=roots(p2)[L3,U3]=lu(p3)r3=roots(p3)[L4,U4]=lu(p4)r4=roots(p4)第九题p1=[1,-2-3,4,2];p2=[1,-7,5,31,-30];p3=[1,-1,-25,25];p4=[-2,3,1,5,8];p1_x=polyval(p1,[-1.5,2.1,3.5]) p2_x=polyval(p2,[-1.5,2.1,3.5]) p3_x=polyval(p3,[-1.5,2.1,3.5]) p4_x=polyval(p4,[-1.5,2.1,3.5])第十题a=[2,3,-4];b=[4,-2,5];c=[3,0,-2,5,6];d1=conv(a,b)[d2,r2]=deconv(c,a)[d3,r3]=deconv(c,b)第十一题a=[2,3,-4];b=[4,-2,5];c=[3,0,-2,5,6];dao1=polyder(a,b)[dao2,r2]=polyder(c,a)[dao3,r3]=polyder(c,b)第十二题x=-5:.25:5;y=10*exp(-x);xi=-5:5;y1=interp1(x,y,xi,'nearest');y2=interp1(x,y,xi,'linear');y3=interp1(x,y,xi,'spline');y4=interp1(x,y,xi,'cubic'); figure(1);subplot(2,2,1)plot(x,y,'-',xi,y1,'o');title('最邻近内插');grid on;xlabel('x');ylabel('y');subplot(2,2,2)plot(x,y,'-',xi,y2,'o');title('线性内插');grid on;xlabel('x');ylabel('y');subplot(2,2,3)plot(x,y,'-',xi,y3,'o');title('三次样条内插');grid on;xlabel('x');ylabel('y');subplot(2,2,4)plot(x,y,'-',xi,y4,'o');title('三次曲线内插');grid on;xlabel('x');ylabel('y');第十三题x=rand(1,50);y=randn(1,50);minx=min(x)miny=min(y)maxx=max(x)maxy=max(y)avx=mean(x)avy=mean(y)Ex=(std(x)).^2Ey=(std(y)).^2第十四题t=[0 .2 .4 .6 .8 1.0 2.0 5.0 ]';y=[1.0 1.51 1.88 2.13 2.29 2.40 2.60 24.00]'; X1=[ones(size(t)) t t.^2];a=X1\y;X2=[ones(size(t)) exp(-t) t.*exp(-t)];b=X2\y;T=[0:.1:6]';Y1=[ones(size(T)) T T.^2]*a;Y2=[ones(size(T)) exp(-T) T.*exp(-T)]*b; figure(1)subplot(1,2,1)plot(T,Y1,'-',t,y,'o'),grid ontitle('多项式回归')subplot(1,2,2)plot(T,Y2,'-',t,y,'o'),grid ontitle('指数函数回归')第十五题t=0:1/119:1;x=3*sin(2*pi*20*t)+10*sin(2*pi*200*t+pi/4)+10*randn(size(t)); y=fft(x);m=abs(y);f=(0:length(y) -1)'*119/length(y);figure(1)subplot(2,1,1),plot(t,x),grid ontitle('被噪声污染的信号')ylabel('Input \itx'),xlabel('Time ')subplot(2,1,2),plot(f,m)ylabel('Abs. Magnitude'),grid onxlabel('Frequency (Hertz)')第十六题w=input('w=');t=0:1/119:1;x1=sin(w.*t)+randn(size(t));x2=cos(w.*t)+randn(size(t));x3=sin(w.*t)+randn(size(t));a=corrcoef(x1,x2)b=corrcoef(x1,x3)若没有正弦分量w=input('w=');t=0:1/119:1;x1=randn(size(t));x2=randn(size(t));x3=randn(size(t));a=corrcoef(x1,x2)b=corrcoef(x1,x3)第十七题z1=quad('exp(-2*t)',0,2)z2=quad('exp(2*t)',0,2)z3=quad('exp(t.^2-3*t+.5)',-1,1)第十八题function y=five(x)y=exp(-x)-1.5*exp(2*cos(2*x));%主函数x0=input('x0='); %执行时,按要求输入[-1,1]z=fzero('five',x0)第十九题function f=five(x,y)f=exp(-x.*y)-2*x.*y;%主函数z=dblquad('five',0,1,-1,1)第二十题function dy=five(t,y)dy=[0.5-y(1);y(1)-4*y(2)];%主函数X0=[1; -0.5];tspan=[0,25];[T,X]=ode45('five',tspan,X0);figure(1)subplot(2,1,1),plot(T,X(:,1),'r'),title('x_{1}'),grid onsubplot(2,1,2),plot(T,X(:,2),'k'),title('x_{2}'),grid onfigure(2)plot(X(:,1),X(:,2)),title('系统轨迹'),grid onxlabel('x_{1}'),ylabel('x_{2}')。
MATLAB习题参考答案(胡良剑,孙晓君)
% 如图(4.31) % 如图(4.32)
图(4.31)error
4 2 2 2
图(4.32)
(4)曲面 z = x + 3 x + y − 2 x − 2 y − 2 x y + 6, x < 3,−3 < y < 13 解: >> xa=linspace(-3,3,100);ya=linspace(-3,13,100); >> [x,y]=meshgrid(xa,ya); >> z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6; >> mesh(x,y,z) >> surf(x,y,z)
解:建立 M 文件 pxy 如下: xa=-2:0.05:2;ya=xa; nx=length(xa);ny=length(ya); [x,y]=meshgrid(xa,ya); z=zeros(nx,ny); [a1,b1]=find(x+y>1); %第 a1 列 b1 行对应的 x+y>1 (x 对应列;y 对应行) %第 a1 列对应的 x 值是 xa(a1);第 b1 行对应的 y 值是 ya(b1) z((a1-1)*ny+b1)=0.5457*exp(-0.75*ya(b1).^2-3.75*xa(a1).^2-1.5*xa(a1)); [a2,b2]=find(x+y<=1&x+y>-1); z((a2-1)*ny+b2)=0.7575*exp(-ya(b2).^2-6*xa(a2).^2); [a3,b3]=find(x+y<=-1); z((a3-1)*ny+b3)=0.5457*exp(-0.75*ya(b3).^2-3.75*xa(a3).^2+1.5*xa(a3)); surf(x,y,z); 命令窗口: >> pxy 运行结果如右图: 或者 M 文件如下: clear;close; xa=-2:0.1:2;ya=-2:0.1:2;[x,y]=meshgrid(xa,ya); z=zeros(size(x)); k1=find(x+y>1); z(k1)=0.5457*exp(-0.75*y(k1).^2-3.75*x(k1).^2-1.5*x(k1)); k2=find(x+y<=1&x+y>-1); z(k2)=0.7575*exp(-y(k2).^2-6*x(k2).^2); k3=find(x+y<-1); z(k3)=0.5457*exp(-0.75*y(k3).^2-3.75*x(k3).^2+1.5*x(k3)); mesh(x,y,z); 6、运行 demo 解:>>demo 7、查询 trapz 的功能、用法、目录、程序结构、相同目录下其它文件 解: >> help trapz ――功能用法 >> type trapz――程序结构,源码 >> which trapz――所在目录 >> help C:\MATLAB6p5\toolbox\matlab\datafun――该目录下其它文件
MATLAb与数学实验 第五章习题解答
01 10 00 0 -2
(1,1)
1
(3,2)
1
(2,3)
2
(1,4)
-1
(3,5)
3
A2 =
1 0 0 -1 0 00200
01003 (3) A1 =
(1,1)
1
(5,1)
2
(4,2)
3
(3,3)
1
(2,4)
3
(1,5)
2
(5,5)
1
A2 =
10002 00030 00100 03000 20001 18.创建一个 4 阶稀疏矩阵,使副对角线上元素为 1 答 A=sparse(1:4,1:4,1)
B=
-2 0 0 010 004
C=
-2 1 4
14 47 7 10
D=
-2 0 0 -2 1 4 010147 0 0 4 4 7 10
F=
-2 1 4 147 4 7 10 -2 0 0 010 004
(4) C=[-2 1 4;1 4 7;4 7 10] C(:,1)=[]
C=
-2 1 4 147 4 7 10
A=
(1,1)
1
(2,2)
1
(3,3)
1
(4,4)
1
19.创建如下稀疏矩阵,查看其信息,并将其还原成全元素矩阵
1 0 2 0 0 1 0 1 0 1 0 0
0 1 0 2 0
0 2 0 2 0
2
0
(1) 3 0 1 0 2 (2) 0 0 3 0 3 0 3
工种
天数 在木工家的工作天数 在电工家的工作天数 在油漆工家的工作天数
木工
2 4 4
MATLAB语言与控制系统仿真-参考答案-第5章
控制系统的时域响应MATLAB 仿真实训实训目的1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法;2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法;3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法;4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法;5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。
实训内容1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。
162.316)(21++=s s s G 164.216)(22++=s s s G 166.116)(23++=s s s G 1616)(24++=s s s G 解:>> n1=16; >> d1=[1,,16]; >> sys1=tf(n1,d1); >> step(sys1)>> n2=16; >> d2=[1,,16]; >> sys2=tf(n2,d2); >> step(sys2)>> n3=16;>> d3=[1,,16]; >> sys3=tf(n3,d3); >> step(sys3)>> n4=16;>> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)表5-5序号ξn ωm ax cp ts t (%5=∆)计算值实验计算值实验计算值实验值1 42 43 44 4w=4;cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=(z1*w); [cmax1,tp1,ts1] ans =>> z2=;w=4;cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=(z2*w); [cmax2,tp2,ts2] ans =>> z3=; w=4;cmax3=1+exp(-z3*pi/sqrt(1-z3^2)); tp3=pi/(w*sqrt(1-z3^2)); ts3=(z3*w); [cmax3,tp3,ts3] ans =>> z4=; w=4;cmax4=1+exp(-z4*pi/sqrt(1-z4^2)); tp4=pi/(w*sqrt(1-z4^2)); ts4=(z4*w); [cmax4,tp4,ts4] ans =说明:对于二阶欠阻尼系统(10<<ξ),若系统的闭环传递函数为2222)(nn ns s s Φωξωω++=则系统单位阶跃响应的输出最大值21max 1ξξπ--+=ec峰值时间21ξωπ-=n p t调整时间估算值ns t ξω5.3=(以5%为误差带)ns t ξω4.4=(以2%为误差带)2.已知二阶系统的闭环传递函数如下,编程求取系统的单位阶跃响应并完成表5-6,记录相关曲线。
第5章--MATLAB绘图-习题答案
第5章 MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。
DA.12 B.7 C.4 D.32.下列程序的运行结果是()。
Ax=0:pi/100:2*pi;for n=1:2:10plot(n*sin(x),n*cos(x))hold onendaxis squareA.5个同心圆B.5根平行线C.一根正弦曲线和一根余弦曲线D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。
CA.{\alpha}+{\beta} B.{\α}+{\β} C.α+βD.\α+\β4.subplot(2,2,3)是指()的子图。
AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。
CA.polar B.semilogx C.semilogy D.loglog6.下列程序的运行结果是()。
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.下列函数中不能用于隐函数绘图的是()。
DA.ezmesh B.ezsurf C.ezplot D.plot38.下列程序运行后,看到的图形()。
Ct=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);授课:XXXsurf(x,y,z)view(0,90);axis equalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。
A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1 & abs(y)<1);z(i)=NaN;surf(x,y,z);shading interpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MA TLAB“绘图”选项卡中的命令按钮绘图之前,需要()。
第5章 MATLAB绘图_习题答案
第5章MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制( )条曲线。
DA。
12 B。
7 C.4 D.32.下列程序得运行结果就是()。
Ax=0:pi/100:2*pi;for n=1:2:10plot(n*sin(x),n*cos(x))hold onendaxissquareA。
5个同心圆B.5根平行线C.一根正弦曲线与一根余弦曲线 D.5根正弦曲线与5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}’)执行后,得到得标注效果就是( )。
CA.{\alpha}+{\beta}B。
{\α}+{\β} C.α+βD.\α+\β4。
subplot(2,2,3)就是指( )得子图。
AA.两行两列得左下图B.两行两列得右下图C.两行两列得左上图D.两行两列得右上图5。
要使函数y=2ex得曲线绘制成直线,应采用得绘图函数就是().CA.polarB。
semilogxC。
semilogy D。
loglog6.下列程序得运行结果就是( )。
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.下列函数中不能用于隐函数绘图得就是()。
DA.ezmeshB.ezsurfC.ezplotD.plot38.下列程序运行后,瞧到得图形().Ct=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);surf(x,y,z)view(0,90);axis equalA.像墨西哥帽子 B.就是空心得圆C。
边界就是正方形D.就是实心得圆9。
下列程序运行后得到得图形就是( ).A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1 & abs(y)<1);z(i)=NaN;surf(x,y,z);shadinginterpA。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章
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
3.在同一图形窗口中采用子图形式分别绘制正方形、圆、三角形和六边形。
答:
n=[3 4 6 2^10] for i=1:4
subplot(2,2,i)
theta=linspace(pi/n(i),2*pi+pi/n(i),n(i)+1); plot(cos(theta),sin(theta)); axis equal; end
4. 分别用plot 和fplot 绘制下列分段函数的曲线。
⎪⎩⎪⎨⎧<--+=>+++=0,510,00,51)(342x x x x x x x x f
答: plot 函数: 方法一:
x=linspace(-10,10,200); y=[]; for x0=x if x0>0
y=[y,x0.^2+(1+x0).^(1/4)+5]; elseif x0==0 y=[y,0]; elseif x0<0
y=[y,x0.^3+sqrt(1-x0)-5]; end
end
plot(x,y)
方法二:
x=linspace(-10,10,200);
y=(x<0).*(x.^3+sqrt(1-x)-5)+(x==0).*0+(x>0).*(x.^2+(1+x).^(1/4)+5); plot(x,y)
用fplot函数:
fplot('(x<0).*(x.^3+sqrt(1-x)-5)+(x==0).*0+(x>0).*(x.^2+(1+x).^(1/4)+ 5)',[-10,10])
5. 在同一坐标轴中绘制下列两条曲线并标注两曲线的交叉点。
(1)5.02-=x y
(2)⎪⎩
⎪
⎨
⎧=≤≤=t t y t t t x sin )3sin(0cos )3sin(π 答: 相邻两点x1、x2 曲线(1)相应的y 值为y11、y12, 曲线(2)y 相应的y 值y21、y22, 若(y11-y21)与(y12-y22)符号相反或等于0,则x1或x2就是一个交叉点。
方法一:
t=linspace(0,pi,300); x=sin(3*t).*cos(t);
y1=2*;
y2=sin(3*t).*sin(t); len=length(t); p=y1-y2;
x3=x((find(p(1:len-1).*p(2:len)<=0))); y3=2*;
plot(x,y1,x,y2,x3,y3,'rd')
方法二:用循环 %t=0::pi;
t=linspace(0,pi,100); x=sin(3*t).*cos(t); y1=2*;
y2=sin(3*t).*sin(t);
plot(x,y1,x,y2);grid;
delta_y=y1-y2;
% figure;stem(delta_y);
j=1;
for i=1:length(t)-1
if delta_y(i)*delta_y(i+1)<=0 position(j)=i+1;
j=j+1;
end end
hold on;
plot(x(position),y1(position),'r o');
title('两条曲线相交');
xlabel('x');ylabel('y');
h = legend('y1','y2');。