搜档网
当前位置:搜档网 › 第四章 MATLAB

第四章 MATLAB

第四章 MATLAB
第四章 MATLAB

MATLAB应用

4.2 三维图形

●一、绘制三维曲线的基本函数

●二、三维曲面

●三、三维图形的精细处理

3D与2D绘图的语句结构基本相同,仅绘图函数不同。

一、绘制三维曲线的基本函数

●plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn, 选项n)

●x,y,z分别是向量

——plot(x,y,z)绘制一条三维曲线。

●x,y,z分别是同维矩阵(n*m)

—— plot3(x,y,z)绘制m条三维曲线(按列操作)。

●例4.17绘制空间曲线

曲线所对应的参数方程为

●程序如下:

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,'orgin');

xlabel('X'),ylabel('y'),zlabel('Z');grid;

二、三维曲面

●绘制三维曲线的基本函数

●绘制三维曲面的函数

●标准三维曲面

1. 平面网格坐标的生成

●绘制z=f(x,y) 所代表的三维曲面图,先要在xy平面选定一矩形区域,假定矩形区域D=[a,b]

×[c,d],然后将[a,b] 在x方向分成m份,将[c,d]在y方向分成n份,由各划分点分作平行于两坐标轴的直线,将区域D分成m×n个小矩形,生成代表每个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数绘图。

●产生平面区域内的网格坐标矩阵的两种方法:

●利用矩阵运算生成

●利用meshgrid 函数生成

1)利用矩阵运算生成

x=a:dx:b;

y=(c:dy:d)';

X=ones(size(y))*x;

Y=y*ones(size(x));

2)利用meshgrid函数生成

●x=a:dx:b;

●y=(c:dy:d)';

●[x,y]=meshgrid(x,y);

●当x=y时,可写成meshgrid(x);

2. 绘制三维曲面的函数

●1) 三维网格图mesh

●(1) 一般mesh(x,y,z,c)。

●(2) 带等高线meshc。

●(3) 加围裙meshz。

●2) 三维曲面图surf

●(1) 一般surf(x,y,z,c)。

●(2) 带等高线surfc。

●(3) 加光源surfl

●说明:

●一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,

c 用于指定在不同高度下的颜色范围。

●c 可省略。

●x,y 省略时,由z 矩阵的列坐标和行坐标构成网格坐标矩阵。

●x,y为向量时,要求x的长度等于z矩阵的列数,y的长度等于z矩阵的行数,x,y向量元素的

组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲面图。

●例4.18 plot3,mesh,surf绘制三维图形的效果比较。

见examp418.m

●例4.19 在xy平面内选择区域

[-8,8]×[-8,8],绘制函数

的4种三维曲面图。

见examp419.m

三、标准三维曲面

●sphere

●cylinder

●peaks

sphere

●调用格式:

●[x,y,z]=sphere(n)

●说明:

●产生(n+1)×(n+1) 的矩阵x,y,z

●利用x,y,z 可绘制出圆心位于原点,半径为1 的单位球体。

●若不带参数,则直接绘制所需球面。

●n 决定球面的圆滑程度。

cylinder

●调用格式:

●[x,y,z]=cylinder(R,n)

●说明:

●R 是一个向量,存放柱面各间隔高度的半径。

●n 表示在圆柱圆周上有n 个间隔点,默认有20 个间隔点。

●例如:

●cylinder(3)生成一个圆柱;

●cylinder([10,1])生成一个圆锥;

●t=0:ip/100:4*pi;

●R=sin(t);

●cylinder(R,30)生成一个正弦型柱面。

●生成矩阵的大小于R向量的长度及n有关。

peaks——多峰函数

●常用于三维曲面的演示

●该函数可以用来生成绘图数据矩阵。

●例4.20 绘制标注三维曲面图形

见examp420.m

5.3 三维图形的精细处理

●一、视角处理

●二、色彩处理

一、视角处理

●设置视点的函数view

●view(az,el)

●az——方位角

●el——仰角

●其单位为度,

●默认视点定义为

?方位角-37.5 度,

?仰角30 度

●例4.21 从不同视点绘制多峰函数曲面。

●程序如下:

subplot(2,2,1);mesh(peaks);

view(-37.5,30); %指定子图1的视点

title('azimuth=-37.5,elevation=30')

