2013MATLAB数学实验答案(全)

更新时间:2024-04-20 21:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一次练习

教学要求:熟练掌握Matlab软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab软件解决微积分、线性代数与解析几何中的计算问题。 补充命令

vpa(x,n) 显示x的n位有效数字,教材102页

fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算limmx?sinmxmx?sinmxlim与

x?0x??x3x3 syms x

limit((902*x-sin(902*x))/x^3) ans =

366935404/3

limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 y?ecosxmx,求y'' 1000syms x

diff(exp(x)*cos(902*x/1000),2) ans =

(46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算

??e0011x2?y2dxdy

dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394

x4dx 1.4 计算?2m?4x2 syms x

int(x^4/(902^2+4*x^2)) ans =

(91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 y?excosmx,求y(10)

syms x

diff(exp(x)*cos(902*x),10) ans =

-356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 给出m?x在x?0的泰勒展式(最高次幂为4).

1000.0syms x

taylor(sqrt(902/1000+x),5,x) ans =

-(9765625*451^(1/2)*500^(1/2)*x^4)/82743933602 +(15625*451^(1/2)*500^(1/2)*x^3)/91733851

-(125*451^(1/2)*500^(1/2)*x^2)/406802 + (451^(1/2)*500^(1/2)*x)/902 +(451^(1/2)*500^(1/2))/500 1.7 Fibonacci数列{xn}的定义是x1?1,x2?1,xn?xn?1?xn?2(n?3,4,?)用循环语句编

程给出该数列的前20项(要求将结果用向量的形式给出)。 x=[1,1]; for n=3:20

x(n)=x(n-1)+x(n-2); end x x=

Columns 1 through 10

1 1 2 3 5 8 13 21 34 55 Columns 11 through 20

89 144 233 377 610 987 1597 2584 4181 6765

????211???A??020?1.8 对矩阵,求该矩阵的逆矩阵,特征值,特征向量,行列式,

??m?41??1000??计算A,并求矩阵P,D(D是对角矩阵),使得A?PDPA=[-2,1,1;0,2,0;-4,1,902/1000];inv(A)

ans =

0.4107 0.0223 -0.4554 0 0.5000 0 1.8215 -0.4554 -0.9107 eig(A) ans =

-0.5490 + 1.3764i -0.5490 - 1.3764i 2.0000 det(A) ans =

4.3920

6?1。

[P,D]=eig(A)

P = %特征向量

0.3245 - 0.3078i 0.3245 + 0.3078i 0.2425 0 0 0.9701 0.8944 0.8944 0.0000 D =

-0.5490 + 1.3764i 0 0 0 -0.5490 - 1.3764i 0 0 0 2.0000 P*D^6*inv(P) %A^6的值 ans =

15.3661 12.1585 + 0.0000i -5.8531 0 64.0000 0 23.4124 -5.8531 + 0.0000i -1.6196

1.9 作出如下函数的图形(注:先用M文件定义函数,再用fplot进行函数作图):

1?2x0?x???2f(x)??

1?2(1?x)?x?1??2m文件:

function y=fenduan(x)

if x<=1/2 y=2*x

else x<=1 y=2-2*x

end end

执行函数:fplot('fenduan',[0,1]); grid on

title('第1.9题图') 得下图:

第1.9题图10.90.80.70.60.50.40.30.20.1000.10.20.30.40.50.60.70.80.91

1.10 在同一坐标系下作出下面两条空间曲线(要求两条曲线用不同的颜色表示)

?x?cost?x?2cost??(1)?y?sint (2)?y?2sint

?z?t?z?t??t=-10:0.01:10; x1=cos(t); y1=sin(t); z1=t;

plot3(x1,y1,z1); hold on

x2=cos(2*t); y2=sin(2*t); z2=t;

plot3(x2,y2,z2,'m'); grid on

title('第1.10题图') 得下图:

第1.10题图1050-5-1010.50-0.5-1-1-0.50.501

?4?22??134?????1.11 已知A???305?,B???20?3?,在MATLAB命令窗口中建立A、B矩阵并

?15m3??2?11?????对其进行以下操作:

(1) 计算矩阵A的行列式的值det(A)

(2) 分别计算下列各式:2A?B,A*B,A.*B,AB?1,A?1B,A2,AT 解:A=[4,-2,2;-3,0,5;1,5*902,3]; B=[1,3,4;-2,0,3;2,-1,1];

det(A) ans =

-117288 2*A-B ans =

7 -7 0

-4 0 7 0 9021 5 A*B ans =

12 10 12

7 -14 -7 -9013 0 13537 A.*B ans =

4 -6 8

6 0 15 2 -4510 3 A*inv(B) ans =

1.0e+003 *

-0.0000 0 0.0020 0.0000 0.0016 0.0001 1.0311 -0.9016 -1.4167 inv(A)*B ans =

0.3463 0.5767 0.5383 0.0005 -0.0006 -0.0005 -0.1922 0.3460 0.9230 A*A ans =

24 9012 4

-7 22556 9 -13523 13528 22561 A' ans =

4 -3 1

-2 0 4510 2 5 3

?11.12 已知f(x)?e2??(x??)22?2分别在下列条件下画出f(x)的图形:

(1)??m/600,?分别为0,?1,1(在同一坐标系上作图); (2)??0,?分别为1,2,4,m/100(在同一坐标系上作图). (1)x=-5:0.1:5;

h=inline('1/sqrt(2*pi)/s*exp(-(x-mu).^2/(2*s^2))'); y1=h(0,902/600,x);y2=h(-1,902/600,x);y3=h(1,902/600,x); plot(x,y1,'b',x,y2,'m',x,y3,'y')

grid on

title('第1.12题')

第1.12题0.35y1 :u=0y2 :u=-1y3 :u=1 0.30.250.20.150.10.050 -5-4-3-2-1012345

(2) z1=h(0,1,x);z2=h(0,2,x);z3=h(0,4,x); z4=h(0,902/100,x);

plot(x,z1,x,z2,'y',x,z3,'m',x,z4, 'g') grid on

title('第1.12题')

z1=h(0,1,x);z2=h(0,2,x);z3=h(0,4,x); z4=h(0,902/100,x);

第1.12题0.40.350.30.250.20.150.10.050 -5z1 :s=1z2 :s=2z3 :s=4z4 :s=9.02 -4-3-2-1012345

1.13 作出z?mx?y的函数图形。

x=-10:0.2:10;y=x;

[X Y]=meshgrid(x,y);Z=902*X.^2+Y.^4; mesh(X,Y,Z); title('第1.13题')

24

第1.13题4x 101210864201050-5-10-10-55010

1.14对于方程x?5

mx?0.1?0,先画出左边的函数在合适的区间上的图形,借助于软件200中的方程求根的命令求出所有的实根,找出函数的单调区间,结合高等数学的知识说明函数为什么在这些区间上是单调的,以及该方程确实只有你求出的这些实根。最后写出你做此题的体会。 解:作图程序:(注:x范围的选择是经过试探而得到的)

x=-1.7:0.02:1.7;y=x.^5-902/200*x-0.1;

plot(x,y);grid on; title('第1.14题')

第1.14题86420-2-4-6-8-2-1.5-1-0.500.511.52

由图形观察,在x=-1.5,x=0,x=1.5附近各有一个实根 solve('x^5-902/200*x-0.1') ans =

-1.4516870267499636199995749888894 -0.022172950190557703188753959027919 1.4627751059480654637229232196174

1.4573364935933870280941533926624*i + 0.0055424354962279297327028641499658 0.0055424354962279297327028641499658 - 1.4573364935933870280941533926624*i 三个实根的近似值分别为:-1.4517,-0.0222,1.4628

由图形可以看出,函数在区间(??,?1)单调上升,在区间(?1,1)单调下降,在区间(1,?)单调上升。 syms x

diff('x^5-902/200*x-0.1',x)

结果为5*x^4-4.51

solve('5*x^4-902/200') ans =

-(451^(1/4)*500^(3/4))/500 (451^(1/4)*500^(3/4))/500 -(451^(1/4)*500^(3/4)*i)/500 (451^(1/4)*500^(3/4)*i)/500 vpa(ans) ans =

-0.97454440927373918149075795211629 0.97454440927373918149075795211629 -0.97454440927373918149075795211629*i 0.97454440927373918149075795211629*i 得到两个实根:-0.9745与0.9745

)内为正,函数单调上升 可以验证导函数在(??,?0.9745,0.9745)内为负,函数单调下降 导函数在(?0.9745,?)内为正,函数单调上升 导函数在(0.9745根据函数的单调性,最多有3个实根。

第二次练习

教学要求:要求学生掌握迭代、混沌的判断方法,以及利用迭代思想解决实际问题。

m?x?(x?)/2?n?1nxn2.1 设?,数列{xn}是否收敛?若收敛,其值为多少?精确到8位有效

?x?3?1数字。

解:程序代码如下(m=902):

f=inline('(x+902/x)/2'); x0=3; for i=1:20; x0=f(x0);

fprintf('%g ?\\n',i,x0); end

1 151.833333

2 78.887029 3 45.160551 4 32.566867 5 30.131864 6 30.033476 7 30.033315 8 30.033315 9 30.033315

??

19 30.033315 20 30.033315

由运行结果可以看出,,数列{xn}收敛,其值为30.03315。

2.4 函数f(x)??x(1?x)(0?x?1)称为Logistic映射,试从“蜘蛛网”图观察它取初值

为x0?0.5产生的迭代序列的收敛性,将观察记录填人下表,若出现循环,请指出它的周期.(56页练习8)

? 序列收敛情况 3.3 T=2 3.5 T=4 3.56 T=8 3.568 T=9 3.6 混沌 3.84 混沌 解:当?=3.3时,程序代码如下: f=inline('3.3*x*(1-x)'); x=[]; y=[]; x(1)=0.5;

y(1)=0;x(2)=x(1);y(2)=f(x(1)); for i=1:1000; x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end

plot (x,y,'r'); hold on; syms x;

ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); hold off运行结果:

-(33 x (x - 1))/1010.90.80.70.60.50.40.30.20.1000.10.20.30.40.5x0.60.70.80.91

当?=3.5时,上述程序稍加修改,得:

-(7 x (x - 1))/210.90.80.70.60.50.40.30.20.1000.10.20.30.40.5x0.60.70.80.91

当?=3.56时,得:

-(89 x (x - 1))/2510.90.80.70.60.50.40.30.20.1000.10.20.30.40.5x0.60.70.80.91

当?=3.568时,得:

-(446 x (x - 1))/12510.90.80.70.60.50.40.30.20.1000.10.20.30.40.5x0.60.70.80.91

当?=3.6时,得:

-(18 x (x - 1))/510.90.80.70.60.50.40.30.20.1000.10.20.30.40.5x0.60.70.80.91

当?=3.84时,得:

-(96 x (x - 1))/2510.90.80.70.60.50.40.30.20.1000.10.20.30.40.5x0.60.70.80.91

2.5 对于Martin迭代,取参数a,b,c为其它的值会得到什么图形?参考下表(取自63页练

习13)

a m -m -m m/1000 m/1000 m/100 -m/10

解:取m=10000;迭代次数N=20000;

在M-文件里面输入代码:

function Martin(a,b,c,N)

b m -m m/1000 m/1000 m m/10 17 c m m -m 0.5 -m -10 4 f=@(x,y)(y-sign(x)*sqrt(abs(b*x-c))); g=@(x)(a-x); m=[0;0]; for n=1:N

m(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))]; end

