中南大学matlab课后习题11.docx

上传人:b****6 文档编号:8824890 上传时间:2023-02-02 格式:DOCX 页数:75 大小:1.55MB
下载 相关 举报
中南大学matlab课后习题11.docx_第1页
第1页 / 共75页
中南大学matlab课后习题11.docx_第2页
第2页 / 共75页
中南大学matlab课后习题11.docx_第3页
第3页 / 共75页
中南大学matlab课后习题11.docx_第4页
第4页 / 共75页
中南大学matlab课后习题11.docx_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

中南大学matlab课后习题11.docx

《中南大学matlab课后习题11.docx》由会员分享,可在线阅读,更多相关《中南大学matlab课后习题11.docx(75页珍藏版)》请在冰豆网上搜索。

中南大学matlab课后习题11.docx

中南大学matlab课后习题11

MATLAB程序设计

上机练习课后题

 

电科1202班行晓慧学号1404120229

电科1202班羊月妹学号1404120304

电科1202班周悦学号1404120316

 

第一章

一实验内容

1.打开软件,按照步骤:

File - Set Path - Add Folder - save 在盘中建立一个名为matlab的工作目录,然后在命令窗口运行>>help命令查询所设置的工作目录,观察结果。

2.源代码

例1-1

x=[0:

0.5:

360]*pi/180;

plot(x,sin(x),x,cos(x));

例1-2

p=[3,7,9,0,-23];

x=roots(p)

例1-3

①quad('x.*log(1+x)',0,1)

②symsx

int(x*log(1+x),0,1)

例1-4

1a=[2,-3,1;8,3,2;45,1,-9];

b=[4;2;17];

x=inv(a)*b

2symsxyz

[x,y,z]=solve(2*x-3*y+z-4,8*x+3*y+2*z-2,45*x+y-9*z-17)

MATLAB的主要优点:

编程效率高;用户使用方便;扩展能力强,交互性好;移植性和开发性好;语句简单,内涵丰富;高效方便的矩阵和数组运算;方便的绘图功能。

3.利用MATLAB的帮助功能,查询了解到inv 、plot、 max 、round等函数的功能与用法如下:

Inv取矩阵的逆。

Plot绘制平面图      

INV Matrix inverse.PLOTLinear plot. Max 求最大值                    help round   四舍五入 

 MAXLargest component.ROUND  Round towards nearest integer.

 4.x=0:

pi/10:

2*pi;

y=sin(x);

y的图形如图:

  纵轴是y的值,x是将【0:

2pi】分为20等分

思考练习:

1.①启动MATLAB系统有3种常见方法:

(1)使用Windows“开始”菜单。

(2)运行MATLAB系统启动程序matlab.exe。

(3)利用快捷方式。

2要退出MATLAB系统,也有3种常见方法:

(1)在MATLAB主窗口File菜单中选中ExitMATLAB命令。

(2)在MATLAB命令窗口输入Exit或Quit命令。

(3)单击MATLAB主窗口的“关闭”按钮。

2.matlab的主要功能

数值计算、符号计算、优化工具、数据分析和可视化功能、工具箱和非线性动态系统建模和仿真

3.如果一个MATLAB命令包含的字符很多,需要分成多行输入,只要同时按下shift和Enter键即可。

4.Lookfor与help的区别:

 

在所有M文件中找“关键词”,比如:

lookfor max, 而help是显示matlab内置的帮助信息,比如 help inv。

5.在Matlab环境下,同名变量与M文件的执行问题:

 

      % 可以调用,为了避开当前工作间(Worrkspace),采用函数调用方式      function runfac(fname) 

     run fname                          % 保存为 runfac.m    

  .........   

  >>runfac(fac) 

第二章

实验指导

1.

(1)w=sqrt

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

w=1.4142

(2)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)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=[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=[-1,5,-4;0,7,8;3,61,7];

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

>>Y1=A+6*B

Y1=

4723-10

123726

-15737

>>Y2=A*A-B+1

Y2=

-18-21618

23533110

22868526

>>Y3=A*B

Y3=

141416

-105121

125328180

>>Y4=A.*B

Y4=

-8154

03524

-91220

>>Y5=A/B

Y5=

1.2234-0.92552.9787

-0.94682.3511-0.9574

4.61703.872313.8936

>>Y6=B\A

Y6=

-0.5106-8.6170-1.1277

0.734017.57451.8085

-0.8830-21.21280.4043

>>Y7=[A,B]

Y7=

-15-483-1

078253

3617-320

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

);B^2]

Y8=

-15-4

3617

73371

173713

-2019

>>

3.A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];

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

A(k)

