MATLAB课后题答案整理.docx
- 文档编号:5696262
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:14
- 大小:93.43KB
MATLAB课后题答案整理.docx
《MATLAB课后题答案整理.docx》由会员分享,可在线阅读,更多相关《MATLAB课后题答案整理.docx(14页珍藏版)》请在冰豆网上搜索。
MATLAB课后题答案整理
第一章
1.利用MATLAB的帮助功能分别查询inv、plot、max、round等函数的功能及用法。
Help+函数
2.简述MATLAB的主要功能。
①数值计算和符号计算功能。
②绘图功能。
③编程语言功能。
④扩展功能。
3.help命令和lookfor命令有何区别?
Help命令只搜索出那些与关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。
Lookfor命令只对M文件的第一行进行关键字搜索。
若在lookfor命令后加上-all选项,则可对M文件进行全文搜索。
第二章1
(1)
w=sqrt
(2)*(1+0.34245*10^(-6))w=1.4142
(2)
,其中a=3.5,b=5,c=-9.8。
a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp
(2))/(tan(b+c)+a)x=0.9829
(3)
,其中α=3.32,β=-7.9。
a=3.32;b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)y=-128.4271
(4)
,其中t=
。
t=[2,1-3i;5,-0.65];z=0.5*exp(2*t)*log(t+sqrt(1+t.*t))z=1.0e+004*
0.0048+0.0002i0.0048-0.0034i
1.58992.0090-1.3580i
2.已知
求下列表达式的值。
(1)
和
。
(2)
、
和
。
(3)A/B及B\A。
(4)[A,B]和[A([1,3],:
);B^2]。
输入矩阵A和B:
A=[-15-4;078;3617];>>B=[83-1;253;-320];
分别输入A+6*B,A^2-B+eye(size(A)),A*B,A.*B,B*A,A/B,B\A,[A,B],[A([1,3],:
);B^2]这些表达式,回车求值。
3.已知
。
(1)输出A在[10,25]范围内的全部元素。
(2)取出A前3行构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E。
(3)分别求表达式E 输入矩阵A: A=[2310-0.7780;41-45655;325032;6-9.54543.14]; 取出矩阵A的前3行构成矩阵B: >>B=A(1: 3,: ) 取出矩阵A的前2列构成矩阵C: >>C=A(: 1: 2) 矩阵A的右下角3x2子矩阵构成矩阵D: >>D=A(2: 4,3: 4) B与C的乘机构成矩阵E: >>E=B*C 分别输入式E 4.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好,why? H=hilb(5);P=pascal(5);Hh=det(H)Hh=3.7493e-012 Hp=det(P)Hp=1 Th=cond(H)Th=4.7661e+005 Tp=cond(P)Tp=8.5175e+003 条件数越趋近于1,矩阵的性能越好,所以帕斯卡矩阵性能更好。 5.已知: 求A的特征值及特征向量,并分析其数学意义。 A=[-29,6,18;20,5,12;-8,8,5] A= -29618 20512 -885 [V,D]=eig(A) V= 0.71300.28030.2733 -0.6084-0.78670.8725 0.34870.55010.4050 D= -25.316900 0-10.51820 0016.8351 V为A的特征向量,D为A的特征值。 它们之间满足A*V=V*D 6.写出完成下列操作的命令。 (1)删除矩阵A的第7号元素。 (2)将向量t的0元素用机器零来代替。 (3)将含有12个元素的向量x转换成3*4的矩阵。 (4)求一个字符串的ASCII。 (5)产生和A同样大小的幺矩阵。 (6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。 (1)A(7)=[] (2)abs(x)(3)reshape(x,3,4)(4)k=find(t==0);t(k)=0(5)ones(size(A))(6)diag(A) B=diag(diag(A)) 7.要产生均值为3,方差为1的500个正态分布的随即序列,写出相应的表达式。 3+randn(25,20) 8.求下列矩阵的主对角元素、上三角矩阵、下三角矩阵、逆矩阵、行列式的值、秩、范数、条件数、迹。 (1) (2) 输入矩阵A和B: A=[1-123;51-42;3052;111509];>>B=[0.43432;-8.9421]; 求矩阵A的主对角元素: >>diag(A)求矩阵B的主对角元素: >>diag(B) 求矩阵A的上三角阵: >>triu(A)求矩阵B的上三角阵: >>triu(B) 求矩阵A的下三角阵: >>tril(A)求矩阵B的下三角阵: >>tril(B) 求矩阵A的逆矩阵: >>inv(A)求矩阵B的伪逆矩阵: >>pinv(B) 求矩阵A的行列式的值: >>det(A) 因为B不是方阵,无法求它的行列式的值。 求矩阵A的秩: >>rank(A)求矩阵B的秩: >>rank(B) 求矩阵A的迹: >>trace(A)求矩阵B的迹: >>trace(B) 三种方式求矩阵A的范数: >>norm(A)>>norm(A,1)>>norm(A,inf) 三种方式求矩阵B的范数: >>norm(B,inf)>>norm(B,1)>>norm(B) 三种方式求矩阵A的条件数: >>cond(A,1)>>cond(A)>>cond(A,2)>>cond(A,inf) 三种方式求矩阵B的条件(但有两种错误无法求出): >>cond(B,inf) ? ? ? Errorusing==>cond Aisrectangular.Usethe2norm. >>cond(B)>>cond(B,1) ? ? ? Errorusing==>cond Aisrectangular.Usethe2norm. >>cond(B,2) 9.在MATLAB中如何建立结构矩阵和单元矩阵? 结构矩阵建立P46结构矩阵名.成员名=表达式单元矩阵建立P47矩阵元素用大括号括起来。 第三章 1.从键盘输入一个3位整数,将它反向输出。 如输入639,输出为936. n=input('请输入一个三位数: ');a=fix(n/100);b=fix((n-a*100)/10);c=n-a*100-b*10;d=c*100+b*10+a 2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。 其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分一下为E。 要求: (1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (1)n=input('请输入成绩'); switchn casenum2cell(90: 100) p='A'; casenum2cell(80: 89) p='B'; casenum2cell(70: 79) p='C'; casenum2cell(60: 69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); ifn>=90&n<=100 p='A'; elseifn>=80&n<=89 p='B'; elseifn>=70&n<=79 p='C'; elseifn>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' End m=input('请输入一个百分制的成绩: '); ifm>=0&m<=100 switchfix(m/10) case{9,10} disp('这个成绩所属的成绩等级: A'); case{8} disp('这个成绩所属的成绩等级: B'); case{7} disp('这个成绩所属的成绩等级: C'); case{6} disp('这个成绩所属的成绩等级: D'); otherwise disp('这个成绩所属的成绩等级: E'); end else disp('错误: 输入的成绩不合理'); End 3.当n分别取100、1000、10000时,求下列各式的值: (1) (1)A=0;n=100fori=1: nA=1/n/n+A;end (2) (2)A=1;n=10000;fori=1: nA=(2*n*n*2)/((2*n-1)*(2*n+1))*A;end 4.已知 (1)当 时,y的值是多少? (2)当 时,要的值是多少? f1.m代码如下: functionm=f1(n) m=n+10*log(n^2+5); f2.m代码如下: functionm=f2(n) m=0; fori=1: n m=m+i*(i+1); end 然后在命令文件p3_11.m中调用f1.m和f2.m p3_11.m代码如下: y1=f1(40)/(f1(30)+f1(20)); y2=f2(40)/(f2(30)+f2(20)); y1 y2 5.先用函数的递归调用定义一个函数文件求 ,然后调用该函数文件求 。 函数文件factor1.m代码如下: functionf=factor1(k) ifk==1 f=1; else f=factor1(k-1)+k; end 函数文件factor2.m代码如下: functionf=factor2(k) ifk==1 f=1; else f=factor2(k-1)+^2; end 函数文件factor3.m代码如下: functionf=factor3(k) ifk==1 f=1; else f=factor3(k-1)+1/k; End 6.编写程序,建立向量N=[1,2,3,4,5],然后利用向量N产生下列向量: (1)2,4,6,8,10 (2)1/2,1,3/2,2,5/2(3)1,1/2,1/3,1/4,1/5(4)1,1/4,1/9,1/16,1/25 N=[1,2,3,4,5]A=N.*2B=N./4C=1./ND=1./(N./2)./(N./2)/4 7.编写程序,产生20个两位随即整数,输出其中小于平均值的偶数。 B=0 fori=1: 20 A(i)=fix((99-10+1)*rand (1)+10); B=A(i)+B; end B=B/20 fori=1: 20 ifA(i) A(i) end End 8.当n分别取100、1000、10000时,求下列各式的值: (1) (2) 要求分别用循环结构和向量运算(使用sum函数) (1) A=1 fori=2: 100 A=(-1)^(i+1)*1/(2*n-1)+A; end A (2) A=0 fori=1: 1000 A=1/((4)^i)+A; end A 9.编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。 function[m,n]=chengji(A,B) m=A.*B; n=A*B; 然后在命令文件p3_12.m中调用chengji.m文件 a=[123;456;789] b=[-101;1-10;011] [m,n]=chengji(a,b); disp('a.*b='); disp(m); disp('a*b='); disp(n); 第四章 1.绘制下列曲线: (1) (2) (1)x=-12: 0.001: 12; y=x-x.^3/6; plot(x,y); xlabel('x轴'); ylabel('y轴'); title('Y=X-X^3/3! '); (2)ezplot('x^2+2*y^2-64',[-8,8,-8,8]) xlabel('x轴'); ylabel('y轴'); axisequal title('x^2+2y^2=64'); 2. 在同一图形窗口采用子图的形式绘制条形图、阶梯图、杆图和对数坐标图等不同图形,并对不同图形加标注说明。 t=-pi: 0.1: pi; y=1./(1+exp(-t)); plot(t,y); subplot(2,2,1) stairs(t,y) subplot(2,2,2) bar(t,y) subplot(2,2,3) stem(t,y) subplot(2,2,4) fill(t,y,'y') 3.绘制下列三维图形。 (1) (2) 。 并着色 t=0: pi/100: 2*pi; x=exp(-t/20).*cos(t); y=exp(-t/20).*sin(t); z=t; plot3(x,y,z) (2)[x,y]=meshgrid(-5: 5); z=ones(11); surf(x,y,z);shadinginterp; 4.在统一坐标轴回话多条二维曲线有哪些方法? 方法有plot函数的输入参数是矩阵形式含多个输入参数的plot函数具有两个纵坐标标度的图形图形保持 5.绘制下列曲线: (1) (2) (1) x=1: 0.1: 10 a=exp((x.^2)/2) y=a.*1/2/pi plot(x,y) (2) t=-pi: 0.1: 2*pi X=t.*sin(t) Y=t.*cos(t) plot(X,Y) 6.在统一坐标轴中绘制下列两条曲线并标注两曲线交叉点, (1) (2) , t=0: 0.00005: pi; x=sin(3*t).*cos(t); y1=2*x-0.5; y2=sin(3*t).*sin(t); plot(x,y2,x,y1); holdon k=find(abs(y2-y1)<1e-4); x1=x(k); y3=2*x1-0.5; plot(x1,y3,'rp') 7.绘制曲面图形: (1) (2) 。 [u,v]=meshgrid(-pi: pi/100: pi); x=3*u.*sin(v); y=2*u.*cos(v); z=4*u.*u; mesh(x,y,z); (2)[x,y]=meshgrid(-3: 6/100: 3); z=-5./(1+x.*x+y.*y); mesh(x,y,z) 第五章 1.利用MATLAB提供的randn函数生成符合正态分布的10 5随即矩阵A,进行以下操作: (1)A各列元素的均值和标准方差。 (2)A的最大元素和最小元素。 (3)求A每行元素的和以及全部元素之和。 (4)分别对A的没咧元素按升序、每行元素按降序排序。 1a=randn(10,5); b=mean(a) b=std(a,0,1) b=max(a); c=max(b,[],2) b=min(a); c=min(b,[],2) b=sum(a) c=sum(b,2) sort(a) sort(a,2,'descend') 2.利用MATLAB提供的randn函数生成30000个符合均匀分布的随机数,然后检验随机数的性质: (1)均值和标准方差。 (2)最大元素和最小元素 (3)大于0.5的随机数个数占总数的百分比。 c=0 fori=1: 30000 a(i)=rand (1); ifa(i)>0.5 c=c+1; end end b=mean(a) b=std(a,0,2) b=max(a) b=min(a) c/30000 3.将100个学生5门功课的成绩存入矩阵P中,进行一下处理: (1)分别求每门课的最高分、最低分及相应学生序号。 (2)分别求每门课的平均分和标准方差。 (3)5门课总分的最高分、最低分及相应学生序号。 (4)将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。 a=fix((100-0+1)*rand(5,100)); [b,c]=max(a,[],2) [b,c]=min(a,[],2) mean(a,2) std(a,0,2) [b,c]=sort(a,2,'descend') zcj=sum(a,1) xsxh=1: 100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 课后 答案 整理