plot(m(1,:),m(2,:),'kx'); axis equal

在命令窗口中执行Martin(10000,10000,10000,20000),得:

2500020000150001000050000-5000-2-1.5-1-0.500.511.52x 104

执行Martin(-10000,-10000,10000,20000),得:

50000-5000-10000-15000-20000-25000-2-1.5-1-0.500.511.52x 104

执行Martin(-10000,10,-10000,20000),得:

0-2000-4000-6000-8000-10000-12000-10000-8000-6000-4000-200002000

执行Martin(10,10,0.5,20000),得:

302520151050-5-10-20-100102030

执行Martin(10,10000,-10000,20000),得:

40003000200010000-1000-2000-3000-4000-5000-4000-3000-2000-1000010002000300040005000

执行Martin(100,1000,-10,20000),得:

5004003002001000-100-200-300-400-500-600-400-2000200400600800

执行Martin(-1000,17,4,20000),得:

0-200-400-600-800-1000-1200-1200-1000-800-600-400-2000200

2.6 能否找到分式函数

ax?b(其中a,b,c,d,e是整数),使它产生的迭代序列(迭代

cx2?dx?e的初始值也是整数)收敛到3m(对于3m为整数的学号,请改为求310m)。如果迭代收敛,那么迭代的初值与收敛的速度有什么关系.写出你做此题的体会. 提示:教材54页练习4的一些分析。 若分式线性函数f(x)?因此

