MATLAB程序设计与应用第二版课后题及实验答案全_刘卫国.doc_第1页
MATLAB程序设计与应用第二版课后题及实验答案全_刘卫国.doc_第2页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

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

文档简介

第二章3.设矩阵a为a=24 23 9 21 6;65 74 24 11 21;34 5 98 75 21;8 42 42 53 121;43 21 45 64 21;(1) b=a(2:5,1:2:5)b = 65 24 21 34 98 21 8 42 121 43 45 21(2)a(7)=a =24 65 34 8 43 23 5 42 21 9 24 98 42 45 21 11 75 53 64 6 21 21 121 21(3)a+30(4)size(a);ndims(a)(5)题目有误(6)reshape(x,3,4)(7)abs(x)(8)char(x)4. l1 = 0 0 0 0 1 0 0 0 0l2 = 1 1 1 1 1 0 0 0 0l3 = 0 0 0 1 1 1 0 0 0l4 = 4 5 65.(1)b=a(1:3,:)c=a(:,1:2)d=a(2:4,3:4)e=b*cb = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.0000 5.0000 32.0000 5.0000 0 32.0000c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400d = 65.0000 5.0000 0 32.0000 54.0000 3.1400e = 1.0e+003 * 0.9141 -0.2239 1.2080 2.7123 1.1330 -0.2103(2)e=10&a25)ans = 1 56. all(a)ans = 0any(a)ans = 1isnan(a) ans = 0 1 0 0 0 0 0isinf(a)ans = 0 0 1 1 0 0 0isfinite(a)ans = 1 0 0 0 1 1 17.a(1).x1=学号;a(1).x2=姓名;a(1).x3=专业;a(1).x4.x41=成绩1;.a(2).x1=学号;a(2).x2=姓名;a(2).x3=专业;a(2).x4.x41=成绩1;.a(3).x1=学号;a(3).x2=姓名;a(3).x3=专业;a(3).x4.x41=成绩1;.a(4).x1=学号;a(4).x2=姓名;a(4).x3=专业;a(4).x4.x41=成绩1;.a(5).x1=学号;a(5).x2=姓名;a(5).x3=专业;a(5).x4.x41=成绩1;.8.(1)size(b)ans = 2 2ndims(b)ans = 2(2) b(2)ans =3x3 doubleb(4)ans = 3x3 cell(3)b(3)=b = 1 3x3 double 3x3 cellb3=b = 1 3x3 double 第三章1.(1)a=eye(3)(2) a=100+100*rand(5,6)(3)a=1+sqrt(0.2)*randn(10,50)(4)b=ones(size(a)(5)a+30*eye(size(a)(6)b=diag(diag(a)2.b=rot90(a)c=rot90(a,-1)3.b=inv(a) ;a的逆矩阵c=det(a) ;a的行列式的值d=a*be=b*ad=e 因此a与a-1是互逆的。4.a=4 2 -1;3 -1 2;12 3 0;b=2;10;8;x=inv(a)*bx = -6.0000 26.6667 27.33335.(1) diag(a) ;主对角线元素ans = 1 1 5 9triu(a) ;上三角阵ans = 1 -1 2 3 0 1 -4 2 0 0 5 2 0 0 0 9tril(a) ;下三角阵ans = 1 0 0 0 5 1 0 0 3 0 5 011 15 0 9rank(a) ;秩ans = 4norm(a) ;范数ans = 21.3005cond(a) ;条件数ans = 11.1739trace(a) ;迹ans =16(2)略6.a=1 1 0.5;1 1 0.25;0.5 0.25 2a = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000 v,d=eig(a)v = 0.7212 0.4443 0.5315 -0.6863 0.5621 0.4615 -0.0937 -0.6976 0.7103d = -0.0166 0 0 0 1.4801 0 0 0 2.5365第四章1.a=input(请输入一个4位数:);while (a9999)a=input(输入错误,请重新输入一个4位数:);endb=fix(a/1000);c=rem(fix(a/100),10);d=rem(fix(a/10),10);e=rem(a,10);b=b+7;c=c+7;d=d+7;e=e+7;b=rem(b,10);c=rem(c,10);d=rem(c,10);e=rem(e,10);g=b;b=d;d=g;g=c;c=e;e=g;a=1000*d+100*e+10*b+c;disp(加密后:,num2str(a)2.a=input(请输入a: );b=input(请输入b: );c=input(请输入c: );x=0.5:1:5.5;x1=(x=0.5&x=1.5&x=3.5&x=5.5);y1=a.*(x.2)+b.*x+c;y2=a*(sin(b)c)+x;y3=log(abs(b+c./x);y=y1.*x1+y1.*x2+y3.*x3;disp(y)3.x=fix(rand(1,20)*89)+10;x1=fix(sum(x)/20);disp(平均数是:,num2str(x1)m=(rem(x,2)=0&x=na=n;elseif b x=linspace(-10,10,200); y=; for x0=xif x00y=y,x0.2+(1+x0).(1/4)+5;elseif x0=0y=y,0;elseif x0 plot(x,y)fplot函数:fplot(x0).*(x.2+(1+x).(1/4)+5),-10,10)第六章1.a=randn(10,5)(1)mean(a) ;均值 std(a) ;标准方差(2)max(max(a) ;最大元素 min(min(a) ;最小元素(3)b=sum(a,2) ;a每行元素的和 sum(b) ;a全部元素之和(4)sort(a) ;a的每列元素按升序排列 sort(a,2,descend) ;a的每行元素按将序排列2.(1)(2)x=1 4 9 16 25 36 49 64 81 100;y=1:10;x1=1:100;y1=interp1(x,y,x1,cubic)3.x=165 123 150 123 141;y=187 126 172 125 148;p=polyfit(x,y,3)p = 1.0e+003 * -0.0000 0.0013 -0.1779 8.4330所以它的线性拟合曲线为:p(x)=1.3x2177.9x+84334.(1)p1=0 3 2;p2=5 -1 2;p3=1 0 -0.5;p=conv(conv(p1,p2),p3)p = 0 15.0000 7.0000 -3.5000 0.5000 -2.0000 -2.0000所以p(x)=15x5+7x4-3.5x3+0.5x2-2x-2(2)roots(p)ans = 0.7071 0.1000 + 0.6245i 0.1000 - 0.6245i -0.7071 -0.6667 (3)i=0:10;xi=0.2*i;polyval(p,xi)ans = -2.0000 -2.3920 -2.6112 -1.7024 2.7104 15.0000 42.1120 94.1408 184.9056 332.5264 560.00005.(1)建立函数文件:function f=fxy(u)x=u(1);y=u(2);f=3.*x.2+2*x.*y+y.2在命令窗口中输入以下命令:u,fmin=fminsearch(fxy,1,1)结果:u = 1.0e-004 * -0.0675 0.1715fmin = 1.9920e-010(2)f=inline(-sin(x)-cos(x.2);fmax=fminbnd(f,0,pi)fmax =0.73106.(1)x=pi/6 pi/4 pi/3;f=inline(sin(x).2+cos(x).2);dx=diff(f(x,5*pi/12)/(pi/12) 可参见第157页例题6.19dx = 0 0 0x=pi/2时单独计算:x=pi/2;f=inline(sin(x).2+cos(x).2);diff(f(x,pi)/(pi/2)ans = 0(2)x=1:3;f=inline(sqrt(x.2+1);dx=diff(f(x,4)结果:dx =0.8219 0.9262 0.96087.(1)f=inline(sin(x).5.*sin(5*x);quad(f,0,pi)ans =0.0982(2)f=inline(1+x.2)./(1+x.4);quad(f,-1,1)ans =2.2214(3)f=inline(x.*sin(x)./(1+cos(x).2);quad(f,0,pi)ans =2.4674(4)f=inline(abs(cos(x+y);dblquad(f,0,pi,0,pi)ans =6.28328.n=64; %采样点数t=5; %采样时间终点t=linspace(0,t,n); %给出n个采样时间ti(i=1:n)y=exp(-t); %求各采样点样本值ydt=t(2)-t(1); %采样周期f=1/dt; % 采样频率y=fft(y); %计算y的快速傅里叶变换yf=y(1:n/2+1); %f(k)=y(k)f=f*(0:n/2)/n; %使频率轴f从0开始plot(f,abs(f) %绘制振幅-频率图9.(1)矩阵求逆法:a=2 3 5;3 7 4;1 -7 1;b=10;3;5;x=inv(a)*bx = -1.8060 -0.53733.0448矩阵除法法:a=2 3 5;3 7 4;1 -7 1;b=10;3;5;x=abx = -1.8060 -0.53733.0448矩阵分解法:a=2 3 5;3 7 4;1 -7 1;b=10;3;5;l,u=lu(a);x=u(lb)x = -1.8060 -0.53733.0448(2)方法同(1)10.函数文件:line_solution(a,b)function x,y=line_solution(a,b)m,n=size(a);y=;if norm(b)0if rank(a)=rank(a,b)if rank(a)=ndisp(原方程组有唯一解x);x=ab; elsedisp(原方程组有无穷个解,特解为x,齐次方程组的基础解系为y);x=ab;y=null(a,r);enddisp(方程组无解);x=; endelsedisp(原方程组有零解x);x=zeros(n,1);if rank(a) in line_solution at 11方程组无解x = y = -0.5000 0.5000 1.0000 0 0 1.0000 0 011.(1)f=inline(x-sin(x)./x);x=fzero(f,0.5)x =0.8767(2)f=inline(sin(x).2).*exp(-0.1.*x)-0.5.*abs(x);x=fzero(f,1.5)x = 1.673812.函数文件:function f=fxy(u)x=u(1)y=u(2)f(1)=x-0.6*sin(x)-0.3*cos(y)f(2)=y-0.6*cos(x)+0.3*sin(y)在命令窗口输入以下命令:x=fsolve(fxy,0.5,0.5,optimset(display,off)结果:x = 0.6354 0.373415.a=-1 2 0;-1 2 -1;-1 2 -1;-1 2 -1;0 2 -1;d=-1;0;1;b=spdiags(a,d,5,5);b=1 0 0 0 0;x=(inv(b)*b)x = 0.8333 0.6667 0.5000 0.3333 0.1667实验一 matlab运算基础1. 先求下列表达式的值,然后显示matlab工作空间的使用情况并保存全部变量。(1) (2) ,其中(3) (4) ,其中t=0:0.5:2.5解:m文件:z1=2*sin(85*pi/180)/(1+exp(2)x=2 1+2*i;-0.45 5;z2=1/2*log(x+sqrt(1+x2) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a)./2.*sin(a+0.3)+log(0.3+a)./2)t=0:0.5:2.5;z4=(t=0&t=1&t=2&t=0&t=1&t=2&t=a&chtp,所以pascal矩阵性能更好。3. 建立一个55矩阵,求它的行列式值、迹、秩和范数。解: m文件如下:输出结果为:a = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9d = 5070000t = 65c1 = 6.8500c2 = 5.4618cinf = 6.85004. 已知求a的特征值及特征向量,并分析其数学意义。解:m文件如图:输出结果为:v = 0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050d = -25.3169 0 0 0 -10.5182 0 0 0 16.8351数学意义:v的3个列向量是a的特征向量,d的主对角线上3个是a的特征值,特别的,v的3个列向量分别是d的3个特征值的特征向量。5. 下面是一个线性方程组:(1) 求方程的解。(2) 将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。(3) 计算系数矩阵a的条件数并分析结论。解: m文件如下:输出结果:x = 1.2000 0.6000 0.6000x2 = 1.2000 0.6000 0.6000c = 1.3533e+003由结果,x和x2的值一样,这表示b的微小变化对方程解也影响较小,而a的条件数算得较小,所以数值稳定性较好,a是较好的矩阵。6. 建立a矩阵,试比较sqrtm(a)和sqrt(a),分析它们的区别。解:m文件如下:运行结果有:a = 16 6 18 20 5 12 9 8 5b1 = 3.8891 -0.1102 3.2103 3.2917 2.1436 0.3698 0.3855 2.0760 1.7305b2 = 4.0000 2.4495 4.2426 4.4721 2.2361 3.4641 3.0000 2.8284 2.2361b = 16.0000 6.0000 18.0000 20.0000 5.0000 12.0000 9.0000 8.0000 5.0000分析结果知:sqrtm(a)是类似a的数值平方根(这可由b1*b1=a的结果看出),而sqrt(a)则是对a中的每个元素开根号,两则区别就在于此。实验三 选择结构程序设计一、实验目的1. 掌握建立和执行m文件的方法。2. 掌握利用if语句实现选择结构的方法。3. 掌握利用switch语句实现多分支选择结构的方法。4. 掌握try语句的使用。二、实验内容1. 求分段函数的值。用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。解:m文件如下:运算结果有:f(-5)y = 14 f(-3)y = 11 f(1)y = 2 f(2)y = 1 f(2.5)y = -0.2500 f(3)y = 5 f(5)y = 192. 输入一个百分制成绩,要求输出成绩等级a、b、c、d、

温馨提示

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

评论

0/150

提交评论