您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页MATLAB复习题(含答案)

MATLAB复习题(含答案)

来源:五一七教育网
 MATLAB语言复习大纲

1、掌握以下命令行编辑常用的控制键的用法:Del,Esc,Backspace,Ctrl+C。 答:Del是删除光标右边的字符

Esc是删除当前行的全部内容 Backspace是删除光标左边的字符 Ctrl+c是中断一个matlab任务

2、在Matlab中,行注释是以什么符号开头的? 答:注释是以%开头,后面是注释的内容 3、合法的变量名的命名规则是什么?

答:是以字母开头,后接字母、数字或下划线的字符序列,最多允许有63个字符

4、在Matlab中,矩阵行与行之间,同行元素之间以什么符号分隔开来?若a是一个m*n的矩阵,则求解矩阵a中最小的元素语句是什么?min(min(a)) 答:同一行的个元素之间用空格或逗号分隔,不同行的元素用分号分隔 5、建立一个均值为3,方差为2的10*10的正态分布随机矩阵命令是什么? 答:X=3+sqrt(2)*randn(10)

6、产生单位矩阵,全零矩阵,全一矩阵的函数是什么? 答: eye ones zeros eye(3) ans =

1 0 0 0 1 0 0 0 1

>> ones(3) ans =

1 1 1 1 1 1 1 1 1

>> zeros(3) ans =

0 0 0 0 0 0 0 0 0 >>

7、MATLAB的矩阵有哪两种存储方式?函数文件与命令文件的区别是什么? 答:完全存储方式和稀疏存储方式

区别:56页 8、命令plot(x),当x为复数向量时,如何画曲线?掌握plotyy函数的用法,它与plot函数有什么区别?P86

答:当x为复数向量时,则分别以向量元素实部和虚部为横、纵坐标绘制一条曲线。

9、最常见绘制网线图函数和最常用绘制曲面图函数分别是什么?如何使用? 答:mesh(x,y,a,c),surf(x,y,z,c)

10、MATLAB提供哪些函数进行动画制作?

答:111页;getframe moviein(n) movie(m,n)

11、掌握view函数的使用方法。什么是方位角,什么是仰角? 答:view(az,el) az为方位角,el为仰角, 106页

12、在MATLAB中,如何绘制一个梯形图(提示:结合信号与系统实验一)

13、在MATLAB中,如何进行三维图形的裁剪?见课本例题。 109页

14、掌握绘制二维曲线的方法,并修改线型。掌握绘制三维饼图的方法,掌握绘制三维条形图的方法。

答: 二维83—88页 三维104页

15、给图形加网格线的函数是什么? 答:grid on

16、Matlab中提供的计算累乘积的函数是什么? 119页:cumprod(X):返回向量X累乘向量

cumprod(A)返回一个矩阵,其第i列是Ade第i列的累乘积向量

cumprod(A,dim)当dim为1时,该函数等同于cumprod(A);当dim为 2 时,返回一个矩阵,其第i行是A的第i行的累乘积向量

17、什么是数据插值?什么是曲线拟合?说明它们的共同点和不同点。

答:插值:定义为对数据点之间函数的估值方法,这些数据点是由某些集合给定。当人们

不能很快地求出所需中间点的函数值时,插值是一个有价值的工具。

对于实验或统计数据,为了描述不同变量之间的关系,经常采用拟合曲线的办法。拟合曲线,就是要根据已知数据找出相应函数的系数。通常情况下,已知数据往往多于未知系数的个数,所以曲线拟合实质上是解超线性方程组

实验讲义: 实验二 2,5

154831,B253 0782、已知A3617320求下列表达式的值:

(1)A+6B和A2BI(I为单位矩阵) >> A=[-1,5,-4;0,7,8;3,61,7];

>> A/B

A\\B

>> A+6*B

ans =

47 23 -10 12 37 26 -15 73 7

>> I=[1,0,0;0,1,0;0,0,1]; >> A^2-B+I

ans =

-18 -217 17 22 533 109 21 867 526

(2)A*B、A.*B和B*A

>> A*B

ans =

14 14 16 -10 51 21 125 328 180

>> A.*B

ans =

-8 15 4 0 35 24

-9 122 0

>> B*A

ans =