ax?b的迭代收敛到指定的数2,则2为f(x)的不动点,cx?d2?化简得:(2c?b)?(d?a)2?0。

a2?b c2?d若a,b,c,d为整数,易见b?2c,d?a。

取满足这种条件的不同的a,b,c,d以及迭代初值进行编。 解:

ax?bax?b33迭代收敛到指定的数,则为的不动点,所以 902902cx2?dx?ecx2?dx?e3

902=

a3902?bc(902)?d902?e323,解得a=e,d=0,b=902c

取m=902;根据上述提示,取:a=e=1,b=902,c=1,d=0,程序如下:

f=inline('(x+902)/(x^2+1)');

x0=1;

for i=1:100; x0=f(x0);

fprintf('%g %g\\n',i,x0); end

结果如下

1 451.5

2 0.00663958 3 901.967 4 0.002217413 5 901.998 6 0.0022173 7 901.998 8 0.0022173 9 901.998 10 0.0022173 11 901.998 12 0.0022173

13 901.998 14 0.0022173 15 901.998 16 0.0022173 17 901.998 ??

95 901.998 96 0.0022173 97 901.998 98 0.0022173 99 901.998 100 0.002217

初值为-1,结果为 1 450.5

2 0.00666416 3 901.967 4 0.00221742 5 901.998 6 0.0022173 7 901.998 8 0.0022173 9 901.998 10 0.0022173 11 901.998 12 0.0022173 13 901.998 14 0.0022173 15 901.998 16 0.0022173 17 901.998 18 0.0022173 19 901.998 ??

