当前位置:文档之家› matlab习题

matlab习题

1.请登陆美国MathWorks 公司的网站(),查看看现在大概有多少本MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。

哪一个领域的MATLAB-based books 最多?中文书共有几本?2.若有任何MATLAB/Simulink 技术上的问题,可以直接连到MathWorks 公司的技术支持部网站(/support) 寻求支持。

请在技术支持部网站的搜寻引擎输入「Web Server」,看会传回多少和MATLAB Web Server 相关的信息。

3.请在MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epsd.infe.nanf.pig.realmaxh.realmin4.请使用lookfor 指令,找出具有下列功能的MATLAB 指令。

(每一项只需找出一个相关度最高的MATLAB 指令。

)a.找出矩阵的大小(即行维度和列维度)b.改变矩阵的大小(例如将4×6 的矩阵改成12×2)c.将矩阵左右翻转(Left-right flip)d.将矩阵上下翻转(Up-down flip)e.找出矩阵每一列的最大值f.对矩阵的每一列进行排序g.矩阵的旋转(Rotate)h.逆矩阵(Inverse matrix)的计算i.求矩阵的秩(rank)j.计算矩阵的行阶梯矩阵reduced row echelon formk.计算矩阵的特征值(Eigenvalues)与特征向量(Eigenvectors)l.直角坐标转成极坐标m.极坐标转成直角坐标5.写一个MATLAB 小程序findN01.m,求出最小的n 值,使得n! > realmax。

请问n 的值是多少?此时(n-1)! 的值又是多少?6.MATLAB 的sqrt 指令可对任一数值进行开平方的运算。

用此指令求出下列各数的平方根,并验算之:a.b.2*ic.-5+12*i其中i 是单位虚数。

7.写一个MATLAB 函数myFun.m 来计算下列方程式:y = 0.5*exp(x/3)-x*x*sin(x)其中x 是函数的输入,y 是函数的输出。

你的函数必须能够处理当x 是标量或是向量的两种情况。

此外,请利用下述两列程序代码来画出此函数的图形:x=0:0.1:10;plot(x, myFun(x));8.写一个MATLAB 函数piFun.m 来计算下列级数:f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...)其中n 为函数的输入,代表上述级数的项数,级数和f(n) 则是函数的输出。

9.使用tic 和toc 指令来测量piFun(100000) 的计算时间。

请说明你的计算机规格以及其计算时间。

10.请写一个函数minxy.m,其功能是由一个二维矩阵中找出小元素,用法如下:[minValue, minIndex] = minxy(matrix)其中matrix 是一个二维矩阵,minValue 则是其元素的最小值,而minIndex 是一个长度为2 的正整数向量,代表最小值的索引。

(换句话说,matrix(minIndex(1), minIndex(2)) 的值即是minValue。

)请测试[minValue, minIndex] = minxy(magic(20))所传回来的minValue 和minIndex 各是多少?提示:请尽量使用 min 指令。

11.如果a = [92, 95, 58, 75, 69, 82],但我们执行下列sort 指令:[b, index] = sort(a)会得到b = [58, 69, 75, 82, 92, 95] 及index = [3, 5, 4, 6, 1, 2],其中index 的每个元素代表 b 的每个元素在 a 的位置,满足 b 等于a(index)。

请写一个函数sort01.m,当输入为a 时,可得到index2,满足a 等于b(index2)。

以上述a 向量为例,得到的index2 应该是[5, 6, 1, 3, 2, 4]。

提示:你可以使用循环(如 for-loop 和 while-loop 等)完成,但是程序代码会比较凌乱,执行效率也会变差。

所以请尽量利用 sort 指令,而不要用到循环。

12.假设在期中考后,我们用一个向量x 来储存每个人的考试成绩。

请写一个函数ranking.m,输入为成绩向量x,输出则是此成绩的排名。

例如,当x = [92, 95, 58, 75, 69, 82] 时,ranking(x) 得到的排名向量则是[2, 1, 6, 4, 5, 3],代表92 分是排名第2,95 分是排名第1,58 分是排名第6,等等。

提示:你可以使用循环(如 for-loop 和 while-loop 等)完成此作业,但是程序代码会比较凌乱,执行效率也会变差。

所以请尽量利用 sort 指令,而不要用到循环。

13.试写一函数regPolygon(n),其功能为画出一个圆心在(0, 0)、半径为1 的圆,并在圆内画出一个内接正n 边形,其中一顶点位于(0, 1)。

例如regPolygon(8) 可以画出如下之正八边型:14.一条参数式的曲线可由下列方程式表示:x = sin(t), y = 1 - cos(t) + t/10当t 由0 变化到4*pi 时,请写一个MATLAB 的脚本plotParam.m,画出此曲线在XY 平面的轨迹。