subplot(2,2,2);mesh(peaks);

view(0,90); %指定子图2的视点

title('azimuth=0,elevation=90')

subplot(2,2,3);mesh(peaks);

view(90,0); %指定子图3的视点

title('azimuth=90,elevation=0')

subplot(2,2,4);mesh(peaks);

view(-7,-10); %指定子图4的视点

title('azimuth=-7,elevation=-10')

二、色彩处理

●1. 色图

●2. 三维表面图形的着色

●3. 图形的裁剪处理

1. 色图

●在MATLAB中,涉及到对一个对象着色,必须要有一个颜色映象表(色图)。这个表由函数

colormap来实现。colormap是一个矩阵,有固定列数为3,行数为N。每行的3个元素分别由0-1的值来实现,第一个元素表示红色(R)的强度,第二个元素表示绿色(G)的强度,第三个元素表示蓝色(B)的强度(RGB三元组)。如:1 1 1表示是白色0 0 0 表示黑色。0.5 0.5 0.5, 表示橙色,任意组合。

●色图矩阵(Color map)可以自己创造,也可以由MATLAB系统提供。

●MATLAB系统的色图矩阵有(64×3)

●命令窗用colormap(hot);colorbar看矩阵的颜色分布。

●MATLAB中的色图矩阵,参见教材P110表5.4

●对一个对象着色时,需根据某一颜色信息矩阵中的元素值大小去确定颜色矩阵中的某一行(颜

色)。如颜色矩阵有N行,则系统自动将颜色信息矩阵的元素从小到大分为N组,每一组的元素代表一种颜色。

●在surf(x,y,z)的绘图中,颜色矩阵默认为hsv。

●语句surf(x,y,z,c)中,c就是颜色信息矩阵,省略时系统默认该矩阵为z,与该语句配合使用

的还有色图矩阵必须提供。

●格式:

●colormap(m)

●例4.22 色图矩阵的使用

●见examp422.m

2. 三维表面图形的着色

●利用shading命令来改变着色方式

●shading faceted

●shading flat

●shading interp

●例4.23 shading命令的三种图形着色方式的效果展示。

●程序如下:

z=peaks(20);colormap(copper);

subplot(1,3,1);surf(z);

subplot(1,3,2); surf(z);shading flat;

subplot(1,3,3);surf(z);shading interp;

3. 图形的裁剪处理

●利用NaN

●函数值为NaN的部分不会显示,从而达到对图形进行裁剪的目的。

●例4.24绘制两个球面,其中一个球在另一个球里面,将外面的球裁掉一部分,以便能看到里

面的球。

见examp424.m

5.4 隐函数绘图

●MATLAB提供了一个ezplot函数绘制隐函数图形。

●用法:

(1) 对于函数f = f(x),ezplot函数的调用格式为:

ezplot(f):在默认区间-2π

ezplot(f, [a,b]):在区间a

(2) 对于隐函数f = f(x,y),ezplot函数的调用格式为:

ezplot(f):在默认区间-2π

ezplot(f, [xmin,xmax,ymin,ymax]):在区间xmin

ezplot(f, [a,b]):在区间a

(3) 对于参数方程x = x(t)和y = y(t),ezplot函数的调用格式为:

ezplot(x,y):在默认区间0

ezplot(x,y, [tmin,tmax]):在区间tmin < t < tmax绘制x=x(t)和y=y(t)的图形。

●例4.25 隐函数绘图应用举例

●见examp425.m

●其他隐函数绘图函数:

●ezpolar

●ezplot3

●ezcontour

●ezmesh

●ezsurf

●…

本章小结

在本章介绍了MATLAB的基本图形和数据可视化的能力。MATLAB的图形和数据可视化是其强大功能的一个重要表现,这其中包括了灵活的二维和三维数据可视化、各种图形标注和特殊图形的绘制能力,另外MATLAB还提供了丰富的导入、导出数据图形的能力。本章小结

●MATLAB不仅能够将图形绘制出来,而且还具有完成一定的数据分析的能力。

●通过本章的学习,要掌握基本的数据可视化和绘图函数的使用,数据可视化和分析是科学计

