matlab课后习题答案1到6章_第1页
matlab课后习题答案1到6章_第2页
matlab课后习题答案1到6章_第3页
matlab课后习题答案1到6章_第4页
matlab课后习题答案1到6章_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、A=1:9;B=10-A;名、专业和6门课程的成绩.习题二1如何理解“矩阵是MATLAB最根本的数据对象"?答:由于向量可以看成是仅有一行或一列的 矩阵,单个数据(标量)可以看成是仅含一 个元素的矩阵,故向量和单个数据都可以作 为矩阵的特例来处理.因此,矩阵是MATLAB最根本、最重 要的数据对象.2.设A和B是两个同维同大小的矩阵,问: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, 0L20L30答:student(1).id='

2、;0001'student(1).name='Tom'student(1).major='computer'student(1).grade=89,78,67,90,86,85;的值为1, 1, 1, 1, 1, 0, 0, 0,的值为0, 0, 0, 1, 1, 1, 0, 0,8.建立单元矩阵B并答复有关问题.B1,1=1;B1,2='Bre nden:B2,1=reshape(1:9,3,3);(1)A*B和A.*B的值是否相等?答:不相等.A./B禾口 B.A的值是否相等?答:相等.A/B和BA的值是否相等?答:不相等.A/B和BA所代表

3、的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,L4的值为4, 5, 6B2,2=12,34,2;54,21,3;4,23,67;5.(1)size(B)和ndims(B)的值分别是多完成以下操作:少?(1) 取出A的前3行构成矩阵B,前两列构成矩阵c,右下角32子矩阵构成矩阵D,B与C的乘积构成矩阵E.答:B=A(1:3,:);C=A(:,1:2);li答:size(B)的值为 2, 2.ndims(B)的值为 2.B(2)和B(4)的值分别是多少?71答:B(2) =28,B(4)=即A*inv(B),而BA 等效于B矩阵的 逆左乘A矩阵,即inv(B)*A.3. 写出完成以下操作的命

