Matlab程序设计上机报告.docx

上传人:b****7 文档编号:26519466 上传时间:2023-06-20 格式:DOCX 页数:21 大小:364.67KB
下载 相关 举报
Matlab程序设计上机报告.docx_第1页
第1页 / 共21页
Matlab程序设计上机报告.docx_第2页
第2页 / 共21页
Matlab程序设计上机报告.docx_第3页
第3页 / 共21页
Matlab程序设计上机报告.docx_第4页
第4页 / 共21页
Matlab程序设计上机报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Matlab程序设计上机报告.docx

《Matlab程序设计上机报告.docx》由会员分享,可在线阅读,更多相关《Matlab程序设计上机报告.docx(21页珍藏版)》请在冰豆网上搜索。

Matlab程序设计上机报告.docx

Matlab程序设计上机报告

Matlab程序设计上机报告

Matlab程序设计上机报告

第2章

1.求下列表达式的值。

(1)

>>w=sqrt

(2)*(1+0.34245*10^(-6))

w=

1.4142

(2)

,其中a=3.6,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+04*

0.0057-0.0007i0.0049-0.0027i

1.9884-0.3696i1.7706-1.0539i

2.已知

求下列表达式的值

(1)A+6B和A2-B+I

(2)A*B、A.*B和B*A

(3)A/B及B/A

(4)[A,B]和[A([1,3],:

);B^2]

>>A=[-1,5,-4;0,7,8;3,61,7];

>>B=[8,3,-1;2,5,3;-3,2,0];

>>A+6*B

ans=

4723-10

123726

-15737

>>A^2-B+eye(3)

ans=

-18-21717

22533109

21867526

>>A*B

ans=

141416

-105121

125328180

>>A.*B

ans=

-8154

03524

-91220

>>A.*B

ans=

-8154

03524

-91220

>>A/B

ans=

1.2234-0.92552.9787

-0.94682.3511-0.9574

4.61703.872313.8936

>>B/A

ans=

-5.3173-3.56610.8942

-1.2768-0.47430.2411

2.12291.3173-0.2924

>>[A,B]

ans=

-15-483-1

078253

3617-320

>>[A([1,3],:

);B^2]

ans=

-15-4

3617

73371

173713

-2019

3.已知

完成下列操作:

(1)输出A在[10,25]范围内的全部元素。

(2)取出A前3行构成矩阵B,前两列构成矩阵C,右下角3×2只矩阵构成矩阵D,B与C的乘积构成矩阵E。

(3)分别求表达式E

>>find(A>=10&A<=25)

ans=

1

5

