matlab总练习题完整版.docx

上传人:b****7 文档编号:9606375 上传时间:2023-02-05 格式:DOCX 页数:26 大小:143.94KB
下载 相关 举报
matlab总练习题完整版.docx_第1页
第1页 / 共26页
matlab总练习题完整版.docx_第2页
第2页 / 共26页
matlab总练习题完整版.docx_第3页
第3页 / 共26页
matlab总练习题完整版.docx_第4页
第4页 / 共26页
matlab总练习题完整版.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

matlab总练习题完整版.docx

《matlab总练习题完整版.docx》由会员分享,可在线阅读,更多相关《matlab总练习题完整版.docx(26页珍藏版)》请在冰豆网上搜索。

matlab总练习题完整版.docx

matlab总练习题完整版

K显示20位有效数字鸡卫的近似值;

>>vpa('pi',20)

ans=

3.85

>>vpa('exp

(1)',20)

ans=

2.54

2.将区间[-码卸20等分,并以行向量形式给岀正弦函数在这些节点上的函数值;

>>x=linspace(_pi,pi,21);

>>y=sin(x)

Columns1through6

-0.0000-0.3090-0.5878-0.8090-0.9511-1.0000

Columns7through12

0.3090

-0.9511-0.8090-0.5878-0.3090

Columns13through18

0.58780.80900.95111.00000.95110.8090

Columns19through21

0.58780.30900.0000

>>k=1:

1000;

>>kk=1./k;

>>kkk=kk./k;

>>res=sum(kkk)-(piA2)/6res=

-9.9950e-04

iwu1

4”计算£7-ln(l(KK»的近似值(无带度要求];

%承接上题

>>sum(kk)-log(1000)ans=

0.5777

5.计算极限]+

>>power(1+eps,1/eps)ans=

2.7183

&计算;(MuPad命令}

7.生成两亍用中的随机向量并计养它们的内积,向境长:

度,问量之间的

夹角;

>>a=rand(2,3)

0.8147

0.1270

0.6324

0.9058

0.9134

0.0975

>>x=a(1,:

x=

0.81470.12700.6324

>>y=a(2,:

y=

0.90580.91340.0975

>>norm(x)

ans=

1.0391

>>norm(y)

ans=

1.2900

>>acos(dot(x,y)/norm(x)/norm(y))

ans=

0.8189

&生成三个疋中的随机向屋仏拭5判斷它们是否线性无关;

>>rand(3,3)

ans=

0.2785

0.9649

0.9572

0.5469

0.1576

0.4854

0.9575

0.9706

0.8003

>>det(ans)ans=

0.2937

线性无关

g.生成三个f中的随机三个点匸,计算它们构成的三角形的面积;

a=

0.39220.7060

0.6555

0.0318

>>x=a(1,:

 

0.3922

0.7060

 

>>y=a(2,:

 

0.6555

0.0318

 

>>z=a(3,:

 

0.1712

0.2769

 

>>alpha=x-zalpha=

 

0.2210

0.4291

>>beta=y-zbeta=

0.4843-0.2451

>>alpha=[alpha0]

alpha=

0.22100.42910

>>beta=[beta0]

beta=

0.4843-0.24510

>>cross(alpha,beta)ans=

0-0.2620

面积0.2620

%

)2

13

…IF

21

22

23

29

10.建立矩阵貝二

31

32

33

…39

aBv■

,并计臬该矩阵的秩;

92

93

…99丿

>>a=11:

19;

>>b=a;

>>fork=1:

8b=[b;a+10*k];end

>>rank(b)ans=

 

ILit立Vandermonde柜阵片二

11

…1'

12Z2

…2*

1332

…3总

:

:

-

■.■■■

J9少

…d

,并计算该矩阵形城的行

>>a=vander(1:

9);

>>b=fliplr(a)

Columns1through5

 

1

1

1

1

1

1

2

4

8

16

1

3

9

27

81

1

4

16

64

256

1

5

25

125

625

1

6

36

216

1296

1

7

49

343

2401

1

8

64

512

4096

1

9

81

729

6561

 

Columns6through9

1

1

1

1

32

64

128

256

243

729

2187

6561

1024

4096

16384

65536

3125

15625

78125

390625

7776

46656

279936

1679616

16807

117649

823543

5764801

32768

262144

2097152

16777216

59049

531441

4782969

43046721

>>det(b)ans=

5.0566e+15

12-用两种不同的方式定义二元函数/乩“二严刃+血井在相应览义形式下计算AU);

方式一>>f=(x,y)exp(x+y)+sin((x^2)+(yA2))

(x,y)exp(x+y)+sin((x^2)+(yA2))>>f(1,2)ans=

19.1266

方式二

functionf=myfunfun(x,y)

f=exp(x+y)+sin((xA2)+(yA2));

>>myfunfun(1,2)ans=

13-血的辺0位小数近似值为:

1.414213562373095048801688724209698078569671875376948073

1766797379907324784621070388503875343276415727;

>>

Char1.5727

>>a=ans;

>>sqrt2char(3-2)=a(3)

sqrt2char=

5727

>>forx=1:

100

b(x)=str2num(sqrt2char(x))

end

>>sum(b)/100

ans=

14-㈱出函数几0・心血何+,/3+开血(盂}在区间卜即]上的图象.并计算岀

该区间上的两个零点;

f=(x)(xA3)*sin(x)+(x^2)/3+x*cos(x)

(x)(x^3)*sin(x)+(xA2)/3+x*cos(x)

>>x0=fzero(f,-1)

x0=

>>ezplot(f,-2,1)

RhEdit

V«nvImvctTddI«

Dnktep

*

□Jd

kx■>r?

5

◎1□到■n

另一根为0,是显然的

-X-ZT.X<-JT

15.Pi出分段函数/⑴h鈕(鼻),-圧3<,在区间卜乞6]上的圏象;'(.r-7t)l2^x>n

functiony=difun(x)

ifxv-pi

y=-x-pi;

elseifx>-pi&x

y=sin(x);

else

y=(x-pi)/2;

end

end

>>y=[]

[]

>>forx=-6:

0.05:

6

y=[ydifun(x)];

end>>plot(x,y)

>>plot([-6:

0.05:

6],y)

16.分别用矩形公式片梯形公式"Simpson公式计算积分(右点的近似值,

并以这些近似値计算岀汙的近似值;

>>pi/4ans=

0.7854%pi/4的理想值

矩形公式:

functiony=rectangle(n)

x=0:

1/n:

1;

a=1./(1+x.*x);

y=sum(a)*(1/n);

end

>>rectangle(1000)

ans=

0.7861

>>rectangle(10000)

ans=

0.7855

>>rectangle(100000)

ans=

0.7854

梯形公式:

functiony=trapezoid(n)

x=0:

1/n:

1;

a=1./(1+x.*x);

begin=a

(1);

endd=a(n+1);

a

(1)=0;

a(n)=0;

y=sum(a)*(1/n)+begin*(1/n)*0.5+endd*(1/n)*0.5;

end

trapezoid(1000)

ans=

0.7854

>>trapezoid(100)

ans=

0.7853

Simpson公式

functiony=simpson(n)

x=0:

1/n:

1;

a=thefun(x);

begin=a

(1);

endd=a(n+1);

medium=[];

forx=1:

n

medium=[medium(a(x)+a(x+1))*0.5];

end

a

(1)=0;

a(n)=0;

y=begin*(1/n)*(1/6)+endd*(1/n)*(1/6)+sum(a)*(1/n)*(1/3)+sum(medium)*(

1/n)*(1/6)*4;

end

functione=thefun(r)e=1./(1+r.*r);

end

>>simpson(100)

ans=

0.7854

>>simpson(10)ans=0.7832

17.求解线性方程组心=虬其中

・6

2

2

4

1

1

0

]

A:

=

2

1

1

4

4

5

■・1

0

3.

>>A=[621-1;2410;114-1;-10-13];

>>b=[615-5]';

>>x=A\b

0.7906

-0.3613

0.8639

-1.1152

 

定义一呻对角矩阵

以及一个单泣矩阵

o

0

3

0

Q

A

0

0

4

J

r

<0

fl

0

0

0

I

Q

0

0)

0

0

0

0

1

0

0■

拼咸貳阵

I

0

0

3

0

0

0

1

0

|Q

0

0

4

0

0

0

1'

C00oxi

0

1

0

00.

00

]o,并将它m搜処

o11

JF

 

>>[diag(1:

4)eye(4)]ans=

1

0

0

0

1

0

0

0

0

2

0

0

0

1

0

0

0

0

3

0

0

0

1

0

0

0

0

4

0

0

0

1

19.输出如下所示的杨釋三角形(也称为Pascal形):

1

kl

1,2.1

1,3,3,1

1,4,6,4,1

l,5t10,10.5,1

1.6.15,20,15,6,1

L7P21,35,35,21,7f1

1,&2&56,70,56.2&&1

1.Z36,84,126,12&84.36,9,1

1,10,45.120f210,252,210t120,45,10,1

functionyh=yhsj(n)

yh=1;

disp

(1);

fork=2:

n

yh=[yh,0]+[0,yh];

disp(yh)end

end

%n=11运行

1

3□

1

1

4

e

4

1

1

io

IQ

&

1

1

16

20

16

1

1

21

2B

35

21

1

1

e

70

5$

0

1

1

a

B4,

LZ&

L2&

54

9

1

1

ICi

46

120

210*

262

2T1CI

120

45

10

20.计算曲线y=扌门⑺£工£册的弧长;(弧长公式£Jl+rW-rfr)

>>x=sym('x');

>>f=sqrt(1+((4/9)*xA(1/2))人2)

((16*x)/81+1)A(1/2)

>>a=sym('a');

>>b=sym('b');

ans=

(16*b+81)人(3/2)/216-(16*a+81)人(3/2)/216

21-讣算摆线囂爲贈严5的十形的弧圮

>>t=sym('t');

>>a=sym('a');

>>x=a*(t-sin(t))a*(t-sin(t))

>>y=a*(1-cos(t))

-a*(cos(t)-1)

>>dx=diff(x)

dx=

-a*(cos(t)-1)

>>dy=diff(y)dy=a*sin(t)

>>int(sqrt(dxA2+dyA2),0,2*pi)ans=

8*(aA2)A(1/2)

22.(TrQh(-拓/2厂%0心)』拓/2」),(眄0)是函数A<|图象上的5个

点[试构造过该5点的多项式执对,井将弘(球卩何的图象桶在同一亍坐标系中;

>>p=polyfit([-pi-pi/20pi/2pi],[O-1010],5)

P=

Columns1through5

Column6

-0.0000

>>plot([-pi:

pi/100:

pi],polyval(p,-pi:

pi/100:

pi));

>>holdon

>>plot([-pi:

pi/100:

pi],sin(-pi:

pi/100:

pi));

>>

药.试编牙洽程序它以…个正整数为参数・返回它的备位数字构成的行向屋「例如二fun23(12345J返回[「2山,4*5]・

functiona=num2p(n)

strr=num2str(n);

index=size(strr);

indexx=index

(2);

a=[];

fork=indexx-1:

-1:

0

a=[arem(fix(n/(10Ak)),10)];

end

end

>>num2p()ans=

Columns1through8

95489298

Columns9through11

494

24.i殳计…个榄拟蒙特卡罗随机方建计漳Pi近似值的程序;

比如产生M个[-1,1]*[-1,1]^的随机点,统计出位于单位圏内的点

的个数鬥则P/N约为Pi“・

functionppi=ttry(n)

pointx=-1+2*rand(1,n);

pointy=-1+2*rand(1,n);

index=pointx.*pointx+pointy.*pointy;

indexx=index<=1;

ppi=4*sum(indexx)/n;

end

>>ttry(100)ans=

3.1200

>>ttry(10000)ans=

3.1376

25.Collate猜想是至今没有解决的数学问题.将任意…牛口然数珂故如下迭代过程,若是偶数'将它除以N否则将它乘以3再加•如此迭代下去-Cdll^tz猜想一定会得到1:

请你编写一个程序,对该猜想做检验*

functiony=collatz(n)

ifn==1

y=1

return;

else

ifrem(n,2)==0

n=n/2;

else

n=3*n+1;

end

n

y=collatz(n);

end

>>collatz(12)

n=

6

n=

3

n=

16

1

26-对歯数在[0,1]区间上进行丄0等分并作等距节点上的务项氏

插值,对计算所得的号项式在[0,1]«!

分.比鞭得到的积分值马原来函垃的积分

值的误差。

>>f=(x)1丿(1+X42)f=

(x)1./(1+x.A2)

>>y=f(x);

>>x=O:

O.1:

1;

>>y=f(x);>>p=polyfit(x,y,5)

Columns1through5

-0.23720.35290.5071-1.1343

0.0115

Column6

0.9999

>>intp=polyint(p)

intp=

Columns1through5

-0.03950.07060.1268-0.3781

0.0058

Columns6through7

0.99990

>>res1=polyval(intp,1)-polyval(intp,0)

res1=

 

>>atan

(1)ans=

0.7854%actan⑴公式解

27,通过文件操作功能,从丸件pi_lm.txt中读取Pi小数点后的100W统计出0门出现的次数,井将绪果写出到外部文件氓*文件pi_lm.tx匕可从课程ftp下載-

的文档2\matlab作业\pi_1m.txt','r')

fid=

3

>>b=fscanf(fid,'%s');

>>fclose(fid)ans=

>>b(1:

55)=[];

编辑“givemerun.m”文件:

y=1;

n=zeros(1,10)

flag=0;

forx=1:

1500000

ify==1000001

break

else

ifb(x)~='['&flag==0&isempty(str2num(b(x)))~=1c=b(x);

d=str2double(c);

n(d+1)=n(d+1)+1;

y=y+1;

elseifb(x)=='['

flag=1;

elseifb(x)==']'

flag=0;

end

end

end

n

>>givemerun%运行“givemerun”

000000

Columns1through3

9995999758100026

Columns4through6

100229100230100359

Columns7through9

995489980099985

Column10

100106

%分别为0,1,2,…,8,9在前一百万位出现的次

>>sum(n)

 

ans=

1000000

>>cc=num2str(n)

cc=

9995999758100026100229100230100359995489980099985

100106>>fopen('res.txt','w')

ans=

>>fprintf(6,cc)

ans=

78

文w

9975810002610022310023010035G99o48购8D0

99985100106

V

Z$・任勢…个四个数字不全相等的四位数’将它的4个数字组成最大4位数,最小4位数.将所得婀数相减,得到一个新的4位数(不足4位则补0),依次执行这个过程,最终总可M得到6175请编程加M验证.

functionf=veryfun(n)

ifn==6174

return

else

index

(1)=(n-rem(n,1000))/1000;

index

(2)=fix(n/100)-index⑴*10;

index(3)=rem(fix(n/10),10);

index(4)=rem(n,10);

index2=sort(index,'ascend');

index3=sort(index,'descend');

a=[1000100101];

max=index3*(a');

min=index2*(a');

max-min

veryfun(max-min);

end

end

>>veryfun(9864)

ans=

5175

ans=

5994

ans=

5355

ans=

1998

ans=

8082

 

ans=

8532

ans=

6174

29

在骄究化学反应速度时•得到下列数攜。

找出实验”曲隨的时间f与反应物的H朋之间的关系•井画出拟台曲线。

X

3

61

I■~!

l7i

12

-

21

24

m

57.6

4i5

■312

22.9

15.4

121

89

I

(提示与r的关*为開二口匕协"

functionm=tem(index,t)

m=index⑴.*exp(index

(2).*t)end

>>[index,r,j,c,m,e]=nlinfit(t,m,tem,[00])index=

78.7137-0.1047

%在这里省略中间的迭代过程和表格变量输入过程

>>m=tem(index,[0:

0.1:

25]);

>>plot([0:

0.1:

25],m)

丸”任给一个由10个两位数(10-39)组成的樂合.编写程序输出这个集合的两

个不相交的的子集,使得这两个子樂的元素和相等,

functionson=sonfind(A)

index=sum(A)/2;

fork=1:

5

b=nchoosek([1:

10],k);sizee=size(b);

kk=sizee

(1);

forx=1:

kk

c=b(x,:

);

A_son=[];

fory=c

A_son=[A_sonA(y)];

end

ifsum(A_son)==index

son=A_son;

break

end

end

endend

%集合元素有互异性,但不影响验证!

>>sonfind(11:

20)

>>sonfind([105510601010101010])ans=

5560

>>sonfind([101010109010

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

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

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

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