最新MATLAB习题答案_第1页
最新MATLAB习题答案_第2页
最新MATLAB习题答案_第3页
最新MATLAB习题答案_第4页
最新MATLAB习题答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习-好资料习题二1. 如何理解“矩阵是 MATLAB最基本的数据对象"?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来 处理。因此,矩阵是 MATLAB最基本、最重要的数据对象。2. 设A和B是两个同维同大小的矩阵,问:(1) A*B和A.*B的值是否相等?答:不相等。(2) A./B和B.A的值是否相等?答:相等。(3) A/B和BA的值是否相等?答:不相等。(4) A/B和BA所代表的数学含义是什么?答:A/B等效于A的逆左乘B矩阵,即inv(A)*B,而B/A等效于A矩阵的逆右乘 B矩阵,即B*

2、inv(A)。3. 写出完成下列操作的命令。(1) 将矩阵A第25行中第1, 3, 5列元素赋给矩阵 B 答: B=A(2:5,1:2:5);(2) 删除矩阵A的第7号元素。答:A(7)=(3) 将矩阵A的每个元素值加 30。答:A=A+30;(4) 求矩阵A的大小和维数。答:size(A);n dims(A);(5) 将向量t的0元素用机器零来代替。答:t(find(t=0)=eps;(6) 将含有12个元素的向量 x转换成34矩阵。答:reshape(x,3,4);(7) 求一个字符串的 ASCII码。答:abs( 123 '或 double( 123 '(8) 求一个AS

3、CII码所对应的字符。答:char(49);4.下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;L1=A=B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1 的值为(0, 0, 0, 0, 1, 0, 0, 0, 0)L2 的值为(1, 1, 1, 1, 1, 0, 0, 0, 0)"2310-0.778041-45655325032-9.54543.145. 已知L3 的值为(0, 0, 0, 1, 1, 1, 0, 0, 0)L4的值为(4, 5, 6)完成下列操作:取

4、出A的前3行构成矩阵B,前两列构成矩阵C,右下角 32 子矩阵构成矩阵 D,B与C的乘积构成矩阵 E更多精品文档答:B=A(1:3,:);C=A(:,1:2);D二A(2:4,3:4);find(A>=10&A<25)=(1, 5)6.当 A=34, NaN, Inf, -Inf, -pi, eps, 0时,分析下列函数的执行结果:all(A),any(A),isnan(A), isinf(A), isfinite(A)。答:all(A)=0an y(A)=1isnan(A)=( 0, 1, 0, 0, 0, 0, 0)isinf(A)= ( 0, 0, 1, 1, 0,

5、0, 0)isfin ite(A)= ( 1, 0, 0, 0, 1, 1, 1)6门课程的成绩。7. 用结构体矩阵来存储 5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和答:student(1).id= '001student(1).name= 'Tom 'student(1).major= computerstudent(1).grade=89,78,67,90,86,85;& 建立单元矩阵 B并回答有关问题。B1,1=1;B1,2= 'renden 'B2,1=reshape(1:9,3,3);B2,2=12,34,2;54,2

6、1,3;4,23,67;(1) size(B)和ndims(B)的值分别是多少? 答:size(B)=(2,2)ndims(B)=2(2) B(2)和B(4)的值分别是多少?j答:B(2)=2378, B(4)=12342542132367 j(3)B(3)=和B3=执行后,B的值分别是多少?答:当执行B(3)=后,B=1, 1, 4, 7; 2, 5, 8; 3, 6, 9, 12, 34, 2; 54, 21, 3; 4, 23, 67当执行B3=后,B=1,; 1, 4, 7; 2, 5, 8; 3, 6, 9, 12, 34, 2; 54, 21, 3; 4, 23, 67习题三1.写

7、出完成下列操作的命令。(1) 建立3阶单位矩阵A答:A=eye(3);(2) 建立5 x 6随机矩阵A,其元素为100,200范围内的随机整数。答:round(100+(200-100)*rand(5,6);(3) 产生均值为1,方差为0.2的500个正态分布的随机数。答:1+sqrt(0.2)*randn(5,100);(4) 产生和A同样大小的幺矩阵。答: ones(size(A);(5) 将矩阵A对角线的元素加 30。答:A+eye(size(A)*30;(6) 从矩阵A提取主对角线元素,并以这些元素构成对角阵B答:B=diag(diag(A);2. 使用函数,实现方阵左旋14710A=

8、2581136912一答:B=rot90(A);C=rot90(A,-1);90°或右旋90°的功能。例如,原矩阵为A A左旋后得到11 12i789B =456】123一B,右旋后得到 C-3625114C =987-12111° 一3. 建立一个方阵 A,求A的逆矩阵和 A的行列式的值,并验证A与A-1是互逆的。答:A=rand(3)*10;B=inv(A);C=det(A);先计算B*A,再计算A*B,由计算可知 B*A=A*B,即A- A = A-1 A是互逆。4. 求下面线性方程组的解。4x1 2x2 -X3 = 2 3捲-x2 2x3 =10 12论

9、3x2 = 8答:A=4,2,-1;3,-1,2;12,3,0;b=2;10;8;x=i nv (A)*b-6.0000方程组的解为x= 26.666727.33335. 求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。1-123(2) °43 43 2-8.94215172(1) A =3052111509一答:(1) 取主对角线元素:diag(A);上三角阵:triu(A);下三角阵:tril(A);秩:rank(A);范数:norm(A,1); 或 norm(A);或 norm(A,inf);条件数:cond(A,1);或 cond(A,2);或 cond(

10、A,inf)迹:trace(A);(2) 【请参考(1)】。6. 求矩阵A的特征值和相应的特征向量。110.5A=110.25'0.50.252一答:V,D=eig(A);习题四1. 从键盘输入一个 4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以 10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。答:a=input('请输入4位整数:');A二a/1000,a/100,a/10,a;A二fix(rem(A,10);A二rem(A+7,10);b二A(3)*1000+A(4)*100+A(1)*10+A(2);disp('

11、加密后的值为:',nu m2str(b);2. 分别用if语句和switch语句实现以下计算,其中a b、c的值从键盘输入。f2ax +bx +c, 0.5 兰x c 1.5y = «asi ncb+x, 1.5 兰 xc3.5cIn b + ,3.5 兰 x c 5.5I x答:(1)用if语句实现计算:a=input('请输入a的值:');b=input('请输入b的值:');c=input('请输入c的值:');x二input('请输入x的值:');if x>=0.5 & x<1.5y=

12、a*xA2+b*x+c;endif x>=1.5 & x<3.5y=a*(sin(b)Ac)+x;endif x>=3.5 & x<5.5y=log(abs(b+c/x);enddisp('y=', num2str(y);(2)用switch语句实现计算:a=input('请输入a的值:');b=input('请输入b的值:');c=input('请输入c的值:');x二input('请输入x的值:');switch fix(x/0.5)case 1,2y=a*xA2+b*x

13、+c;case n um2cell(3:6)y=a*(sin(b)Ac)+x;case num2cell(7:10)y=log(abs(b+c/x);enddisp('y二',num2str(y);3. 产生20个两位随机整数,输岀其中小于平均值的偶数。 答:A=fix(10+89*ra nd(1,20);sum=0;for i=1:20sum=sum+A(i);endB=A(fi nd(A<(sum/20);C=B(fi nd(rem(B,2)=0);disp(C);4. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB答:(1) 用循环结构实现

14、:v_max=0;v_mi n=0;for i=1:20x=input('请输入第',num2str(i),'数:');if x> v_maxv_max=x;en d;if x< v_minv_mi n=x;en d;enddisp('最大数为:',n um2str(v_max);disp('最小数为:,nu m2str(v_mi n);(2) 用max函数、min函数实现:for i=1:5A(i)二input('请输入第,num2str(i),'数:');enddisp('最大数为:'

15、;,nu m2str(max(A);disp('最小数为:,nu m2str(mi n(A);5. 已知: s =12222326 3,分别用循环结构和调用答:的max函数、min函数来实现。MATLAB 的sum函数求s的值。(1)用循环结构实现:学习-好资料s=0;for i=0:63 s=s+2Ai;ends(2)调用sum函数实现:s=0:63;s=2.As;sum(s)6. 当n分别取100、1000、10000时,求下列各式的值。更多精品文档(1)(2)“ 1 12 3 1 13 511-川(-1)n1川(=1 n2)4n冷川(二)74(3)1丄4 16 64(4)(2n)

16、 (2n)丝K字ii“1仆3人3咒5人5咒7丿1(2 n-1)x(2 n+1)丿I 2丿m=要求分别用循环结构和向量运算(使用 sum或prod函数)来实现。答:(1)用循环结构实现:sum=0;for k=1:100sum=sum+(-1)A(k+1)/k;endsum使用sum函数:x=;for k=1:10000x=x, (-1)A(k+1)/k;endsum(x)(2)用循环结构实现:sum=0;for k=1:100sum=sum+(-1)A(k+1)/(2*k-1);endsum使用sum函数:for k=1:100x=x, (-1)八(k+1)/(2*k-1);endsum(x)

17、(3) 用循环结构实现:sum=0;for k=1:100sum=sum+1/(4Ak);endsum使用sum函数实现:x=;for k=1:100x=x, 1/(4Ak);endsum(x)(4) 用循环结构实现:t=1;for k=1:100t=t*(2*k)*(2*k)/(2*k-1)*(2*k+1);endt使用prod函数实现:x=;for k=1:100x=x, (2*k)*(2*k)/(2*k-1)*(2*k+1);endprod(x)7. 编写一个函数文件,求小于任意自然数n的斐波那契(Fibnacci )数列各项。斐波那契数列定义如下:fi =1,n =1f2 =1,n=2

18、fn "n4 fnd n 2答:function x=fibnacci(n)for i=1: nif i<=2x(i)=1;elsex(i)=x(i-1)+x(i-2);endend8. 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。答:函数文件 myfnc.m :function x, y= myfnc(A, B)tryx=A*B;catchx=;endy=A.*B;命令文件 myexe.m :A=input('请输入矩阵A:');B=input('请输入矩阵 B :');x, y=myfnc(A, B);if le ngth(x)=Odisplay两矩阵的维数不匹配,无法进行乘积运算!');elsedisp('矩阵A和矩阵B的乘积为:');xenddisp('矩阵A和矩阵B的点乘为:');y9.先用函数的递归调用定义一个函数文件求nmv i,然后调用该函数文件求i d10050' k、k2k=1k=1J丄k=1 k答:函数文件 myfnc.m :fun cti on sum=myf nc(n, m)if n<=1sum=1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论