95 901.998 96 0.0022173 97 901.998 98 0.0022173 99 901.998 100 0.0022173

初值为1000,结果为 1 0.001902 2 901.999 3 0.0022173 4 901.998

5 0.0022173 6 901.998 7 0.0022173 8 901.998 9 0.0022173 10 901.998 11 0.0022173 12 901.998 13 0.0022173 14 901.998 15 0.0022173 16 901.998 17 0.0022173 18 901.998 19 0.0022173 20 901.998 ??

93 0.0022173 94 901.998 95 0.0022173 96 901.998 97 0.0022173 98 901.998 99 0.0022173 100 901.998

第三次练习

教学要求:理解线性映射的思想,会用线性映射和特征值的思想方法解决诸如天气等实际问题。 3.1 对A????42?(0)(0)TT,,求出{xn}的通项. (x,x)?(1,2)?12??13?>> syms n

>> A=sym('[4,2;1,3]');x=[1;2];[P,D]=eig(A) %没有sym下面的矩阵就会显示为小数 P = [ -1, 2] [ 1, 1] D = [ 2, 0] [ 0, 5]

>> An=P*D^n*inv(P) An =

[ 2^n/3 + (2*5^n)/3, (2*5^n)/3 - (2*2^n)/3] [ 5^n/3 - 2^n/3, (2*2^n)/3 + 5^n/3] >> xn=An*x

xn =

2*5^n - 2^n 2^n + 5^n 3.2 B??0.40.2?1(0)(0)TT对于练习1中的,,求出{xn}的通项. (x,x)?(1,2)A???B12??0.10.310??>> syms n