-11 0 -15 7 228 53 3 -1 28

(3)A/B及B\\A >> A/B

ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.36

>> B\\A

ans =

-0.5106 -8.6170 -1.1277

0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043

(4)[A,B] 和[A([1,3],:) ; B^2] >> [A,B]

ans =

-1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0

>> [A([1,3],:);B^2]

ans =

-1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9

5、已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作

(1)取出A的第2,4行和第1,3,5列

>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20] A =

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

>> A([2 4],[1 3 5]) ans =

6 8 10 16 18 20

(2)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] >> A= A' A =

1 6 11 16 2 7 12 17 3 8 4 9 5 10

>> B =A(:) B = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

20

18 19 20 13 14 15 >> B=B' B =

Columns 1 through 10

1 2 3 4 5 6 7 8 9 10

Columns 11 through 20

11 12 13 14 15 16 17 18 19 20 (3)删除A的第2,3,4行元素 >> A(2:4,:)=[] A =

1 2 3 4 5

实验三4,5

1、求下列矩阵的主对角元素,上三角矩阵,下三角矩阵,逆矩阵,行列式的值,秩,范数,条件数,迹。

112514(1)A3051115030.434322 (2)B 28.94219 >> A=[1 -1 2 3;5 1 -4 2;3 0 5 2;11 15 0 9] A =

1 -1 2 3 5 1 -4 2 3 0 5 2 11 15 0 9 >> diag(A)

ans =

1

1 5 9

>> triu(A)

ans =

1 0 0 0

>> tril(A)

ans =

1 5 3 11

>> inv(A)

ans =

-45/256 -27/256 -13/256 25/

>> det(A)

ans =

1280

>> rank(A)

ans =

4

-1 1 0 0 0 1 0 15 21/128 -13/128 -11/128 -1/32 2 -4 5 0 0 0 5 0 129/0 -5/128 97/0 -29/160 3 2 2 9 0 0 0 9 -29/1280 17/256 3/1280 9/320 >> a1=norm(A,1) a1 =

20

>> a2=norm(A) a2 =

4111/193

>> ainf=norm(A,inf)

ainf =

35

>> c1=cond(A,1) c1 =

925/

>> c2=cond(A) c2 =

21398/1915

>> cinf=cond(A,inf)

cinf =

707/32

>> trace(A)

ans =

16

>> B=[0.43 43 2;-8.9 4 21] B =

43/100 43 2 -/10 4 21 >> diag(B)

ans =

43/100 4 >> triu(B)

ans =

43/100 43 0 4

>> tril(B)

ans =

43/100 0 -/10 4 >> inv(B)

??? Error using ==> inv Matrix must be square. >> det(B)

??? Error using ==> det Matrix must be square.

>> rank(B)

ans =

2

>> b1=norm(B,1) b1 =

47

2 21 0 0 >> b2=norm(B,2) b2 =

4169/96

>> binf=norm(B,inf)

binf =

4543/100 > c2=cond(B) c2 =

2007/1037

5、建立一个字符串向量ch=’ABc123d4e56Fg9’,然后对该向量做以下处理: (1)统计其中阿拉伯数字的个数 >> ch='ABc123d4e56Fg9' ch =

ABc123d4e56Fg9

>> h=find(ch>='0'&ch<='9'); >> length(h)

ans =

7

(2)删除字符串中数字,并将字符串中大写字母改为小写字母。 >> h=find(ch>='0'&ch<='9') h =

Columns 1 through 4

4 5 6 8

Columns 5 through 7

10 11 14

>> ch(h)=[] ch =

ABcdeFg

>> k=find(ch>='A'&ch<='Z'); >> ch(k)=ch(k)+('a'-'A') ch =

abc123d4e56fg9

实验四 1,2,5

1、从键盘输入一个3位整数,将它向输出。如输入639,输出936 答:clear;

f=input('请输入一个3位整数: '); m1=fix(f/100);

m2=rem(fix(f/10),10); m3=rem(f,10);

y=m3*100+m2*10+m1 请输入一个3位整数: 639 y =

936

2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90-100为A,80-90为B,70-79为C,60-69为D,60分以下为E。 要求:

(1) 分别用if语句和switch语句来实现

答: x=input('请输入一个百分制成绩:'); if x>=90&x<=100 disp('A');

