【免费下载】MATLAB习题精选

  • 格式:pdf
  • 大小:261.56 KB
  • 文档页数:7

初探MATLAB1、请在MATLAB 下直接输入下列常数,看它们的值是多少:I j eps inf nan pi realmax realmin2、使用lookfor 命令,找出具有下列功能的MATLAB 命令(每一项只需找出一条MATLAB 命令)(1)找出矩阵的大小(即行维数和列维数)(2)改变矩阵的大小(例如将4X6的矩阵改成12X2)(3)将矩阵左右翻转(4)将矩阵上下翻转(5)找出矩阵每一直列的最大值(6)对矩阵的每一直列进行排序(7)矩阵的旋转(8)逆矩阵的计算(9)求矩阵的秩(10)计算矩阵的reduced row echelon form (11)计算矩阵的null space(12)计算矩阵的特征值和特征向量(13)计算矩阵的QR 分解(14)计算矩阵的LU 分解(15)计算矩阵的奇异值分解(16)对向量进行快速傅立叶变换(17)直角坐标转成极坐标(18)极坐标转成直角坐标3、写一个MATLAB 小程序,求出最小的n 值,使得n!<realmax4、写一个MATLAB 函数myfun.m 来计算下列方程式:y=0.5*exp(x/3)-x*x*sin(x)其中x 是函数的输入,y 是函数的输出。

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

5、写一个MATLAB 的递归函数fibo.m 来计算Fibonacci 数列,其定义如下:fibo(n+2)=fibo(n+1)+fibo(n)此数列的初始条件如下:fibo(1)=0,fibo(2)=16、MATLAB 的sqrt 命令可对任一数值进行开平方的运算。