>> A=sym('[2/5,1/5;1/10,3/10]'); x=[1;2];[P,D]=eig(A) P = [ -1, 2] [ 1, 1] D =

[ 1/5, 0] [ 0, 1/2]

>> An=P*D^n*inv(P) An =

[ (2*(1/2)^n)/3 + (1/5)^n/3, (2*(1/2)^n)/3 - (2*(1/5)^n)/3] [ (1/2)^n/3 - (1/5)^n/3, (1/2)^n/3 + (2*(1/5)^n)/3] xn =

2*(1/2)^n - (1/5)^n (1/2)^n + (1/5)^n

(n)x23.3 对随机给出的(x,x),观察数列{(n)}.该数列有极限吗?

x1(0)1(0)T2>> A=[4,2;1,3]; a=[];

x=2*rand(2,1)-1; for i=1:20

a(i,1:2)=x;

x=A*x; end for i=1:20

if a(i,1)==0

else t=a(i,2)/a(i,1);

fprintf('%g,%g\\n',i,t); end

end

(n)x2结论:在迭代17次后,发现数列{(n)}存在极限为0.5

x13.4 对120页中的例子,继续计算xn,yn(n?1,2,?).观察{xn},{yn}及m(xn)的极限是否

存在. (120页练习9)

>> A=[2.1,3.4,-1.2,2.3;0.8,-0.3,4.1,2.8;2.3,7.9,-1.5,1.4;3.5,7.2,1.7,-9.0];

x0=[1;2;3;4]; x=A*x0; for i=1:1:100 a=max(x); b=min(x);

m=a*(abs(a)>abs(b))+b*(abs(a)<=abs(b)); y=x/m; x=A*y; end

x %也可以用fprintf(‘%g\\n’,x1),不能把x1,y一起输出 y m

程序输出: x1 =

0.9819 3.2889 -1.2890 -11.2213 y =

-0.0875 -0.2931 0.1149

1.0000 m =

-11.2213

结论:{xn},{yn}及m(xn)的极限都存在.

3.5 求出A的所有特征值与特征向量,并与上一题的结论作对比. (121页练习10) >> A=[2.1,3.4,-1.2,2.3;0.8,-0.3,4.1,2.8;2.3,7.9,-1.5,1.4;3.5,7.2,1.7,-9.0]; [P,D]=eig(A) P =

-0.3779 -0.8848 -0.0832 -0.3908 -0.5367 0.3575 -0.2786 0.4777 -0.6473 0.2988 0.1092 -0.7442 -0.3874 -0.0015 0.9505 0.2555 D =

7.2300 0 0 0 0 1.1352 0 0 0 0 -11.2213 0 0 0 0 -5.8439

3.6 设p(0)?(0.5,0.25,0.25)T,对问题2求出若干天之后的天气状态,并找出其特点(取4位有效数字). (122页练习12) >> A2=[3/4,1/2,1/4;1/8,1/4,1/2;1/8,1/4,1/4]; P=[0.5;0.25;0.25]; for i=1:1:20

P(:,i+1)=A2*P(:,i); end P P =

Columns 1 through 10

0.5000 0.5625 0.5938 0.6035 0.6069 0.6081 0.6085

0.6086 0.6087 0.6087

0.2500 0.2500 0.2266 0.2207 0.2185 0.2178 0.2175

0.2174 0.2174 0.2174

0.2500 0.1875 0.1797 0.1758 0.1746 0.1741 0.1740

0.1739 0.1739 0.1739

Columns 11 through 20

0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087

0.2174 0.2174 0.2174 0.2174 0.2174 0.2174 0.2174

0.2174 0.2174 0.2174

0.1739 0.1739 0.1739 0.1739 0.1739 0.1739 0.1739

0.1739 0.1739 0.1739

Column 21

0.6087 0.2174 0.1739 3.7 对于问题2,求出矩阵A2的特征值与特征向量,并将特征向量与上一题中的结论作对比. (122页练习14)

>> A2=[3/4,1/2,1/4;1/8,1/4,1/2;1/8,1/4,1/4]; [P,D]=eig(A2) P =

