MATLAB习题复习资料 10页

  • 31.61 KB
  • 2022-07-29 发布

MATLAB习题复习资料

  • 10页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。因此,矩阵是MATLAB最基本、最重要的数据对象。2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。(2)A./B和B.\A的值是否相等?答:相等。(3)A/B和B\A的值是否相等?答:不相等。(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于A的逆左乘B矩阵,即inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,即B*inv(A)。3.写出完成下列操作的命令。(1)将矩阵A第2~5行中第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);ndims(A);(5)将向量t的0元素用机器零来代替。答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成34矩阵。答:reshape(x,3,4);(7)求一个字符串的ASCII码。答:abs(‘123’);或double(‘123’);(8)求一个ASCII码所对应的字符。答: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)10/10\n5.已知完成下列操作:(1)答:(2)答:6.答:L3的值为(0,0,0,1,1,1,0,0,0)L4的值为(4,5,6)234132取出A的前B=A(1:3,:);C=A(:,1:2);10459.543行构成矩阵D=A(2:4,3:4);E=B*C;分别求E=10&A<25)=(1,5)当A=[34,NaN,Inf,-Inf,-pi,eps,0]all(A)=00.7786554323.14B,前两列构成矩阵C,右下角~E|~D和find(A>=10&A<25)。E|D=1时,分析下列函数的执行结果:32子矩阵构成矩阵D,B与C的乘积构成矩阵~E|~D=1all(A),any(A)isnan(A),isinf(A),isfinite(A)。E。any(A)=1isnan(A)=(0,1,0,0,0,0,0)isinf(A)=(0,0,1,1,0,0,0)isfinite(A)=(1,0,0,0,1,1,1)7.用结构体矩阵来存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。答:student(1).id=’0001’;student(1).name=’Tom’;student(1).major=’computer’;student(1).grade=[89,78,67,90,86,85];8.建立单元矩阵B并回答有关问题。B{1,1}=1;B{1,2}=’Brenden’;B{2,1}=reshape(1:9,3,3);B{2,2}={12,34,2;54,21,3;4,23,67};(1)size(B)和ndims(B)的值分别是多少?答:size(B)=(2,2)ndims(B)=2(2)B(2)和B(4)的值分别是多少?10/10\n147[12][34][2]答:B(2)=258,B(4)=[54][21][3]369[4][23][67](1)B(3)=[]和B{3}=[]执行后,B的值分别是多少?答:当执行B(3)=[]后,B={1,[1,4,7;2,5,8;3,6,9],{12,34,2;54,21,3;4,23,67}}当执行B{3}=[]后,B={1,[];[1,4,7;2,5,8;3,6,9],{12,34,2;54,21,3;4,23,67}}习题三1.写出完成下列操作的命令。(1)建立3阶单位矩阵A。答:A=eye(3);(2)建立5X6随机矩阵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));10/1010/102.使用函数,实现方阵左旋90°或右旋90°的功能。例如,原矩阵为14710A2581136912101112321789654BC456987123121110AA左旋后得到B,右旋后得到C10/1010/10答:B=r°t90(A);C=r°t90(A,-1);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・A1=A-1-A是互逆。4.求下面线性方程组的解。10/10\n4x12x2x323x1x22x31012x13x28答:A=[4,2,-1;3,-1,2;12,3,0];b=[2;10;8];x=inv(A)*b6.0000方程组的解为x=26.666727.33335.求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。11230.43432(2)B8.94215142(1)A3052111509答:(1)取主对角线元素:diag(A);上三角阵:triu(A);下三角阵:tril(A);秩:rank(A);范数:norm(A,1);或norm(A);或norm(A,inf);条件数:cond(A,1);或cond(A,2);或cond(A,inf)迹:trace(A);(2)【请参考(1)】。6.求矩阵A的特征值和相应的特征向量。110.5A110.250.50.252答:[V,D]=eig(A);10/10\n习题四1.从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三答:2.位交换,第二位与第四位交换。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(['加密后的值为:’,num2str(b)]);分别用if语句和switch语句实现以下计算,其中a、b、c的值从键盘输入。2axbxc,0.5x1.5yasincbx,1.5x3.5clnb-,3.5x5.5x答:(i)用if语句实现计算:a=input('请输入a的值:');b=input('请输入b的值:');c=input('请输入c的值:');x=input('请输入x的值:');ifx>=0.5&x<1.5y=a*xA2+b*x+c;endifx>=1.5&x<3.5y=a*((sin(b))Ac)+x;endifx>=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的值:');switchfix(x/0.5)case{1,2}y=a*xA2+b*x+c;casenum2cell(3:6)y=a*((sin(b))Ac)+x;10/10\ncasenum2cell(7:10)y=log(abs(b+c/x));enddisp(['y=',num2str(y)]);3.产生20个两位随机整数,输出其中小于平均值的偶数。答:A=fix(10+89*rand(1,20));sum=0;fori=1:20sum=sum+A(i);endB=A(find(A<(sum/20)));C=B(find(rem(B,2)==0));disp(C);的max函数、min函数来实现。4.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB答:(1)用循环结构实现:v_max=0;v_min=0;fori=1:20x=input(['请输入第',num2str(i),'数:']);ifx>v_maxv_max=x;end;ifx