算、信号处理、控制系统应用等领域的重要内容,掌握本章的内容可以为这些领域内的高级应用打下坚实的基础。

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课后答案完整版

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 具有非常强大的二维和三维绘图功能,尤其擅长于各种科学运算结果的优秀可视化。 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

第4章matlab程序流程控制_习题答案

第4章 MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。 A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; if y==10 y=20; elseif y>0 y=30 end disp(y) A.1 B.30 C.10 D.20 3.有以下语句: a=eye(5); for n=a(2:end,:) for循环的循环次数是()。C A.3 B.4 C.5 D.10 4.设有程序段 k=10; while k k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段: x=reshape(1:12,3,4); m=0;

n=0; for k=1:4 if x(:,k)<=6 m=m+1; else n=n+1; end end 则m和n的值分别是()。C A.6 6 B.2 1 C.2 2 D.1 2 6.调用函数时,如果函数文件名与函数名不一致,则使用()。A A.函数文件名 B.函数名 C.函数文件名或函数名均可 D.@函数名 7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。B A.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c) C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z) 8.执行语句“fn=@(x) 10*x;”,则 fn是()。A A.匿名函数 B.函数句柄 C.字符串 D.普通函数 9.执行下列语句后,变量A的值是()。D >> f=@(x,y) log(exp(x+y)); >> A=f(22,3); A.22,3 B.22 C.3 D.25 10.程序调试时用于设置断点的函数是()。A A.dbstop B.dbclear C.dbcont D.dbstack 二、填空题 1.将有关MATLAB命令编成程序存储在一个扩展名为.m的文件中,该文件称为。M文件 2.有语句“for k=[12;34]”引导的循环结构,其循环体执行的次数为。1 3.MATLAB中用于控制不确定重复次数的循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。while…end,break 4.函数文件由语句引导。在函数定义时,函数的输入输出参数称为参数,简称。在调用函数时,输入输出参数称为参数,简称。 function,形式,形参,实际,实参 5.在MATLAB中,函数文件中的变量是变量。定义变量是函数间传递信息的一种手段,可以用命令定义。局部,全局,global 6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即错

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);

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.sodocs.net/doc/294803984.html,’,’Zhang@https://www.sodocs.net/doc/294803984.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Name='Zhang' Students(1).Age=18 Students(1).Email='Zhang@https://www.sodocs.net/doc/294803984.html,','Zhang@https://www.sodocs.net/doc/294803984.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.sodocs.net/doc/294803984.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]

第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

matlab第五章课后答案

第一题:某河床的横截面积,为了计算最大的排洪量,需要计算他的横断面积,用梯形法计算其断面积。 >> x=[0 4 10 12 15 22 28 34 40]; y=[0 1 3 6 8 9 5 3 0]; trapz(x,y) ans = 178.5000 答:用梯形积分法求的其面积为178.5平方米。 第五题:求下列积分的数值解。 (2). e 2x 2π 0cos ?3x dx >>fun=inline('exp(2*x).*cos(x).^3'); >>quadl(fun,0,2*pi) ans = 9.7054e+004 答:所求积分的数值解为:9.7054*10^4。 (4) sinx x 10dx .>>fun=@(x)sin(x)./x; quadl(fun,1e-10,1) ans = 0.9461 答:所求积分的数值解为:0.9461. (6) dθ 2sinθ1 02π0

.>>fun=inline('sqrt(1+r.^2.*sin(th))','r','th'); dblquad(fun,0,1,0,2*pi) ans = 6.1879 答:所求积分的数值解为:6.1879. (7)1+x+y dydx,D为x2+y2≤2x .function s=dblquad2(fun,a,b,clo,dhi,n) ifnargin<6,n=100;end x=linspace(a,b,n+1); s=0; for i=1:n s=s+dblquad(fun,x(i),x(i+1),feval(clo,(x(i)+x(i+1))/2),feval(dhi,(x(i)+x(i+1))/ 2)); end >>clear; >>fun=inline('1+x+y.^2','x','y'); >>clo=inline('-sqrt(2*x-x.^2)'); >>dhi=inline('sqrt(2*x-x.^2)'); >>dblquad2(fun,0,2,clo,dhi,100) ans = 7.0705

数学实验第四章函数和方程习题MATLAB编码(胡良剑版)

