matlab习题详解.docx
- 文档编号:8986730
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:95.57KB
matlab习题详解.docx
《matlab习题详解.docx》由会员分享,可在线阅读,更多相关《matlab习题详解.docx(16页珍藏版)》请在冰豆网上搜索。
matlab习题详解
实验二、矩阵的基本运算
一、问题
已知矩阵A、B、b如下:
应用Matlab软件进行矩阵输入及各种基本运算。
二、实验目的:
熟悉Matlab软件中的关于矩阵运算的各种命令
三、预备知识
1、线性代数中的矩阵运算。
2、本实验所用的Matlab命令提示:
(1)、矩阵输入格式:
A=[a11,a12;a21,a22];b=初始值:
步长:
终值;
(2)、求A的转置:
A';
(3)、求A加B:
A+B;
(4)、求A减B:
A-B;
(5)、求数k乘以A:
k*A;
(6)、求A乘以B:
A*B;
(7)、求A的行列式:
det(A);
(8)、求A的秩:
rank(A);
(9)、求A的逆:
inv(A)或(A)-1;
(10)、B右乘A的逆:
B/A;
(11)、B左乘A的逆:
A\B;
(12)、求A的特征值:
eig(A);
(13)、求A的特征向量矩阵X及对角阵D:
[X,D]=eig(A);
(14)、求方阵A的n次幂:
A^n;
(15)、A与B的对应元素相乘:
A.*B;
(16)、存储工作空间变量:
save'文件名''变量名';
(17)、列出工作空间的所有变量:
whos;
四、实验内容与要求
1、输入矩阵A,B,b;
2、作X21=A'、X22=A+B、X23=A-B、X24=AB;
3、作X31=|A|、X32=|B|;
4、作X41=R(A)、X42=R(B);
5、作X5=A1;
6、求满足矩阵方程XA=C的解矩阵X6,其中C为A的第i列乘以列标i所得矩阵;
7、求满足方程AX=b的解向量X7;
8、作X6的特性向量X8、X6的特征向量组X及对角阵D;
9、作X9=B2(A-1)2;
10、创建从2开始公差为4的等差数列前15项构成的行向量X10。
11、将本实验中的矩阵A与B的对应元素相乘X11、对应元素相除X12并观察分母为零时的结果;
12、求b每个元素自身次幂所得的行向量X13。
13、产生一长度为20的正态分布的随机向量X14
1.求X14的最大值及其在X14中的位置。
2.将X14排序并给出排序后各元素在X14中的位置
3.将X14变形为5行4列的矩阵X15,再将X15实行左右翻转并逆时针旋转90o。
14、列出本实验中的所有变量。
一、
>>A=[34-11-910;65074-16;1-47-16-8;2-45-612-8;-36-78-11;8-49130]
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>B=[1246-32;7916-58-7;81120155;10152813-19;12193625-723;246-305]
B=
1246-32
7916-58-7
81120155
10152813-19
12193625-723
246-305
>>b=[1357811]
b=
1357811
二、
三、
四、
1、>>i
ans=
0+1.0000i
>>j
ans=
0+1.0000i
>>eps
ans=
2.2204e-016
>>inf
ans=
Inf
>>inf
ans=
Inf
>>nan
ans=
NaN
>>pi
ans=
3.1416
>>realmax
ans=
1.7977e+308
>>realmin
ans=
2.2251e-308
2、>>sqrt(1-i)
ans=
1.0987-0.4551i
>>sqrt(2*i)
ans=
1.0000+1.0000i
>>sqrt(-5+12*i)
ans=
2.0000+3.0000i
3、
数学实验三
1、设函数
,
求f(A)数组运算和矩阵运算的结果
2、已知
1)取出其前3行构成矩阵B,前两列构成矩阵C,其右下角32子矩阵构成矩阵D,B与C的乘积构成矩阵E;
2)取出E中比D中对应元素小的元素;
3)分别求E&D、E|D、~E|~D;
4)取出A中大与10且小于50的元素及其一维索引和二维索引值,并将小于10的元素改为10;大与50的数改为50。
3求一个矩阵的主(第k条)对角元素用diag(A)(diag(A,k)),上(下)三角阵用triu(A)(tril(A))(同理使用triu(A,k),tril(A,k))试对上题的矩阵A求
主对角元素、上三角阵、下三角阵、逆矩阵、行列式的值、秩、范数、迹、特征值与特征向量。
4、当A=[34,NaN,Inf,-inf,-pi,eps,0]时,求下列函数值:
All(A)、any(A)、isnan(A)、isinf(A)、isfinite(A)。
数学实验四
目的:
了解多项式的各种运算
理解多维数组的生成与操作
理解字符与字符串的存储与操作
1、求多项式
的根(使用roots命令)
2、设矩阵
a)求A的特征多项式P(x)
b)求P(x)的导数
c)求P(20)的值
d)求P(A)的矩阵运算的结果和数组运算的结果
3、设a(s)=s2+2s+3和b(s)=s5+5s4+3s2+1
a)求a(s)和b(s)的乘积
b)求b(s)/a(s)的商与余项
4、设有五个数据点:
(1,5.5),(2,43.1),(3,128),(4,290.7),(5,498.4)。
a)作出这五个数据点的三次拟合多项式;
b)试打印出该拟合多项式的图形,并将数据点在图形上用“o”标注出来。
c)使用帮助查寻插值命令interp1的用法,打印出上5个点的插值函数图像并与拟合函数比较。
5、生成一334的3三维数组D,要求:
a)第一页的元素为A=[578;019;436],第二页为A的转置阵,第三页为A旋转90o的矩阵,第四页为A上下元素颠倒的矩阵;
b)使用cat命令生成上述矩阵;
c)取出第一行所有列与所有页的元素;
d)使用reshape将上面的高位数组重排为343的矩阵h,并取出其第二页h2。
作一新的4维数组,h为第一箱,h2为第二箱的第三页元素;
e)查寻repmat命令的用法;
6、对下列短文做一下操作:
a)统计下列短文中的空格数、小写字母数、非英文字符数。
>>s='BorninLondonin1959,hewaseducatedatEton,OxfordandCaltech.Hepublishedhisfirstscientificpaperattheageoffifteen,andhadreceivedhisPhDintheoreticalphysicsfromCaltechbytheageoftwenty.Wolfram''searlyscientificworkwasmainlyinhighenergyphysics,quantumfieldtheoryandcosmology,andincludedseveralnowclassicresults.Havingstartedtousecomputersin1973,Wolframrapidlybecamealeaderintheemergingfieldofscientificcomputing,andin1979hebegantheconstructionofSMP-thefirstmoderncomputeralgebrasystem-whichhereleasedcommerciallyin1981.Throughthemid1980s,Wolframcontinuedhisworkoncomplexity,discoveringanumberoffundamentalconnectionsbetweencomputationandnature,andinventingsuchconceptsascomputationalirreducibility.Wolfram''sworkledtoawiderangeofapplications-andprovidedthemainscientificfoundationsforthepopularmovementsknownascomplextytheoryandartificiallife.Wolframhimselfusedhisideastodevelopanewrandomnessgenerationsystemandanewapproachtocomputationalfluiddynamics-bothofwhicharenowinwidespreaduse.'
实验五、选择与循环结构
一、实验目的:
1、掌握建立和执行M文件的方法。
2、掌握利用if语句实现选择结构的方法。
3、掌握利用switch语句实现多分支选择结构的方法。
4、掌握try语句的使用。
5、掌握利用for语句实现循环结构的方法。
6、掌握利用while语句实现循环结构的方法。
7、熟悉利用向量运算来代替循环的操作方法。
二、实验内容:
1、列分段函数的值。
要求:
(1)用if语句实现,分别输出x=-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
提示:
x的值从键盘输入,可以是向量。
(2)用逻辑表达式实现上述函数。
2、输入一个百分制成绩,要求输出成绩的等级为A,B,C,D,E。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判定该成绩的合理性,对不合理的成绩要输出出错信息。
3、建立5×6矩阵,要求输出矩阵的第n行元素,当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素、并给出出错信息。
4、根据
求
的近似值。
当n分别取100、1000、10000结果是多少?
要求:
分别用循环结构和向量运算(使用sum函数)来实现。
5、根据
,求:
(1)
的最大n值。
(2)与
(1)的n对应的y。
6、一个三位整数各位数字的立方和等于该数的本身则称该数为水仙花数。
试输出全部水仙花数。
要求:
(1)用循环结构实现。
(2)用向量运算来实现。
提示:
全部三位整数组成向量M;分别求M各个元素的个位、十位、百位数字,组成向量M1、M2、M3;向量N=M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3;向量K=M-N;显然K中的零元素的序号即M中的水仙花的序号。
7、已知
求
中:
(1)最大值、最小值、各数之和。
(2)正数、零、负数的个数。
提示:
可以考虑使用Matlab的有关函数实现。
8、从数组{1,2,。
。
。
n}随机选出m(m<=n))个不重复的元素.
9、假定某地区的电话收费标准为:
通话时间在3分钟以下,收费为0.5元,3分钟以上,则每超过1分钟加收0.15元;在7:
00~22:
00之间通话者,按上述收费标准全价收费,在其它时间通话者,按上述收费标准半价收费。
计算某人在t1时刻通话到t2时刻,应交多少电话费。
(选做,有挑战性)
数学实验练习六:
函数
一、1)写一个MATLAB函数piFun01.m来计算下列级数:
f(n)=4*(1-1/3+1/5-1/7+1/9-1/11+...)
其中n为函数的输入,代表上述级数的项数,级数和f(n)则是函数的输出。
2)使用tic和toc指令来测量piFun01(100000)的计算时间。
如果你不知道如何使用这两个指令,请使用helptic及helptoc来查出它们的用法。
我的旧计算机是Pentium450MHz,所得的计算时间约为2秒。
请说明你的计算机规格以及其计算时间。
二、写一个MATLAB的递归函数fibo.m来计算Fibonacci数列,其定义如下:
fibo(n+2)=fibo(n+1)+fibo(n)
此数列的启始条件如下:
fibo
(1)=0,fibo
(2)=1.
a)fibo(25)的返回的值是多少?
b)使用tic和toc指令来测量fibo(25)的计算时间。
我的计算机是Pentium2GHz,所得的计算时间约为3.35秒。
请说明你的计算机规格以及其计算时间。
c)你们已学过离散数学,知道Fibonacci数列的第n项可以直接表示成fibo(n)={[(1+a)/2]^(n-1)-[(1-a)/2]^(n-1)}/a
其中a是5的平方根。
写利用上式一个MATLAB的非递归函数fibo2.m来计算Fibonacci数列。
d)fibo2(25)的值为何?
是否和fibo(25)相同?
e)请计算fibo2(25)的计算时间,并和fibo(25)比较。
f)请比较并说明使用fibo.m和fibo2.m来计算Fibonacci数列的优缺点。
三、假设在期中考后,我们用一个向量x来储存每个人的考试成绩。
请写一个函数ranking01.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指令,而不要用到循环。
实验7:
图形绘制
一、实验目的
1、掌握绘制二维图形的常用函数。
2、掌握绘制三维图形的常用函数。
3、掌握绘制图形的辅助操作。
二、实验内容
1、已知
,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。
(2)以子图形式绘制三条曲线。
(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。
2、绘制极坐标曲线
,并分析参数a,b,n对曲线形状的影响。
3、分别用plot和fplot函数绘制函数
的曲线,分析两曲线的差别。
4、绘制函数曲面图和等高线图:
(1)
(2)
提示:
绘制三维曲面图,首先要选定一个平面区域并在该区域产生网格坐标矩阵。
在做本题之前,先分析并上机验证下列的命令执行结果。
从中体会产生网格坐标矩阵的方法。
5、绘制由下列参数方程表示的曲面图形(未绘制图形之前,你能看出其是什么图形吗?
)
,其中
。
6、在一幅图上打印出函数sin(x)和cos(x)在[0,2]区间上的图形,要求如下
1)sin(x)和cos(x)图形分别用红色的点划线和绿色星号打印;
2)坐标轴的窗口大小范围设为[-1,7][-1.5.1.5];
3)分别给x轴和y轴加上标注说明,图形加上名称;
4)给出图例说明标注;
5)在(3.3,1.1)处标上文字‘sin(x)’,用鼠标在cos(x)曲线的某点处标上文字‘cos(x)’;
6)给图形加上网格线。
7)回车后图形的坐标轴和网格线消失。
y=sin(x);
7、使用正态分布的随机函数产生10000个随机数;统计-3到3之间每隔0.2间隔内落入的随机数个数,并打印出其频数图。
8、试打印出下列函数所表示的图像
1)
;2)
3)
;4)
9、设函数
试打印出下列图形:
1)打印函数的网格图和曲面图
2)打印出函数的高度为v=[-0.4,-0.2,-.10,0.3,0.35]二维等值线图,并在图形上标出其高度。
(提示:
使用clable命令标高度)
3)打印出函数有20条等值线的三维等值线图,
4)打印函数的伪彩色图。
(提示使用Contourf(z))
10、Chebyshev多项式的定义如下:
y=cos(m*cos-1x)
其中x的值介于[-1,1]。
当m的值由1变化到5,我们可得到五条曲线。
请将这五条曲线画在同一张图上面,记得要使用legend指令来标明每一条曲线。
11、试写一函数regStar(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n星形,其中一顶点位于(0,1)。
例如regStar(7)可以画出如下之正7星型:
数学实验八
问题一:
1、当一个小圆轮在平面上滚动时,轮缘的一点在滚动时所形成的轨迹称为「摆线」。
请用MATLAB画出一个典型的摆线,其中小圆轮的半径为1,而且至少要滚三圈。
2、此题和上题类似。
当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
假设小圆轮的半径r=2。
3、当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画出其摆线。
4、重复上小题,但改成在大圆的内部滚动。
问题二
1.假设某校信息系在2001、2002及2003年的人员组成如下表所示:
类别
大一
大二
大三
大四
硕一
硕二
博士班
教职员
年份
2001
10
21
23
14
35
26
47
48
2002
21
32
33
24
35
26
17
48
2003
15
23
23
44
25
34
27
38
a.请用bar3指令来画出上述数据的立体长条图。
b.请用各种你可以想到的方法,在上述图形中加入各种解释和说明的文字。
2.请使用上题的数据来进行下列两小题:
a.画出依每年份总人数来切分的立体扇形图,并加上各种可能的说明文字。
b.重复上小题,但改成依每种类别的总人数来切分。
问题三
一个空间中的椭球可以表示成下列方程式:
请使用任何你可以想到的方法(比如说:
加密网格线,加上光照,插值,明暗处理等等),画出三维空间中的一个光滑的椭球,其中a=3,b=4,c=8。
问题四
1、请用surf指令来画出下列函数的曲面图:
,其中x在[-2,2]间共等切分为21点,y在[-1,1]间共等切分为21点,所以此曲面共有21*21=441个点。
c.请用预设的颜色对应表(Colormap)来画出此曲面。
d.请以曲面的斜率来设定曲面的颜色。
e.请以曲面的曲率来设定曲面的颜色。
f.请将曲面的网格线除去,并设置为透明的。
g.任意读入一幅图像,然后将其贴到该曲面上去。
问题五:
1.以电影方式产生包含21个画面的动画,代表peaks曲面乘上a,其中a的值由-1至1等分切成21点。
2.以对象方式产生动画,呈现一个小圆(半径为1)在一个大圆(半径为3)的圆周外部滚动的动画。
(注:
若以极坐标(复数)来进行数据处理,程序代码会比较简单一些)
3.以对象方式产生动画,呈现一个小圆(半径为1)在一个大圆(半径为3)的圆周内部滚动的动画。
4.以对象方式产生动画,呈现一个小圆(半径为1)在一个中圆(半径为3)的圆周内部滚动,且此中圆又在一个大圆(半径为5)的圆周内部滚动的动画。
5.以对象方式产生动画,呈现一个圆圈(半径为1)由画面左边滚到右边,圆周上的任一点所拉出的一条摆线。
6.以对象的方式产生动画,呈现下列方程式:
y=cos2(x+k)*exp(-x/5)
让k随时间而变大,来显示此方程式的动画。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 习题 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)