MATLAB课后题答案整理.docx

上传人:b****5 文档编号:5696262 上传时间:2022-12-31 格式:DOCX 页数:14 大小:93.43KB
下载 相关 举报
MATLAB课后题答案整理.docx_第1页
第1页 / 共14页
MATLAB课后题答案整理.docx_第2页
第2页 / 共14页
MATLAB课后题答案整理.docx_第3页
第3页 / 共14页
MATLAB课后题答案整理.docx_第4页
第4页 / 共14页
MATLAB课后题答案整理.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

MATLAB课后题答案整理.docx

《MATLAB课后题答案整理.docx》由会员分享,可在线阅读,更多相关《MATLAB课后题答案整理.docx(14页珍藏版)》请在冰豆网上搜索。

MATLAB课后题答案整理.docx

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=0&A<25)回车求值:

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1