elseif x>=80&x<=90 disp('B');

elseif x>=70&x<=79 disp('C');

elseif x>=60&x<=69 disp('D'); else

disp('E'); end

请输入一个百分制成绩:86 B

f=input('请输入一个百分制成绩: '); switch fix(f/10) case {9,10} disp('A'); case{8}

disp('B'); case{7}

disp('C'); case{6}

disp('D'); otherwise disp('E'); end

请输入一个百分制成绩: 50 E

(2) 输入的百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错

信息。

>> c=input('输入一个百分制成绩:') if c>=0 & c<=100

disp(setstr('合理')); else

disp(setstr('不合理')); end

输入一个百分制成绩:102 c =

102

不合理

实验五 3,4,5

1、利用函数文件,实现极坐标(,)与直角坐标(x,y)之间的转换,并通过函数调用加以验证。 Tran函数

function [x,y]=tran(rho,theta) x=rho*sin(theta); y=rho*cos(theta); main1函数

rho=input('please input rho=:'); theta=input('please input theta=:');

[x,y]=tran(rho,theta); x y

please input rho=:1 please input theta=:pi x =

1.2246e-016 y = -1 >>

2、利用预定义变量nargin和nargout,实现以下功能的函数:若输入只有一个参数,输出以该参数为半径的球的体积;若输入有两个参数,输出分别以该参数为底面半径和高的圆柱体积;若输入有三个参数,输出分别以该参数为三 条边的长方体的体积;若输入参数多于三个,则报错。 Charray函数

function fout=charray(a,b,c,ones) if nargin==1

fout=((4/3)*pi*a*a*a); elseif nargin==2 fout=pi*a*a*b; elseif nargin==3 fout=a*b*c; else

disp('error') end

main2函数 charray(1) charray(1,2) charray(1,2,3) charray(1,2,3,4) ans =

4.1888 ans =

6.2832 ans = 6 error >>

3、先用函数的递归调用定义一个函数文件求im,然后调用该函数文件求

i1n1。 kkk1k1k1k21005010100k函数文件factor1.m代码如下:

k1function f=factor1(k) if k==1 f=1; else

f=factor1(k-1)+k; end

k^2函数文件factor2.m代码如下:

k150function f=factor2(k) if k==1 f=1; else

f=factor2(k-1)+^2; end

1/k函数文件factor3.m代码如下:

k110function f=factor3(k) if k==1 f=1; else

f=factor3(k-1)+1/k; end

>> s=factor1(100)+factor2(50)+factor2(10) s =

48360

实验六 思考题 1,2

1、总结在同一坐标轴绘制多条二维曲线有哪些方法?

当plot函数输入参数是矩阵时还有用linspace函数时都可以 2、在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 (1)y2x0.5

xsin(3t)cost(2),0t

ysin(3t)sintx=-1:1;

y=2*x-0.5; plot(x,y); hold on t=0:0.01:pi;

x=sin(3.*t).*cos(t); y=sin(3.*t).*sin(t); plot(x,y); hold off

P=fix((y+2.5)./(x+1).*10); A=rem(P,20)==0; A

Q=find(A==1)

实验七 5,思考题 2 5、绘制下列三维图形

z=5,x5,y5。要求应用插值着色处理。 答:

close all

[x,y]=meshgrid(-5:5) z=5*ones(11);surf(x,y,z);

shading interp;

2、绘制三维图形:

(1)已知x=[1000,1500,1300,200],绘制饼图; 答:

pie3([1000,1500,1300,200]); title('pie3');

(2)用随机的顶点坐标值画出四个蓝色三角形。 答:

fill3(rand(3,4),rand(3,4),rand(3,4),'y') title('fill3');

实验八 1,5 思考题1,3

1、产生一个55的随机矩阵,进行以下数据处理:

(1)分别计算每行的最大值,每列的最大值和矩阵的最大元素; (2)分别计算每行元素的乘积,每列元素的乘积和全部元素的乘积; (3)计算每行的平均值和每列的中间值。

X=rand(5) x =

0.9501 0.7621 0.6154 0.4057 0.0579 0.2311 0.4565 0.6068 0.0185 0.4860 0.8214 0.13 0.4447

>> max(x) ans =