>>B=A(1:

3,:

B=

23.000010.0000-0.77800

41.0000-45.000065.00005.0000

32.00005.0000032.0000

>>C=A(:

1:

2)

C=

23.000010.0000

41.0000-45.0000

32.00005.0000

6.0000-9.5400

>>D=A(2:

4,3:

4)

D=

65.00005.0000

032.0000

54.00003.1400

>>E=B*C

E=

1.0e+03*

0.9141-0.2239

1.20802.7123

1.1330-0.2103

>>E

ans=

01

00

01

>>E

ans=

01

00

01

>>E&D

ans=

11

01

11

>>E|D

ans=

11

11

11

>>~E|~D

ans=

00

10

00

4.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好,为什么?

>>H=hilb(5);

P=pascal(5);

Hh=det(H)

Hh=

3.7493e-12

>>Hp=det(P)

Hp=

1

>>Th=cond(H)

Th=

4.7661e+05

>>Tp=cond(P)

Tp=

8.5175e+03

Tp比Th好,更接近于1。

5.已知:

求A的特征值及特征向量,并分析其数学意义。

>>A=[-29,6,18;20,5,12;-8,8,5];

[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

设A为n阶矩阵,若存在常数λ及非零的n维向量x,使得

Ax=λx,

则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量

第3章

1.从键盘输入一个3位整数,将它反向输出。

>>a=input('输入一个3位整数:

','s');fliplr(a)

输入一个3位整数:

345

ans=

543

2.输入一个百分之成绩,要求输出等级A、B、C、D、E。

其中90~100分为A,80~89分为B,70分~79分为C,60分~69分为D,60分以下为E。

要求:

(1)分别用if语句和switch语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

>>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

>>m=input('请输入一个百分制的成绩:

');

ifm>=90&m<=100

disp('这个成绩所属的成绩等级:

A');

elseifm>=80&m<=89

disp('这个成绩所属的成绩等级:

B');

elseifm>=70&m<=79

disp('这个成绩所属的成绩等级:

C');

elseifm>=60&m<=69

disp('这个成绩所属的成绩等级:

C');s

elseifm>=0&m<=59

disp('这个成绩所属的成绩等级:

E');

else

disp('错误:

输入的成绩不合理');

end

3.输入20个数,求其中最大数和最小数。

要求分别用循环结构和调用matlab的max函数、min函数来实

>>fori=1:

20

s=strcat('输入第',num2str(i),'个数字');

a(i)=input(s);

end

b=a

(1);

c=a

(1);

fori=1:

20

ifa(i)>b

b=a(i);

end

ifa(i)

c=a(i);

end

end

b

c

>>max(a)

>>min(a)

5.

当a取-3.0、-2.9、-2.8、-2.8、···、2.8、2.9、3.0时,求各点的函数值。

要求分别用顺序结构和循环结构实现。

>>a=[-3:

0.1:

3];

b=((exp(0.3.*a)-exp(-0.3.*a))./2);

c=sin(a+0.3);

y=b.*c+log((0.3+a)./2)

>>a=[-3:

0.1:

3];

fori=1:

61

y=(exp(0.3*a(i))-exp(-0.3*a(i)))/2*sin(a(i)+0.3)+log((0.3+a(i))/2)

End

5.当n分别取100、1000、10000时,求下列格式的值:

要求分别用顺序结构和向量运算(使用sum函数)来实现。

(1)

>>A=[0,0,0];

n=[100,1000,10000];

fori=1:

3

forj=1:

n(i)

A(i)=1/(j^2)+A(i);

end

end

A

A=

1.63501.64391.6448

>>A=[0,0,0];

n=[100,1000,10000];

fori=1:

3

j=1:

1:

n(i);

A(i)=sum(1./j.^2);

end

A

A=

1.63501.64391.6448

(2)

>>A=[1,1,1];

n=[100,1000,10000];

fori=1:

3

forj=1:

n(i)

A(i)=A(i)*((2*j)^2)/((2*j-1)*(2*j+1));

end

end

>>A

A=

1.56691.57041.5708

6.建立5×6矩阵,要求输出矩阵第n行元素。

当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。

>>A=rand(5,6)

n=input('输入第几行?

');

ifn>5

n=5;

disp('超出范围,输出最后一行的元素');

A(n,:

else

A(n,:

end

第4章

1.绘制下列曲线

(1)

>>x=0:

pi/100:

2*pi;

>>y=x-x.^3/factorial(3);

>>plot(x,y)

(2)

>>ezplot('x.^2+2*y.^2-64',[-8,8,-6,6])

2,设

在同一图形窗口采用子图的形式绘制条形图、阶梯图、杆图、和对数坐标图等不同图形,并对不同图形加标注说明

>>t=-pi:

pi/100:

pi;

>>y=1./(1+exp(-t));

>>subplot(2,2,1),stairs(t,y),title'阶梯图';

>>t=-pi:

pi/10:

pi;

>>y=1./(1+exp(-t));

>>subplot(2,2,1),stairs(t,y),title'阶梯图';

>>subplot(2,2,2),bar(t,y),title'条形图';

>>subplot(2,2,3),stem(t,y),title'杆图';

>>subplot(2,2,4),semilogx(y),gridon,title'对数坐标图'

3.绘制下列及坐标图

(1)

>>x=-2*pi:

pi/20:

pi;

>>y=5.*cos(x)+4;

>>polar(x,y)

(2)

>>x=-pi/3:

pi/30:

pi/3;

>>y=5.*(sin(x).^2)./cos(x);

>>polar(x,y)

4.绘制下列三维图形。

(1)

>>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)z=5,|x|≤5,|y|≤5。

要求应用插值着色处理。

>>[x,y]=meshgrid(-10:

0.1:

10);

>>z=x;

>>z(:

:

)=5;

>>shadinginterp

>>i=find(abs(x)>5&abs(y)>5);

>>z1=z;

>>z1(i)=NaN;

>>surf(x,y,z1);

>>shadinginterp;

5.播放一个直径不断变化的球体。

>>n=30;

[x,y,z]=sphere;

m=moviein(n);

forj=1:

n

surf(j*x,j*y,j*z);

m(:

j)=getframe;

>>end

>>movie(m,2)

第9章

1.建立一个图形窗口,使之背景颜色为红色,并在窗口上保留原有的菜单项,而且在按下鼠标左键后显示出LeftButtonPressed字样。

>>co=figure('Color','r','WindowButtonDownFcn','axisoff;text(0.1,0.5,''LeftButtonPressed'',''fontsize'',30)')

co=

2

2.利用图形对象回执下列曲线,要求先利用默认属性绘制曲线,然后通过图形句柄操作来改变曲线的颜色、线性和线宽,并利用文本对象给曲线添加文字标注。

(1)

>>x=0:

0.1:

20;

y=log(x+sqrt(1+x.^2))./2;

fi=plot(x,y);

set(fi,'color','r','linestyle',':

','linewidth',1)

 

(2)

>>t=0:

0.1:

20;

x=t.^2;

y=5.*t.^2;

fi=plot3(t,x,y);

set(fi,'color','g','linestyle','-.','linewidth',2)

4.利用图形对象绘制下列三维图形,要求对图形进行光照处理。

(1)

>>[x,y]=meshgrid(0:

0.1:

10);

z=x.*2+y.*2-5*sin(x.*y);

>>surf(x,y,z);

light('style','local')

(2)

>>[x,y]=meshgrid(0:

0.1:

10);

>>z=y.^3;

>>surf(x,y,z);

light('posi',[0,0,1])

4.以任意位置子图形绘制出正弦、余弦、正切和余切函数曲线。

>>t=linspace(0,4*pi,50);

x=sin(t);

y=cos(t);

z=tan(t);

w=cot(t);

axes('Position',[0.2,0.6,0.3,0.3],'GridLineStyle','-');

plot(t,x);

title('sint');

axes('Position',[0.6,0.6,0.3,0.3],'GridLineStyle','-');

plot(t,y);

title('cost');

axes('Position',[0.2,0.2,0.3,0.3],'GridLineStyle','-');

plot(t,z);

title('tant');

axes('Position',[0.6,0.2,0.3,0.3],'GridLineStyle','-');

plot(t,w);

title('cott')

5.用patch函数绘制一个填充渐变色的正五变形。

>>t=linspace(0,2*pi,6);

k=t(1:

length(t)-1);

patch(sin(k),cos(k),rand(1,length(k)),'facecolor','interp');

axisequal

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

当前位置:首页 > 高中教育 > 数学

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

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