-0.9094 -0.8069 0.3437 -0.3248 0.5116 -0.8133 -0.2598 0.2953 0.4695 D =

1.0000 0 0 0 0.3415 0 0 0 -0.0915 3.8对问题

1,设p1,p2为A1的两个线性无关的特征向量,若

11p(0)?(,)T,具体求出上述的u,v,将p(0)表示成p1,p2的线性组合,求p(k)的

22具体表达式,并求k??时p(k)的极限,与已知结论作比较. (123页练习16) >> A=[3/4,7/18;1/4,11/18]; [P,D]=eig(A); syms k pk;

a=solve(‘u*P(1,1)+v*P(1,2)-1/2’,’u*P(2,1)+v*P(2,2)-1/2’,’u’,’v’); pk=a.u*D(1,1).^k*P(:,1)+a.v*D(2,2).^k*P(:,2) pk =

-5/46*(13/36)^k+14/23 5/46*(13/36)^k+9/23 或者:

p0=[1/2;1/2];

[P,D]=eig(sym(A)); B=inv(sym(P))*p0 B = 5/46 9/23 syms k

pk=B(1,1)*D(1,1).^k*P(:,1)+B(2,1)*D(2,2).^k*P(:,2) pk =

-5/46*(13/36)^k+14/23 5/46*(13/36)^k+9/23 >> vpa(limit(pk,k,100),10) ans =

.6086956522 .3913043478

第四次练习

教学要求:会利用软件求勾股数,并且能够分析勾股数之间的关系。会解简单的近似计算问题。

4.1 求满足c?b?2,c?1000的所有勾股数,能否类似于(11.8),把它们用一个公式表示出来?

解法程序1:for b=1:998

a=sqrt((b+2)^2-b^2); if(a==floor(a))

fprintf('a=%i,b=%i,c=%i\\n',a,b,b+2) end

end

运行结果: a=4,b=3,c=5 a=6,b=8,c=10 a=8,b=15,c=17 a=10,b=24,c=26 a=12,b=35,c=37 a=14,b=48,c=50 a=16,b=63,c=65 a=18,b=80,c=82 a=20,b=99,c=101 a=22,b=120,c=122 a=24,b=143,c=145 a=26,b=168,c=170 a=28,b=195,c=197 a=30,b=224,c=226 a=32,b=255,c=257 a=34,b=288,c=290 a=36,b=323,c=325 a=38,b=360,c=362 a=40,b=399,c=401 a=42,b=440,c=442 a=44,b=483,c=485 a=46,b=528,c=530 a=48,b=575,c=577 a=50,b=624,c=626 a=52,b=675,c=677 a=54,b=728,c=730 a=56,b=783,c=785 a=58,b=840,c=842 a=60,b=899,c=901

a=62,b=960,c=962 解法程序2:>> n=0;

m=[];

for a=1:100

for c=a+1:1000

b=sqrt(c^2-a^2);

if (b==floor(b))&(b>a)&((c-b)==2) n=n+1; m(:,l)=[a,b,c]; end end end m

勾股数c?b?2,c?1000的解是:

{a,b,c}?{2(u?1),u2?2u,u2?2u?2}

4.2 将上一题中c?b?2改为c?b?4,5,6,7,分别找出所有的勾股数.将它们与

c?b?1,2时的结果进行比较,然后用公式表达其结果。

(1)c?b?4时通项:{a,b,c}?{4(u?1),2(u2?2u),2(u2?2u?2)} a=8,b=6,c=10 a=12,b=16,c=20 a=16,b=30,c=34 a=20,b=48,c=52 a=24,b=70,c=74 a=28,b=96,c=100 a=32,b=126,c=130 a=36,b=160,c=164 a=40,b=198,c=202 a=44,b=240,c=244 a=48,b=286,c=290 a=52,b=336,c=340 a=56,b=390,c=394 a=60,b=448,c=452 a=64,b=510,c=514 a=68,b=576,c=580 a=72,b=646,c=650 a=76,b=720,c=724 a=80,b=798,c=802