0.9501 0.8214

>> max(x,[],2)

ans =

0.9501 0.9355 0.9218 0.8214 0.36

>> max(max(x))

ans =

0.9501

>> prod(x,2)

ans =

0.0105 0.0276 0.0077 0.0012 0.0087

0.7919 0.9355 0.9218 0.9169 0.7382 0.4103 0.1763 0.36 0.9218 0.9355 0.3529 0.8132 0.0099 0.13 0.8132

>> prod(x)

ans =

0.0577 0.0024 0.0585 0.1276 0.0000

>> prod(ans)

ans =

2.3033e-011

>> mean(x,2)

ans =

0.5583 0.5536 0.6554 0.4931 0.5090

>> median(x,1)

ans =

0.6068 0.4565 0.7382 0.36 0.13

5、有三个多项式P4321(x)x2x4x5,P2(x)x2,进行以下操作:

(1)求P(x)P1(x)P2(x)P3(x) (2)求P(x)的根

p1=[1 2 4 0 5]; p2=[0 1 2]; p3=[1 2 3];

p=conv(p2,p3)+p1 x=roots(p) p =

P(x)x232x3,试

1 3 8 7 11 x =

-1.3840 + 1.8317i -1.3840 - 1.8317i -0.1160 + 1.4400i -0.1160 - 1.4400i >>

1、什么是数据插值?什么是曲线拟合?说明它们的共同点和不同点。

数据插值:在工程测量中,利用有限个离散点拟合出一条曲线,就可以得到除了这有限

个点外的其他点的函数值。 曲线拟合:用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。 共同点:目的都是用一个较简单的函数去逼近一个较复杂的或未知的函数,所依据的条件都是在一个区间或一个区域上的有限采样点的函数值。

3、已知lg(x)在[1,101]区间11个整数采样点的函数值如表8-2所示。

表8-2 lg(x)在11个采样点的函数值

x 1 11 21 31 41 51 61 71 81 91 101 lg(x) 0 1.0411.3221.4911.6121.7071.7851.8511.9081.9592.0044 2 4 8 6 3 3 5 0 3 试求lg(x)的5次拟合多项式p(x),并绘制出lg(x)和p(x)在[1,101]区间的函数曲线。x=[1 11 21 31 41 51 61 71 81 91 101]; x1=1:101;

y=[0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9590 2.0043]; p=polyfit(x,y,5) y1=polyval(p,x1) plot(x,y,':o',x1,y1,'-*') p =

0.0000 -0.0000 0.0001 -0.0058 0.1537 -0.1326 y1 =

Columns 1 through 6

0.0153 0.1523 0.27 0.3958 0.5035 0.6026

Columns 7 through 12

0.6936 0.7770 0.8534 0.9231 0.9868 1.0447

Columns 13 through 18

1.0973 1.1451 1.1883 1.2274 1.2627 1.2945

Columns 19 through 24

1.3231 1.34 1.3720 1.3928 1.4115 1.4283

Columns 25 through 30

1.4435 1.4573

Columns 31 through 36

1.5104 1.51

Columns 37 through 42

1.5578 1.5654

Columns 43 through 48

1.6053 1.6139

Columns 49 through 54

1.6609 1.6710

Columns 55 through 60

1.7240 1.7348

Columns 61 through 66

1.7885 1.79

Columns 67 through 72

1.8463 1.8547

Columns 73 through 78

1.4811 1.5350 1.5808 1.6320 1.6918 1.7566 1.8188 1.8701 1.5013 1.5502 1.5969 1.6510 1.7131 1.7780 1.8375 1.8836 1.4697 1.4916 1.5271 1.5427 1.5730 1.5888 1.6228 1.14 1.6813 1.7024 1.7457 1.7673 1.8090 1.8283 1.8626 1.8771 1.85 1.50 1.99 1.9043 1.9082 1.9115

Columns 79 through 84

1.9144 1.9169 1.91 1.9205 1.9219 1.9230

Columns 85 through 90

1.9239 1.9247 1.9255 1.92 1.9275 1.92

Columns 91 through 96

1.9308 1.9333 1.9366

Columns 97 through 101

1.9610 1.9710 1.9829

1.9408 1.9461 1.9528 1.9972 2.0140

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务