15.试写一函数regStar(n),其功能为画出一个圆心在(0, 0)、半径为1 的圆,并在圆内画出一个内接正n 星形,其中一顶点位于(0, 1)。

例如regStar(7) 可以画出如下之正7 星型:16.一个平面上的椭圆可以表示成下列方程式:(x/a)2+(y/b)2=1我们也可以用参数式将椭圆表示成:x = a*cos(τ)y = a*sin(τ)请利用上述参数式,写一个函数ellipse(a, b),其功能是画出一个椭圆,而且椭圆上共有100个点。

例如,ellipse(7, 2) 可以产生下列图形:17.请用写一个MATLAB 脚本figSolve.m,利用图解法,说明下列联立方程式有无穷多组解:y = xy = sin(1/x)(请务必画出上述两条曲线来加以说明之。

)18.利萨如图形(Lissajous Figure,又称为Bowditch Curve)可用下列参数式来表示:x = cos(m*τ)y = sin(n*τ)试画出在不同m、n 值的利萨如图形:a.m = n = 1b.m = 3, n = 2c.m = 2, n = 7d.m = 10, n = 1119.Chebyshev 多项式的定义如下:y = cos(m*cos-1x)其中x 的值介于[-1, 1]。

当m 的值由 1 变化到5,我们可得到五条曲线。

请将这五条曲线画在同一张图上面,记得要使用legend 指令来标明每一条曲线。

20.使用MATLAB 画一个圆心在原点、半径等于10 的圆,并在圆周上依逆时钟方向取任意四点A、B、C、D,将线段AB、AC、AD、BC、BD、CD 用直线画出。

a.计算线段AB、AC、AD、BC、BD、CD 的长度。

b.计算AB*CD+AD*BC 和AC*BD。

两者的差距有多少?是否可视为相等?21.当一个小圆轮在平面上滚动时,轮缘的一点在滚动时所形成的轨迹称为「摆线」(Cycloid)。

请用MATLAB 画出一个典型的摆线,其中小圆轮的半径为1,而且至少要滚三圈。

22.此题和上题类似。

当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。

假设小圆轮的半径r=2。

a.当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。

b.重复上小题,但改成在大圆的内部滚动,请画出此「内花瓣线」。

提示:下图显示在不同的 R 和 r 值,所产生的圆轮摆线。

23.若大圆和小圆的半径成整数比,当小圆在大圆的内部滚动时,小圆内的任一点A的轨迹就会形成一个漂亮无缺的花瓣线。

当大圆半径R 为10,小圆半径r 为3,且A 点离小圆圆心距离r1 为2 时,请画出此完整的花瓣线。

提示:下图显示在不同 r1 值所产生的内花瓣线。

提示:下图显示在不同 r1 值所产生的外花瓣线。

24.请用surf 指令来画出下列函数的曲面图:z = x*exp(-x2-y2)其中x 在[-2, 2] 间共等切分为21 点,y 在[-1, 1] 间共等切分为21 点,所以此曲面共有21*21=441 个点。

a.请用预设的颜色对应表(Colormap)来画出此曲面。

b.请以曲面的斜率来设定曲面的颜色。

c.请以曲面的曲率来设定曲面的颜色。

25.一个空间中的椭球可以表示成下列方程式:(x/a)2+(y/b)2+(z/c)2 = 1请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中a = 3,b = 4,c = 8。

(但不能使用ellipsoid 指令。

)26.MATLAB 有一些现成的指令,可以来画出特殊立体图形,例如,可以用sphere 画出圆球,用cylinder 画出圆柱体,用ellipsoid 画出椭球,请试试看。

27.请用ez 开头的绘图指令(例如ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour 等),画出一个你认为最炫的立体图形。

28.我们可用subplot 在同一个窗口画出两个不同的曲面图。

你是否可想出一个聪明的办法,让这两个曲面图各自用到不同的颜色对应表?请举例说明。

29.画出下列方程式的曲面图及等高线图:z = sin(x/2)cos(y)其中,x 的21 个值均匀分布在[-2*pi, 2*pi] 范围,y 的31 值均匀分布在[-1.5*pi, 1.5*pi]。

请使用subplot(2,1,1) 和subplot(2,1,2) 将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:30.请用meshc 指令来同时画出下列函数的曲面图和等高线图:z = (x*y)/(x+y)其中x 和y 都介于0 和 1 中间,且各自都分成21 个格子点,所以此曲面共有21*21=441 个点。

此外,等高线图应有20 条。

请问此曲面在XY 平面的哪一点(或区域)会有最大值?此最大值为何?31.请画出下列圆椎曲面的三维空间曲面图及其10条等高线:a.z=x*yb.z=x2+2xy+y2c.z=x2+2xy+2y2d.z=x2-2xy-y2上述各方程式的定义域皆是[-10, 10] x [-10, 10]。

提示:使用 surfc 指令。

相关主题