a=84,b=880,c=884 a=88,b=966,c=970

(2)c?b?5时通项:{a,b,c}?{5(2u?1),5(2u2?2u),5(2u2?2u?1)} a=15,b=20,c=25 a=25,b=60,c=65 a=35,b=120,c=125 a=45,b=200,c=205 a=55,b=300,c=305 a=65,b=420,c=425 a=75,b=560,c=565 a=85,b=720,c=725 a=95,b=900,c=905

(3)c?b?6时通项{a,b,c}?{6(u?1),3(u2?2u),3(u2?2u?2)} a=12,b=9,c=15 a=18,b=24,c=30 a=24,b=45,c=51 a=30,b=72,c=78 a=36,b=105,c=111 a=42,b=144,c=150 a=48,b=189,c=195 a=54,b=240,c=246 a=60,b=297,c=303 a=66,b=360,c=366 a=72,b=429,c=435 a=78,b=504,c=510 a=84,b=585,c=591 a=90,b=672,c=678 a=96,b=765,c=771 a=102,b=864,c=870 a=108,b=969,c=975

(4)c?b?7时通项{a,b,c}?{7(2u?1),7(2u?2u),7(2u?2u?1)} a=21,b=28,c=35 a=35,b=84,c=91 a=49,b=168,c=175

22

a=63,b=280,c=287 a=77,b=420,c=427 a=91,b=588,c=595

a=105,b=784,c=791

4.3 对c?1000,c?b?k(k?200),对哪些k存在本原勾股数?(140页练习12) 程序:for k=1:200

for b=1:999

a=sqrt((b+k)^2-b^2);

if((a==floor(a))&gcd(gcd(a,b),(b+k))==1) fprintf('%i,',k); break; end end end

运行结果:1,2,8,9,18,25,32,49,50,72,81,98,121,128,162,169,200, 4.4 设方程(11.15)的解构成数列{pn},{qn},观察数列{pn},{qn},

{pn?qn},{pn?2qn},{pn?qn}.你能得到哪些等式?试根据这些等式推导出关于pn,qn的递推关系式. (142页练习20)

解:1000以内解构成的数列 {pn},{qn}, {pn?qn}, {pn?2qn}, {pn?qn}如下:

n 1 2 3 4 5 6 pn 2 7 26 97 362 1351 qn 1 4 15 56 209 780 pn?qn 3 11 41 153 571 2131 pn?2qn 4 15 56 209 780 2911 pn?qn 1 3 11 41 153 571 我们发现这些解的关系似乎是:

pn?1?qn?1=pn?qn qn=pn?1?2qn?1

因为qn=pn?1?2qn?1,所以qn?pn?1?qn?1?qn?pn?1?2qn?1。

4.5 选取100m对随机的a,b,根据(a,b)?1的概率求出?的近似值。(取自130页练习7)

提示:(1)最大公约数的命令:gcd(a,b)

(2)randint(1,1,[u,v])产生一个在[u,v]区间上的随机整数

程序:

>> m=90200;s=0;

for i=1:m

a=randint(1,2,[1,10^9]); if gcd(a(1),a(2))==1; s=s+1; end end

pi=sqrt(6*m/s) pi =

3.1431

4.6 用求定积分的Monte Carlo法近似计算?。(102页练习16) 提示:Monte Carlo法近似计算?的一个例子。 对于第一象限的正方形0?x?1,0?y?1,内画出四分之一个圆

1 0.80.60.40.20.20.40.60.8向该正方形区域内随即投点,则点落在扇形区域内的概率为投n次点,落在扇形内的次数为nc,则程序如下

n=100000;nc=0; for i=1:n

x=rand;y=rand; if(x^2+y^2<=1) nc=nc+1; end end

pi=4*nc/n 解:程序:

a=0;b=1;m=1000; H=1;s=0; for i=1:m

xi=rand(); yi=H*rand(); if yi

?. 4nc?4nc?,因此??. n4nend

pi=4*H*(b-a)*s/m 运行结果: pi =

3.1480

本文来源:https://www.bwwdw.com/article/2z5p.html

Top