B=A(1:

3,:

C=A(:

1:

2)

D=A(2:

4,3:

4)

E=B*C

E

E&D

E|D

~E|~D

k=

1

5

ans=

23

10

B=

23.000010.0000-0.77800

41.0000-45.000065.00005.0000

32.00005.0000032.0000

C=

23.000010.0000

41.0000-45.0000

32.00005.0000

6.0000-9.5400

D=

65.00005.0000

032.0000

54.00003.1400

E=

1.0e+003*

0.9141-0.2239

1.20802.7123

1.1330-0.2103

ans=

01

00

01

ans=

11

01

11

ans=

11

11

11

ans=

00

10

00

>>

4.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=[-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

思考练习

1.在MATLAB中6+7i是一个复数常量,6+7*i则是一个表达式。

i是虚数单位,而I是单位向量。

2.A.*B表示A和B单个元素之间对应相乘,A*B是按矩阵乘法的规则乘。

A./B表示A矩阵除以B矩阵的对应元素,B.\A等价于A./B。

A/B表示A*inv(B)而B\A表示inv(B)*A,对于矩阵运算一般两式不等。

3.

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

4.3+randn(25,20)

5.

(1)A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9];

D=diag(A)

B=triu(A)

C=tril(A)

E=inv(A)

F=det(A)

r=rank(A)

a1=norm(A,1)

a2=norm(A)

ainf=norm(A,inf)

C1=cond(A)

trace(A)

D=

1

1

5

9

B=

1-123

01-42

0052

0009

C=

1000

5100

3050

111509

E=

-0.17580.16410.2016-0.0227

-0.1055-0.1016-0.03910.0664

-0.0508-0.08590.15160.0023

0.3906-0.0313-0.18130.0281

F=

1280

r=

4

a1=

20

a2=

21.3005

ainf=

35

C1=

11.1739

ans=

16

(2)A=[0.43,43,2;-8.9,4,21];

D=diag(A)

B=triu(A)

C=tril(A)

r=rank(A)

a1=norm(A,1)

a2=norm(A)

ainf=norm(A,inf)

C1=cond(A)

trace(A)

D=

1

1

5

9

B=

1-123

01-42

0052

0009

C=

1000

5100

3050

111509

r=

4

a1=

20

a2=

21.3005

ainf=

35

C1=

11.1739

ans=

16

6.A=[34,NaN,Inf,-Inf,-pi,eps,0];

all(A)

ans=0

any(A)

ans=1

isnan(A)

ans=0100000

isinf(A)

ans=0011000

isfinite(A)

ans=1000111

7.结构矩阵建立P46

结构矩阵名.成员名=表达式

单元矩阵建立P47

矩阵元素用大括号括起来。

8.用稀疏存储方式可以可以节省内存空间;运算规则上,稀疏矩阵与普通矩阵一样,只是矩阵的存储方式不同。

在运算过程中,稀疏存储矩阵可以直接参与运算。

当参与运算的对象不全是稀疏存储矩阵时,所得结果一般是完全存储形式。

第三章;

实验指导;

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

(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

3

n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];

a=n

(1);

b=n

(1);

form=2:

20

ifn(m)>a

a=n(m);

elseifn(m)

b=n(m);

end

end

max=a

min=b

法2

n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];

min=min(n)

max=max(n)

4

b=[-3.0:

0.1:

3.0];

forn=1:

61

a=b(n);

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

end

y

5

y1=0;

y2=1;

