matlab程序设计与应用第二版习题答案【篇一:matlab程序设计与应用(第二版)实验答案】%实验一 matlab运算基础%第1题%(1)z1=2*sin(85*pi/180)/(1+exp(2))%(2)x=[2,1+2i;-0.45,5];z2=0.5*log(x+sqrt(1+x.^2))%(3)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)%(4)t=0:0.5:2.5;z4=t.^2.*(t=0t1)+(t.^2-1).*(t=1t2)+(t.^2-2*t+1).*(t=2t3)%第2题a=[12 34 -4;34 7 87;3 65 7];b=[1 3 -1;2 0 3;3 -2 7];a+6*ba-b+eye(size(a))a*ba.*ba^3a.^3a/bb\a[a,b][a([1,3],:);b^2]%第3题a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] b=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]c=a*bf=size(c)d=c(f(1)-2:f(1),f(2)-1:f(2))whos%第4题%(1):a=100:999;b=rem(a,21);c=length(find(b==0))%(2):a=lsdhksdlkklsdkl;k=find(a=aa=z);a(k)=[]%实验二 matlab矩阵分析与处理 %第1题e=eye(3);r=rand(3,2);o=zeros(2,3);s=diag([2,3]);a=[e,r;o,s];a^2b=[e,(r+r*s);o,s^2]%第2题h=hilb(5)p=pascal(5)hh=det(h)hp=det(p)th=cond(h)tp=cond(p)%第3题a=fix(10*rand(5))h=det(a)trace=trace(a)rank=rank(a)norm=norm(a)%第4题a=[-29,6,18;20,5,12;-8,8,5][v,d]=eig(a)%数学意义略%第5题方法一%(1):a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.52];x=inv(a)*b%(2):b=[0.95,0.67,0.53];x=inv(a)*b%(3):cond(a)%第5题方法二a=hilb(4)a(:,1)=[]a(4,:)=[]b=[0.95,0.67,0.52];x=inv(a)*bb1=[0.95,0.67,0.53];x1=inv(a)*b1n=cond(b)n1=cond(b1)na=cond(a) %矩阵a为病态矩阵%第6题a=[1,4,9;16,25,36;49,64,81]b=sqrtm(a)c=sqrt(a) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算%实验三选择程序结构设计%第1题程序一x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];y=[]; %建立存放所有y值的矩阵for x0=xif x00x0~=-3y=[y,x0*x0+x0-6];elseif x0=0x05x0~=2x0~=3y=[y,x0*x0-5*x0+6];elsey=[y,x0*x0-x0-1];endendx%输出所有xy%输出所有y%第1题程序二x=[-5,-3,1,2,2.5,3,5];y=[];for a=1:7if x(a)0x(a)~=-3y=[y,(x(a))^2+x(a)-6];elseif x(a)=0x(a)5x(a)~=2x(a)~=3y=[y,(x(a))^2-5*x(a)+6];elsey=[y,x(a)*x(a)-x(a)-1];endend%第2题程序一x=input(请输入一个百分制成绩:);if x100|x0disp(您输入的成绩不是百分制成绩,请重新输入。
);elseif x=100x=90disp(a);elseif x=89x=80disp(b);elseif x=79x=70disp(c);elseif x=69x60disp(d);elsedisp(e);endend%第2题程序二s=input(请输入一个成绩(0分到100分之间):); %s用于存放成绩while 1%判断输入成绩的合理性if s0|s100disp(输入的成绩需在0到100之间,请重新输入:)s=input(请输入一个成绩(0分到100分之间):);elsebreak;endendswitch fix(s/10)%对成绩做出等级判断case {9,10}disp(a)case 8disp(b)case 7disp(c)case 6disp(d)otherwisedisp(e)end%第3题n=input(请输入员工工号:);h=input(该员工工作时数是:);if h120x=(h-120)*84*(1+0.15)+120*84;elseif h60x=h*84-700;elsex=h*84;enddisp([num2str(n),号员工,的应发工资为,num2str(x)]); %第4题(还可以用switch语句实现)a=fix(10+(99-10)*rand(1,2)) %产生两个随机整数x=a(1);y=a(2);t=input(请输入运算符号:,s);if t==+z=x+y;elseif t==-z=x-y;elseif t==*z=x*y;elseif t==/z=x/y;enddisp([num2str(x),t,num2str(y),=,num2str(z)])%结果%第5题a=rand(5,6) %产生5x6的随机矩阵n=input(请输入您要输出矩阵的第几行:);if n5disp(超出了矩阵的行数,矩阵的最后一行为:)a(5,:)elsedisp([矩阵的第,num2str(n),行为:])a(n,:)end%实验四循环结构程序设计%第1题程序一s=0;n=input(n=?);for i=1:ns=s+1/i/i;endpi=sqrt(6*s)pi%第1题程序二n=input(n=?);a=1:n;输出运算【篇二:matlab程序设计与应用(第二版)课后实验答案】txt>实验一matlab运算基础1. 先求下列表达式的值,然后显示matlab工作空间的使用情况并保存全部变量。
2sin850(1) z1?21?e(2) z2?1?2i??21 ln(x,其中x???5?2??0.45e0.3a?e?0.3a0.3?asin(a?0.3)?ln,a??3.0,?2.9,?,2.9,3.0 (3) z3?22 ?t20?t?1?(4) z4??t2?11?t?2,其中t=0:0.5:2.5?t2?2t?12?t?3?2. 已知:?1234?4??13?1??,b??203? a??34787???????3657???3?27??求下列表达式的值:(1) a+6*b和a-b+i(其中i为单位矩阵)(2) a*b和a.*b(3) a^3和a.^3(4) a/b及b\a(5) [a,b]和[a([1,3],:);b^2]解:3. 设有矩阵a和b?1?6?a??11??16??215??3?1778910???12131415?,b??0??17181920??9?22232 425???423416??69??23?4? ?70?1311??0(1) 求它们的乘积c。
(3) 查看matlab工作空间的使用情况。
4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch=abc123d4e56fg9;则要求结果是:实验二 matlab矩阵分析与处理?e3?3a?1. 设有分块矩阵?o?2?3r3?2?,其中e、r、o、s分别为单位矩阵、随机矩阵、零矩s2?2??阵和对角阵,试通过数值计算验证a??解:m文件如下;2?e?or?rs?。
?2s?由ans,所以a??2?e?or?rs? ?2s?2. 产生5阶希尔伯特矩阵h和5阶帕斯卡矩阵p,且求其行列式的值hh和hp以及它们的条件数th和tp,判断哪个矩阵性能更好。
为什么?解:m文件如下:解:m文件如下:4. 已知??29618?? a??20512?????885??求a的特征值及特征向量,并分析其数学意义。
解:m文件如图:【篇三:matlab程序设计与应用(第二版) 刘卫国课后实验报告】s=txt>一、实验目的1、熟悉启动和退出matlab的方法。
2、熟悉matlab命令窗口的组成。
3、掌握建立矩阵的方法。
4、掌握matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容三、实验程序1、1.1z1=(2*sin(85*pi/180))/(1+exp(2));结果z1 = 0.23751.2x=[2,1+2*1i;-0.45,5];z2=1/2*log10(x+sqrt(1+x^2));结果x =2.0000 1.0000 + 2.0000i-0.4500 5.0000z2 =0.3090 - 0.0110i0.3895 + 0.1589i0.0929 + 0.4058i0.5012 - 0.0019i1.3a=-3.0:0.1:3.0;z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log10((0.3+a)/2);1.4t=0:0.5:2.5;z4=(t=0t1).*(t.*t)+(t=1t2).*(t.*t-1)+(t=2t3).*(t.*t-2*t+1);结果z4 = 0 0.25000 1.2500 1.0000 2.25002、a=[12,34,-4;34,7,87;3,65,7];b=[1,3,-1;2,0,3;3,-2,7];x1=a+6*b;x2=a-b+eye;x3=a*b;x4=a.*b;x5=a^3;x6=a.^3;x7=a/b;x8=b\a;x9=[a,b];x10=[a([1,3],:);b^2];3、a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25];b=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11];c=a*b;f=size(c);d=c(f(1)-2:f(1),f(2)-1:f(2));结果f = 5 3d =5203977055578907174、a=100:999;b=rem(a,21);c=length(find(b==0));结果c = 43四、实验小结多练习,多动手,达到熟能生巧,灵活应用matlab做各种简单的运算算法。