用此命令求出下列各数的平方根,并验算:(1) (2)2i (3)7+24iπ二维平面绘图1、一个平面上的椭圆可以表示成下列方程式:1)/()/(22=+b y a x 我们也可以用参数将椭圆表示成:x=a*cos() y=b*sin()θθ请利用上述参数式,画出一个椭圆,其中a=5,b=3,而且椭圆上共有100个点。

2、一条参数式的曲线可由下列方程式表示:x=sin(-t)+t y=1-cos(-t)当t 由0变化到4*pi 时,画出此曲线在XY 平面的轨迹。

3、利萨如图形可用下列参数式来表示:x=cos(m*) y=sin(n*)θθ试画出在不同m 、n 值的利萨如图形:(1)m=n=1 (2)m=3 n=2 (3)m=10 n=114、hebysheve 多项式的定义如下:))(cos *cos(1x m y -=其中x 的值介于[-1,1]。

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

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

5、使用contour 命令画出下列隐函数:2522=+yx 提示:画出z=在高度等于25的一条等高线yx 22+6、当一个小圆轮在平面上滚动时,轮缘的一点在滚动时所形成的轨迹称为“摆线”。

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

7、此题和上题类似。

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

假设小圆轮的半径是2。

(1)当小圆轮绕着一个大圆(半径为5)的外部滚动时,请画出其摆线。

(2)重复(1),但改成在大圆的内部滚动。

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

(1)请用默认的颜色对照表(colormap )来画出此曲面。

(2)请以曲面的斜率来设定曲面的颜色。

(3)请以曲面的曲率来设定曲面的颜色。

2、请用meshc 命令来同时画出下列函数的曲面图和等高线图:z=xy/(x+y)其中x 和y 都介于0和1之间,且各自都分成21个栅格点,所以此曲面共有441个点。

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

请问此曲面在XY 平面的哪一点(或区域)会有最大值?此最大值为何?3、一个空间中的椭球可以表示成下列方程式:1)/()/()/(222=++c z b y a x 请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中a=3,b=4,c=8特殊图形1、假设清华大学信息系在2001、2002、2003年的人员组成如表所示:类别大一大二大三大四硕一硕二博士班教职员2001102123143526474820022132332435261748年份20031523234425342738(1)请用bar3命令来画出上述数据的立体长条图(2)请用各种你可以想到的方法,在上述图形中加入各种解释和说明的文字。

2、请使用上题的数据来进行下列两小题:(1)画出按每年份总人数来切分的立体扇形图,并加上各种可能的说明文字。

(2)重复(1),但改成按每种类别的总人数来切分。

图像显示与读写1、读入mandrill.mat 数据文件,将调色板矩阵设为1-map 后,显示此负片效果的狒狒图像,并将此图像存成一个bmp 文件。

32、读入位于clown.mat内的小丑图像,显示图像,并将colormap改成gray,你会发觉小丑的图像偏暗,请调整调色板矩阵,使其明亮度提高。

3、读入位于mandrill.mat的狒狒图像,想办法调整X及map,使得呈现的图像是由全黑或全白的像素所组成,而且其个数比例大约是1:1。

提示:使用median命令找出X(:)的中位数。

句柄图形与GUI设计画出y=sin(x)的图形,其中x的范围是0到4*pi,当鼠标在图轴内单击时,你的程序应能找出最近的数据点,并将此数据点的坐标显示在MATLAB命令窗口内。

GUIDE:GUI设计环境请使用GUIDE来写出一个图形用户界面的程序,其功能为读入不同的现成图像文件(随MATLAB而来的图像文件有clown.mat,mandrill.mat cape.mat durer.mat detail.mat earth.mat gatlin.mat spine.mat ),呈现图像于窗口中,使用者并能将图像汇出成不同的文件格式,如bmp tiff jpeg png等。

提示:请使用imwrite命令矩阵的处理与运算tr(A)定义为方阵A的主对角线元素的和,在数学上,只要矩阵A和矩阵B的乘积是一个方阵,我们可以证明tr(AB)=tr(BA)。

试写一个MATLAB程序,任意产生不同维数的10组A、B,以验证上述恒等式。

多维数组1、假设信息系及电机系在下列各年度的人口统计如表所示信息系各年度的人口统计类别大一新生学士毕业生硕士毕业生博士毕业生20019894805年份2002105978762003121110898电机系各年度的人口统计类别大一新生学士毕业生硕士毕业生博士毕业生200199988510年份2002113101871220031201158015试用一个三维矩阵A表示上述数据。

2、由上题矩阵A来算出下列各数值:(1)信息系在2001、2002、2003年之间的每年平均新生、学士毕业生、硕士毕业生及博士毕业生的个数。

(2)信息系和电机系在各个年度的新生总数。

(3)3年来电机系和信息系共毕业多少位硕士生?(4)3年来电机系和信息系共有多少毕业生?(5)在哪一年,电机系和信息系合计有最多的硕士毕业生?(6)在哪一年,电机系和信息系的学士毕业生差额最大?(7)在哪几年,电机系收的新生数目比信息系多?(8)信息系三年来每年的学士毕业生对大一新生的比例平均值为何?异质数组1、请建立下列4X3的异质数组A,如表所示:张惠妹听海1998周华健花心1992王杰一场游戏一场梦1988孙燕姿超快感20002、在上题异质数组中,每一横行代表一笔数据,我们要用不同的方法来排序:(1)请按歌星名字内码来排序,产生新的异质数组B(2)请按年代来排序,产生新的异质数组C(3)请按歌的名字数来排序,产生新的异质数组D。

(若字数相同,则用内码来排序)3、在上题的异质数组中,求出年代的最大值、最小值、平均值及中位数。

结构数组1、假设一异质数组A的内容如表所示:张惠妹听海1998周华健花心1992王杰一场游戏一场梦1988孙燕姿超快感2000试将此异质数组A转成结构数组song,其中:song(1).singer=’张惠妹’song(1).name=’听海’song(1).year=’1998’…2、此题用到上题的结构数组song(1)请将结构数组song按歌星名字内码来排序(2)请将结构数组song按年代来排序(3)请取出所有歌星的名字,存成一个字符串异质数组(4)请取出所有的年代,存成一个向量稀疏矩阵假设有一个100X100的矩阵A,其元素大部分是零,只有下列几个特定元素不为0:A(1,3)=4 A(2,5)=10 A(35,70)=4 A(54,98)=5(1)请用sparse命令来建立此稀疏矩阵A(2)A占掉多少字节(3)若A是完全矩阵,且是double的数据类型,则会占去多少字节(4)若A是完全矩阵,且是uint8的数据类型,则会占去多少字节(5)使用spy来画出非零元素的分布状况MATLAB的运算符1、给定一实数矩阵A,请写一行语句,将其所有非正元素设定为02、给定一实数矩阵A,请写一行语句,将其所有nan元素设定为03、给定一实数和复数交错的矩阵A,请写一行语句,将其所有复数元素设定为nan4、请写一行语句,产生元素值为0或1的向量,向量长度为100,且出现0或1的概率各占一半M文件1、编写一函数project1.m,其输出格式如下:out=project1(x,u)其中x和u是维数相同的向量,out则是x在u方向的投影量的平方值2、编写一函数quadzero.m,其输出格式如下:root=quadzero(coef)其中coef是一个3X1的向量,代表一个一元二次方程式的系数(降序排列),而root 则是此方程式的根所形成的向量。

若coef(1)不是0,则roots的长度为2。

若coef(1)是0 ,则可能有一解(root的长度为1)或无解(root为空矩阵)(请注意:你的程序必须套用a*x*x+b*x+c=0的公式来解此题,而不可以直接使用roots命令来解此题)3、由基本代数可知,一个实系数的一元三次方程式,必有一个实数解。

请写一函数trizero.m,其输出入的格式如下:root=trizero(coef)其中coef是一个4X1的向量,代表一个一元三次方程式的系数(降序排列),而root则是一个3X1的向量,代表此方程式的三个根。

(为简化题目,我们假设coef(1)不为0,因此一定会有三个根)请参照下列步骤来编写你的程序:(1)使用fzero命令来找出此方程式的实数根x1(2)使用deconv命令来算出将此多项式除以(x-x1)后得到的商式(3)使用前一个习题的函数来找出此商式的根5、写一个MATLAB递归函数combinat.m,其功能是可对输入字符串进行组合。