n=input('请输入n的值:

');

fori=1:

n

y1=y1+1/i^2;

y2=y2*((4*i*i)/((2*i-1)*(2*i+1)));

end

y1

y2

6

A=[1,1,1,1,1,1;2,2,2,2,2,2;3,3,3,3,3,3;4,4,4,4,4,4;5,5,5,5,5,5;6,6,6,6,6,6];

n=input('请输入n的值:

');

ifn<=5&n>=0

disp(A([n],:

));

elseifn<0

disp(lasterr);

elsedisp(A([6],:

));

disp(lasterr);

end

7

(1)

f=[];

forn=1:

40

f(n)=n+10*log(n^2+5);

end

y=f(40)/(f(30)+f(20))

(2)

f=[];a=0;

forn=1:

40

f(n)=a+n*(n+1);

a=f(n);

end

y=f(40)/(f(30)+f(20))

8

y=0;

m=input('输入m的值:

');

n=input('输入n值:

');

fori=1:

n

y=y+i^m;

end

y

************************************************************

functions=shi8_1(n,m)

s=0;

fori=1:

n

s=s+i^m;

end

************************************************************

shi8_1(100,1)+shi8_1(50,2)+shi8_1(10,1/2)

思考练习

1

用MATLAB语言编写的程序,称为M文件。

为建立新的M文件,启动MATLAB文本编辑器有3种方法:

(1)菜单操作。

从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现MATLAB文本编辑器窗口。

(2)命令操作。

在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。

(3)命令按钮操作。

单击MATLAB主窗口工具栏上的NewM-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。

打开已有的M文件,也有3种方法:

(1)菜单操作。

从MATLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open对话框中选中所需打开的M文件。

在文档窗口可以对打开的M文件进行编辑修改,编辑完成后,将M文件存盘。

(2)命令操作。

在MATLAB命令窗口输入命令:

edit文件名,则打开指定的M文件。

(3)命令按钮操作。

单击MATLAB主窗口工具栏上的OpenFile命令按钮,再从弹出的对话框中选择所需打开的M文件。

2

N=[1,2,3,4,5];

2.*N

N./2

1./N

1./N.^2

3

s=fix(100*rand(1,20)*9/10+10)

y=sum(s)/20

j=0;

fori=1:

20

ifs(i)

j=j+1;

A(j)=s(i);

elsecontinue;

end

end

A

4

y1=0;y2=0;

n=input('请输入n的值:

');

fori=1:

n

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

y2=y2+1/4^i;

end

y1

y2

5、function[m,n]=chengji(A,B)

m=a.*b;

n=a*b;

a=[123;456;789]

b=[-101;1-10;011]

[m,n]=chengji(a,b);

disp('a.*b=');

disp(m);

disp('a*b=');

disp(n);

6.

>>function[f]=BaiduZd(shu,Z,n)

%UNTITLED2Summaryofthisfunctiongoeshere

%Detailedexplanationgoeshere

switchZ

case'sin'

f=sin(shu);

case'cos'

f=cos(shu);

case'log'

f=log(shu);

case'zhishu'

f=shu^n

otherwise

disp('error')

end

end

 

第四章

实验指导

1

(1)

x=-10:

0.05:

10;

y=x-x.^3./6;

plot(x,y)

(2)

x=-10:

0.5:

10;

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

gridon;

2、

t=-pi:

pi/10:

pi;

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

subplot(2,2,1);bar(t,y);

title('ÌõÐÎͼ(t,y)');

axis([-pi,pi,0,1]);

subplot(2,2,2);

stairs(t,y,'b');

title('½×ÌÝͼ(t,y)');

axis([-pi,pi,0,1]);

subplot(2,2,3);

stem(t,y,'k');

title('¸Ëͼ(t,y)');

axis([-pi,pi,0,1]);

subplot(2,2,4);

loglog(t,y,'y');

title('¶ÔÊý×ø±êͼ(t,y)');

3、

(1)

t=0:

pi/50:

2*pi;

r=5.*cos(t)+4;

polar(t,r);

title('\rho=5*cos\theta+4');

(2)

t=-pi/3:

pi/50:

pi/3;

r=5.*((sin(t)).^2)./cos(t);

polar(t,r);

4

(1)

t=0:

pi/50:

2*pi;

x=exp(-t./20).*cos(t);

y=exp(-t./20).*sin(t);

z=t;

plot3(x,y,z);

gridon;

(2)

[x,y]=meshgrid(-5:

5);

z=zeros(11)+5;

mesh(x,y,z);

shadinginterp;

5、

[x,y,z]=sphere(20);

surf(x,y,z);

axisoff;

shadinginterp;

m=moviein(20);

fori=1:

20

axis([-i,i,-i,i,-i,i])

m(:

i)=getframe;

end

movie(m,4);

思考练习:

1、在同一坐标轴绘制多条二维曲线的方法:

(1)利用plot函数,输入参数是矩阵形式;

(2)利用plot函数,其里面的参数是多组向量对。

2、

(1)

x=-5:

0.1:

5;

y=(1./(2*pi)).*exp((-(x.^2))/2);

plot(x,y);

(2)

t=-2*pi:

0.1:

2*pi;

x=t.*sin(t);

y=t.*cos(t);

plot(x,y);

gridon;

3、t=0:

pi/1000:

pi;x=sin(3.*t).*cos(t);

y1=sin(3.*t).*sin(t);

y2=2.*x-0.5;

plot(x,y1,'k',x,y2);

holdon;

k=find(abs(y1-y2)<1e-2);

x1=x(k);

y3=2.*x1-0.5;

plot(x1,y3,'rp');

4、x=-2:

0.01:

2;

y=sin(1./x);

subplot(2,1,1);

plot(x,y);

subplot(2,1,2);

fplot('sin(1./x)',[-2,2],1e-4);

两曲线的不同:

利用fplot绘制的曲线靠近坐标轴中心处比plot绘制的密集。

5、

(1)

i=-4*pi:

0.1:

10;

j=12./sqrt(i);

polar(i,j);

title('{\rho}=12/sqrt(\theta)')

(2)

a=-pi/6:

0.01:

pi/6;

b=3.*asin(a).*cos(a)./((sin(a)).^3+(cos(a)).^3);

polar(a,b);

6、

(1)

[u,v]=meshgrid(-4:

0.1:

4);

x=3.*u.*sin(v);

y=2.*u.*cos(v);

z=4.*u.^2;

subplot(2,1,1);

mesh(x,y,z);

subplot(2,1,2);

surf(x,y,z);

(2)

[u,v]=meshgrid(-4:

0.1:

4);

x=3.*u.*sin(v);

y=2.*u.*cos(v);

z=4.*u.^2;

subplot(2,1,1);

mesh(x,y,z);

subplot(2,1,2);

surf(x,y,z);

 

第五章

一、实验内容

1.A=randn(10,5)

x=mean(A) 

y=std(A) 

Max=max(max(A))

 Min=min(min(A)) 

Sumhang=sum(A,2)

 SumA=s

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

当前位置:首页 > 高等教育 > 农学

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

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