4、令.(1) 将矩阵A第25行中第1, 3, 5 列元素赋给矩阵B.答:B=A(2:5,1:2:5); 或 B=A(2:5,1 35)(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转换 成3 4矩阵.答:reshape(x,3,4);(7) 求一个字符串的 ASCII码.答 : abs( 123 '); 或 double( '123 ');(

5、8) 求一个ASCII码所对应的字符. 答:char(49);4. 以下命令执行后,L1、L2、L3、L4的 值分别是多少?D=A(2:4,3:4);E=B*C;(2) 分别求 E<D、E&D、E|D、E|D 和 find(A>=10&A<25).11E<D=11E&D=_0712342 154213J42367 _11(3)B(3)=和 B3=执行后,B 的值分别是多少?答:当执行B(3)= 后,B=1, 1, 4, 7; 2, 5, 8; 3, 6, 9,1 ,E|D=10112, 34, 2; 54, 21, 3; 4, 23, 67当执行

6、B3=后,B=1,; 1, 4, 7; 2, 5, 8; 3, 6,9, 12, 34, 2; 54, 21, 3; 4, 23, 67习题三0 0(1)建立3阶单位矩阵A.fin d(A>=10&A<25)=1; 5.答:A=eye(3);6.当 A=34, NaN, Inf, -Inf, -pi, eps, 0(2)建立5 X 6随机矩阵A,其元素时,分析以下函数的执行结果:all(A),为100,200范围内的随机整数.any(A),isnan(A) ,isinf(A) ,isfinite(A).答答:all(A)的值为0round(100+(200-100)*ran

7、d(5,6);an y(A)的值为1(3)产生均值为1,方差为0.2的500isnan(A)的值为0, 1, 0, 0, 0, 0, 0个正态分布的随机数.isinf(A) 的值为0, 0, 1, 1, 0, 0, 0答:1+sqrt(0.2)*ra ndn (5,100);isfinite(A)的值为1, 0, 0, 0, 1, 1, 1(4)产生和A同样大小的幺矩阵.7.用结构体矩阵来存储5名学生的根本情答:ones(size(A);况数据,每名学生的数据包括学号、姓(5)将矩阵A对角线的元素加30.E|D=写出完成以下操作的命令.1.来源于网络答:A+eye(size(A)*30;tri

8、l(A);秩:ran k(A);范数:a=input('请输入a的值:'); b=input('请输入b的值:'); c=input('请输入c的值:); x=input('请输入x的值:');(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵答:B=diag(diag(A);B.2.使用函数,实现方阵左旋90 o或右旋90onorm(A,1);或 norm(A);switch fix(x/0.5)的功能.例如,原矩阵为 A,A左旋后或 norm(A,inf);case 1,2得到B,右旋后得到C.条件数:y=a*xA2+b*x+c;

9、答:cond(A,1);或 cond(A,2);case num2cell(3:6)B=rot90(A);或 cond(A,inf)y=a*(sin(b)Ac)+x;C=rot90(A,-1);迹:case num2cell(7:10)3.建立一个方阵A,求A的逆矩阵和A的trace(A);y=log(abs(b+c/x);行列式的值,并验证A与A-1是互逆的.(2)【请参考(1)】.end答:A=rand(3)*10;6.求矩阵A的特征值和相应的特征向量.disp('y=',num2str(y);B=i nv(A);答:V,D=eig(A);3.产生20个两位随机整数,输出其

10、中小C=det(A);习题四于平均值的偶数.先计算B*A,再计算A*B,由计1.从键盘输入一个4位整数,按如下规那么答八孑1 1 1j 算可知 B*A=A*B,即 A A-1=A-1 A加密后输出.加密规那么:每位数字都加A=fix(10+89*rand(1,20);是互逆.上7,然后用和除以10的余数取代该i 1sum=0; i ii4.求下面线性方程组的解.数字;再把第一位与第三位交换,第二iffor i=1:20答:位与第四位交换.-_ r F'11sum=sum+A(i);A=4,2,-1;3,-1,答: . "xr II-1end;12,3,0;a=input(&#

11、39;请输入4位整数:');B=A(find(A<(sum/20);b=2;10;8;A=a/1000,a/100,a/10,a;C=B(find(rem(B,2)=0);x=i nv(A)*bA=fix(rem(A,10);disp(C);方 程 组的解 为c-jA=rem(A+7,10);4.输入20个数,求其中最大数和最小数.b=A(3)*1000+A(4)*100+A(1)*10+A(要求分别用循环结构和调用MATLAB!x=W . W W W W |26.666727.3333 一 12);disp('加密后的值为:,num2str(b);答的max函数、min

12、函数来实现.2.分别用if语句和switch语句实现以下(1)用循环结构实现:5.求以下矩阵的主对角线元素、上三角阵、计算,其中a、b、c的值从键盘输入.v_max=0;下三角阵、秩、范数、条件数和迹.答:(1)用if语句实现计算:v_min=0;_1-1231;a=input('请输入a的值:');for i=1:20b=input('请输入b的值:');x=input('请输入第51-42(1) A =、.I r3052c=input('请输入c的值:');num2str(i),'数:');x=input('请

13、输入x的值:');if x> v_max-111509一if x>=0.5 & x<1.5v_max=x;(2)y=a*xA2+b*x+c;end;"0.43 43 2 _endif x< v_minB = 1if x>=1.5 & x<3.5v_min=x;-8.9421 一y=a*(sin(b)Ac)+x;end;答:endend(1)取主对角线元素:if x>=3.5 & x<5.5disp('最 大 数 为:diag(A);y=log(abs(b+c/x);num2str(v_max);上

14、三角阵:enddisp('最 小 数 为 :triu(A);disp('y=',num2str(y);num2str(v_min);下三角阵:(2)用switch语句实现计算:(2) 用max函数、min函数实现:来源于网络5.答:6.sum答:for i=1:5A(i)=input('请输入第',num2str(i),'数:);enddisp('最大数为:',num2str(max(A);disp('最小数为:',num2str(mi n(A);已知:s=1 2 22 2 川 263,分别用循环结构和调用MATL

15、AB的sum函数求s的值.(1)用循环结构实现:s=0;for i=0:63s=s+2Ai;end(2)调用sum函数实现:s=0:63;s=2.As;sum(s)当 n 分别取 100、1000、10000 时,求以下各式的值.(1)for k=1:100sum=sum+(-1)八(k+1)/k;endsum使用sum函数:x=;for k=1:10000x=x, (-1)八(k+1)/k;endsum(x)(2)用循环结构实现:sum=0;for k=1:100sum=sum+(-1)A(k+1)/(2*k-1);endsum使用sum函数:x=;for k=1:100endx=x, (-

16、1)A(k+1)/(2*k-1);sum(x)(3)用循环结构实现:sum=0;for k=1:100sum=sum+1/(4Ak);111d 1end1巧寸君叱end使用sum函数实现:x=;for k=1:100x=x, 1/(4Ak);1; 64心吩3)要求分别用循环结构和向量运算(使用或prod函数)来实现.(1)用循环结构实现:sum=0;endsum(x)(4)用循环结构实现:t=1;for k=1:100(2n) (2n)t=t*(|(2*k)*<2*k)/(2*k-1)*(2*(2n -1)k+(2;n1) 2end使用prod函数实现:x=;for k=1:100x=x

17、,(2*k)*(2*k)/(2*k-1)*(2*k+1);endprod(x)7. 编写一个函数文件,求小于任意自然数n的斐波那契(Fibnacci )数列各项.斐波那 契数列定义如下:答:function x=fibnacci(n)for i=1:nif i<=2x(i)=1;elsex(i)=x(i-1)+x(i-2);1 1endend8. 编写一个函数文件,用于求两个矩阵的 乘积和点乘,然后在命令文件中调用该 函数.I | I ;答:函数文件myfnc.m :function x, y= myfnc(A, B)tryx=A*B;catchx=;endy=A.*B;命令文件myex

18、e.m :A=input('请输入矩阵A:');B=input('请输入矩阵B :');x, y=myfnc(A, B);if length(x)=0display两矩阵的维数不匹配,无法进行乘积运算!');elsedisp('矩阵A和矩阵B的乘积为:');xenddisp('矩阵A和矩阵B的点乘为:');y9. 先用函数的递归调用定义一个函数文件n求二iiT然后调用该函数文件求1005010 彳2 1、k ' k2 ' 匚. k 4k 4k 4 kx=t.A2;y=5*t.A3;Plot(x,y)ende

19、nd>> plot(x,y)答:2.fplot函数:函数文件myfnc.m :(1)fplot('(x<0).*(x.A3+sqrt(1-x)-5)+(x=0).*0function sum=myfnc(n, m)theta=0:0.01:2*pi;+(x>0).*(x.A2+(1+x).A(1/4)+5)',-10,10)if n<=1rho=5*cos(theta)+4;第六章sum=1;polar(theta,rho)1.else(2)A=ra ndn (10,5)sum= myfnc (n-1, m)+nAm;theta=0.001:0.1

20、:2*pi;(1) mean(A);均值std(A);endrho=12./sqrt(theta);标准方差在命令窗口中调用 myfnc.m 文件,计polar(theta,rho)(2 ) max(max(A);最大元素(3) theta=0.001:0.1:2*pi;min (mi n(A);最小元素1005010 A、-fl21算'k 、 k、:rho=5./cos(theta)-7;(3) B=sum(A,2);A每行元素的和k 4k 4k 4 kpolar(theta,rho)._sum(B);A全部元素之和:. - -sum=myfnc(100,1)+ myfnc(50,(

21、4)(4) sort(A);A的每列元素按升序排列2)+myfnc(10,-1)theta=0.001:0.1:2*pi;sort(A,2, ' descend ');A的每行10.写岀以下程序的输岀结果.rho=pi/3.*theta.A2;元素按将序排列 1 ; |s=0;polar(theta,rho)2.a=12,13,14;15,16,17;18,19,23.、I r-(1)1 1 0;21,22,23;(1)(2)1J for k=at=0:pi/100:2*pi;X=1 4 9 16 25 36 49 64 81 100;for j=1:4x=cos(t);Y=1

22、:10;if rem(k(j),2)=0y=sin(t);卢4X仁 1:100;s=s+k(j);z=t;丫仁 interp1(X,Y,X1,'cubic')endplot3(x,y,z)3.endx=165 123 150 123 141;endu=0:pi/100:2*pi;y=187 126 172 125 148;sv=0:pi/100:2*pi;P=polyfit(x,y,3)答:执行结果为x=(1+cos(u).*cos(v);P =s=108y=(1+cos(u).*sin(v);1.0e+003 *命令文件exe.m执行后的结果为:z=sin(u);-0.000

23、00.0013-0.1779,Vx =plot3(x,y,z)8.433041220(3)所以它的线性拟合曲线为:p(x)=1.3x 2 y=(4)177.9x+84332465.4.第五章plot函数:(1)P1=0 3 2;P2=5 -1 2;P3=1 0 -0.5;1.(1) x=-10:0.1:10;>> x=linspace(-10,10,200);P=conv(conv(P1,P2),P3)y=100./(1+x.A2);>> y=;P =Plot(x,y)>> for x0=x015.00007.0000(2) x=-10:0.1:10;if

24、x0>0-3.50000.5000-2.0000y=1/(2*pi)*exp(-x.A2/2);y=y,x0.A2+(1+x0).A(1/4)+5;-2.0000Plot(x,y)elseif x0=0所以 P(x)=15x 5+7x 4-3.5x 3+0.5x 2-2x-2(3) ezplot('xA2+yA2=1')y=y,0;(2)(4)elseif x0<0roots(P)t=-10:0.1:10;y=y,x0.A3+sqrt(1-x0)-5;ans =0.70712x=inv(A)*b0.1000 + 0.6245ix=1:3;x =0.1000 - 0.

25、6245if=inline('sqrt(x.A2+1)');-1.8060-0.7071dx=diff(f(x,4)-0.5373-0.6667结果:3.0448dx =矩阵除法法:i=0:10;0.82190.92620.9608A=2 3 5;3 7 4;1 -7 1;xi=0.2*i;7. 1b=10;3;5;polyval(P,xi)仁 inline('sin(x)45.*sin(5*x)');x=Abans =quad(f,0,pi)x =-2.0000-2.3920-2.6112ans =-1.8060-1.70242.710415.00000.09

26、82-0.537342.112094.1408184.905623.0448% y j i332.5264560.0000f=inline('(1+x.A2)./(1+x.A4)');矩阵分解法:5.quad(f,-1,1)A=2 3 5;3 7 4;1 -7 1;(1)ans =b=10;3;5;建立函数文件:2.2214L,U=lu(A);function f=fxy(u)3x=U(Lb)i| r. ix=u(1);y=u (2);仁 inline('x.*sin(x)./(1+cos(x)42)');x =仁 3.*x.A2+2*x.*y+y.A2quad

27、(f,0,pi).i'二:、I 'ir I 1-1.8060在命令窗口中输入以下命令:ans =-、 l r11-k W ll i) i-0.5373U,fmin=fminsearch('fxy',1,1)2.46747 xJfT f3.0448结果:42方法同1U =f=inline('abs(cos(x+y)');10.1.0e-004 *dblquad(f,0,pi,0,pi)LJ函数文件:line_solution(A,b)-0.06750.1715ans =function x,y=line_solution(A,b)fmin =6.2

28、832m,n=size(A);1.9920e-010ij8.y=;2N=64;%采样点数if norm(b)>0f= inline('-sin(x)-cos(x.A2)');T=5;%采样时间终点if rank(A)=rank(A,b)fmax=fminbnd(f,0,pi)t=linspace(0,T,N);%给出N个采样时间tiif rank(A)=nfmax =% I(i=1:N)disp'原方程组有唯一解x'0.7310 y=exp(-t);%求各采样点样本值yx=Ab;6.L二二飞dt=t (2)-t(1);%采样周期else(1)x=pi/6 pi/4 pi/3;f= 1/dt;%采样频率disp'原方程组有无穷个解,特解为x,齐次仁 inline('sin(x).A2+cos(x)42');Y=fft(y);%计算y的快速傅里方程组的根底解系为y'dx=diff(f(x,5*pi/12)/(pi/12)可参叶变换Yx=Ab;见第157页例题6.19F=Y(1:N/2+1);%F(k)=Y(k)y=null(A,'r');dx =仁 f*(0:N/2)/N;%使频率轴f从0开end0 0 0始disp'方程组无解

温馨提示

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

评论

0/150

提交评论