数学实验第四章函数和方程习题MATLAB编码(胡良剑版)答案 % fun=inline('x^2+x+1','x') % fzero(fun,x) % p=[1 1 1];x=roots(p) % polyval(p,x) % x=-2:0.01:-1;y=x.*sin(x.^2-x-1); % [m,h]=min(y) % [n,l]=max(y) % x(h) % fun=inline('x*sin(x^2-x-1)','x'); % [x,f]=fminbnd(fun,-1.6,-1) % [X,F]=fminsearch(fun,-1.6) % fun=inline('-5+x(1)^4+x(2)^4-4*x(1)*x(2)') % % [x,g]=fminsearch(fun,[0,0]) % 第二题 % fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x'); % fzero(fun,2) % M函数fift.m % function f=fiftc(c) % x=[0.1 0.2 0.15 0 -0.2 0.3]; % y=[0.95 0.84 0.86 1.06 1.50 0.72]; % e=y-(c(1)*x.^2+c(2)*x+c(3)); % 第5题 % fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36,x(1)^2-2*x(2)^2-20*x(3),16*x(1)-x(1)^3-2*x(2)^2-1 6*x(3)^2]','x'); % [a,b,c]=fsolve(fun,[0 0 0]) % 第6题 % fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))]; % [a,b,c]=fsolve(fun,[0.5 0.5]) % 第7题 % t=0:pi/100:2*pi; % x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t); % x2=3+sqrt(2)*cos(t); y2=6*sin(t); % plot(x1,y1,x2,y2); grid on; % 作图可发现4个解的大致位置,然后分别求解 % y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.5,2]) % y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.8,-2]) % y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[3.5,-5])

MATLAB及其在大学物理中的应用——第二章习题答案

MATLAB 及其在大学物理中的应用——第二章习题答案 作者:荆楚理工吴世华 2.1试求下列极限: (1)x x x 1)93(lim +∞→(2)5 232)5()3()2(lim +++∞→+++x x x x x x x 2.2求下列函数的导数: (1) x e x x x y -=1sin )((2)) 4)(3()2)(1()(----=x x x x x y (3))ln(tan 22y x x y a +=(4)0,ln 1)(>+-=n x a x na x y n n 2.3已知参数方程22,sin cos cos ln dx y d dx dy t t t y t x 和求? ??-==。2.4设22,00y u xv yu yv xu ?????=+=+求。2.5设已知函数矩阵 ?? ????++=z y x z e x y x f y sin 3),(23,试求其雅可比矩阵。2.6求下列不定积分:

(1)dx a x x a x x f ?++=2222) (3)((2) dx x x x x x f ?+++=1)1()((3) dx bx xe x f ax ?=cos )((4)cxdx bx e x f ax sin sin )(?=2.7求下列函数的泰勒幂级数展开。(1)dt t t x ?0sin (2)x x -+11ln (3) )3/3sin(5π+-x e x 分别关于x=0,x=a 的幂级数展开。2.8分别用roots 函数和多项式伴随矩阵的特征值求根法求解方程 6251234=++-x x x 的所有根。 2.9分别用矩阵除法和linsolve 函数法求解下列方程组。 ???????=++-+=+--=+-+--=+-+-0 2660835502492633092458432142143214321x x x x x x x x x x x x x x x 2.10用符号法求解方程组:? ??=-=+151926628y x y x

第5章MATLAB绘图_习题答案

第5章MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12B.7C.4D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; forn=1:2:10 plot(n*sin(x),n*cos(x)) holdon end axissquare 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.两行两列的右上图 x的曲线绘制成直线,应采用的绘图函数是()。C 5.要使函数y=2e A.polarB.semilogxC.semilogyD.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.ezmeshB.ezsurfC.ezplotD.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);

matlab课后习题答案第四章

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff 或数值梯度gradient指令计算)(t y'曲线绘制 y',然后把)(t y和)(t 在同一张图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') (3)用gradent求导的指令(图形与上相似) dt=t(2)-t(1); yc=gradient(y)/dt;

plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级 以上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ? =0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间内的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间内的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 =

第2章--MATLAB数据及其运算-习题答案教学内容

第2章--M A T L A B数据及其运算-习题答案

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MATLAB合法变量名的是()。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.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453 D.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

第5章--MATLAB绘图-习题答案上课讲义

第5章--M A T L A B绘图-习题答案

第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);

相关主题