3数值计算方法上机实习题.

3数值计算方法上机实习题.
3数值计算方法上机实习题.

上海电力学院数值计算上机报告

课程:现代数值计算

题目:数值计算方法上机实习题报告

院系:自动化工程学院

专业年级:电机与电器

学生姓名:黄丽学号:ys1310401009

指导教师:黄建雄

2013年12月20日

数值计算方法上机实习题

1.设?+=1

05dx x

x I n

n , (1) 由递推公式n I I n n 1

51+

-=-,从0I 的几个近似值出发,计算20I ; (2) 粗糙估计20I ,用n

I I n n 51

511+-=-,计算0I ;

(3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。

程序:

(1)由递推公式n

I I n n 1

51+

-=-,从0I 的几个近似值出发,计算20I ; I(0) =0.1820;I(1)= 0.0900;I(2)= 0.0500;I(3)= 0.0833;I(4)= -0.1667; I=0.182; for n=1:20

I=(-5)*I+1/n; end

故计算结果20I = -3.0666e+10

(2)粗糙估计20I ,用n

I I n n 51

511+-

=-,计算0I ; 0095.05

6 0079.01020201

020

≈<<≈??dx x I dx x

I=0.008;

for n=20:-1:1

I=(-1/5)*I+1/(5*n); end I

0I = 0.1823

(3)分析结果的可靠性及产生此现象的原因(重点分析原因)。

假设n S 的真值为*

n S ,误差为n ε,即

n n n S S -=*ε。对于真值也有n S S n n 1

51**=

-+。综合2个递推等式,有15--=n n εε,即意味着只要n 足够大,

按照这种每计算一步误差增长5倍的方式,所得的结果总是不可信的,因此整个算法是数值不稳定的。而第二种方式的误差会以每计算一步缩小到1/5的方式进行,这样的计算结果和实际是很相近的。

2.求方程0210=-+x e x 的近似根,要求41105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法;

(2) 取初值00=x ,并用迭代10

21x k e x -=+;

(3) 加速迭代的结果;

(4) 取初值00=x ,并用牛顿迭代法; (5) 分析绝对误差。

(1)在[0,1]上用二分法; 程序: a=0;b=1.0;i=0;

while abs(b-a)>5*1e-4 c=(b+a)/2;

if exp(c)+10*c-2>0 b=c; else a=c; end i=i+1; end c

方程的近似根为:x*=(a+b )/2 = 0.0906 。步长为i =11 。

(2)取初值00=x ,并用迭代10

21

x k e x -=+;

程序: x=0;y=0.1;i=0;

while abs(y-x)>5*1e-4 y=x;

x=(2-exp(x))/10; i=i+1; end

方程的近似根为:x=0.0905 。步长为i=4 。 (3)加速迭代的结果; 程序:x=0;xx=1;i=0;

while abs(xx-x)>5*1e-4 y=exp(x)+10*x-2; z=exp(y)+10*y-2; xx=x;

x=x-(y-x)^2/(z-2*y+x); i=i+1; end x

方程的近似根为:x= 0.0995。步长为i=3 。

(4)取初值00=x ,并用牛顿迭代法;

程序:x=0;y=0.1;i=0;

while abs(y-x)>5*1e-4

y=x;

x=x-(exp(x)+10*x-2)/(exp(x) + 10);%diff(exp(x)+10*x-2)=exp(x) + 10

i=i+1; end x i

方程的近似根为:x= 0.0905。步长为i=2 。

(6) 分析绝对误差。

solve('exp(x)+10*x-2=0')

方程的精确解为x= 0.0905。

3.钢水包使用次数多以后,钢包的容积增大,数据如下:

(注:增速减少,用何种模型)

解:(1)设y=f(x)具有指数形式

x

b

ae y =(a>0,b<0)。对此式两边取对数,得

x b

a y 1

ln ln +=。

记A=lna ,B=b

x=[2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]; for i=1:15

X(i)=1/x(i); end

y=[6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76]; for i=1:15

Y(i)=log(y(i)); end

polyfit(X,Y,1)

经计算ans = -1.1107 2.4578。

故方程为???

?

???

-====+-=1107

.14578.2ln 4578.211107.1ln b B a A a x

y 故原方程的系数为

故原方程为:x

e

y 1107.16791.11-=

(2)计算均方差: x=[2:16]; y=[6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76];

f(x)=11.6791*exp( -1.1107./x); c=0;

for i=1:15 a=y(i); b=x(i);

c=c+(a-f(b))^2; end

averge=c/15

结果:averge =0.0594

4.设??

?

?

??

?

?

??

?

?----------------=41010014101001410110141001014100

1014A ,?????????? ??--=625250b ,b x =A 分析下列迭代法的收敛性,并求42

110-+≤-k

k x x 的近似解及相应的迭代次数。

(1) JACOBI 迭代;

以文件名math4a.m 保存。 function math4a

A=[4 -1 0 -1 0 0;-1 4 -1 0 -1 0;0 -1 4 -1 0 -1;-1 0 -1 4 -1 0;0 -1 0 -1 4 -1;0 0 -1 0 -1 4]; b=[0 5 -2 5 -2 6]; x0=[0 0 0 0 0 0]; imax=100; tol=10^-4;

tx=jacobi(A,b,imax,x0,tol); for j=1:size(tx,1)

fprintf('%d %f %f %f %f %f %f\n',j,tx(j,1),tx(j,2),tx(j,3),tx(j,4

),tx(j,5),tx(j,6))

end

function tx=jacobi(A,b,imax,x0,tol) %初始值x0,次数imax,精度tol del=10^-10;

tx=[x0];n=length(x0);

for i=1:n

dg=A(i,i);

if abs(dg)

disp('对角元太小');

return

end

end

for k=1:imax %jacobi循环

for i=1:n

sm=b(i);

for j=1:n

if j~=i

sm=sm-A(i,j)*x0(j);

end

end

x(i)=sm/A(i,i);

end

tx=[tx;x];

if norm(x-x0)

return

else

x0=x;

end

end

近似解y为:

1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

2 0.000000 1.250000 -0.500000 1.250000 -0.500000 1.500000

3 0.625000 1.000000 0.500000 1.000000 0.500000 1.250000

4 0.500000 1.656250 0.312500 1.656250 0.312500 1.750000

5 0.828125 1.531250 0.765625 1.531250 0.765625 1.656250

6 0.765625 1.839844 0.679688 1.839844 0.679688 1.882813

7 0.919922 1.781250 0.890625 1.781250 0.890625 1.839844

8 0.890625 1.925293 0.850586 1.925293 0.850586 1.945313

9 0.962646 1.897949 0.948975 1.897949 0.948975 1.925293

10 0.948975 1.965149 0.930298 1.965149 0.930298 1.974487

11 0.982574 1.952393 0.976196 1.952393 0.976196 1.965149

12 0.976196 1.983742 0.967484 1.983742 0.967484 1.988098

13 0.991871 1.977791 0.988895 1.977791 0.988895 1.983742

14 0.988895 1.992415 0.984831 1.992415 0.984831 1.994448

15 0.996208 1.989639 0.994820 1.989639 0.994820 1.992415

16 0.994820 1.996462 0.992923 1.996462 0.992923 1.997410

17 0.998231 1.995167 0.997583 1.995167 0.997583 1.996462

18 0.997583 1.998349 0.996699 1.998349 0.996699 1.998792

19 0.999175 1.997745 0.998873 1.997745 0.998873 1.998349

20 0.998873 1.999230 0.998460 1.999230 0.998460 1.999436

21 0.999615 1.998948 0.999474 1.998948 0.999474 1.999230

22 0.999474 1.999641 0.999282 1.999641 0.999282 1.999737

23 0.999820 1.999509 0.999755 1.999509 0.999755 1.999641

24 0.999755 1.999832 0.999665 1.999832 0.999665 1.999877

25 0.999916 1.999771 0.999886 1.999771 0.999886 1.999832

26 0.999886 1.999922 0.999844 1.999922 0.999844 1.999943

27 0.999961 1.999893 0.999947 1.999893 0.999947 1.999922

28 0.999947 1.999964 0.999927 1.999964 0.999927 1.999973

29 0.999982 1.999950 0.999975 1.999950 0.999975 1.999964

(2)GAUSS-SEIDEL迭代;

以文件名math4b.m保存。

function math4b

A=[4 -1 0 -1 0 0;-1 4 -1 0 -1 0;0 -1 4 -1 0 -1;-1 0 -1 4 -1 0;0 -1 0 -1 4 -1;0 0 -1 0 -1 4];

b=[0 5 -2 5 -2 6];

x0=[0 0 0 0 0 0];

imax=100;

tol=10^-4;

tx=gs (A,b,imax,x0,tol);

for j=1:size(tx,1)

fprintf('%d %f %f %f %f %f %f\n',j,tx(j,1),tx(j,2),tx(j,3),tx (j,4),tx(j,5),tx(j,6))

end

function tx=gs (A,b,imax,x0,tol) %初始值x0,次数imax,精度tol

del=10^-10;

tx=[x0];n=length(x0);

for i=1:n

dg=A(i,i);

if abs(dg)

disp('对角元太小');

return

end

end

for k=1:imax %gs循环

x=x0;

for i=1:n

sm=b(i);

for j=1:n if j~=i

sm=sm-A(i,j)*x(j); end end

x(i)=sm/A(i,i); end

tx=[tx;x];

if norm(x-x0)

x0=x; end end

近似解y 为:

1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

2 0.000000 1.250000 -0.187500 1.203125 0.113281 1.481445

3 0.613281 1.384766 0.51733

4 1.560974 0.606796 1.781033 4 0.73643

5 1.715141 0.764287 1.776880 0.818263 1.895638 5 0.873005 1.863889 0.884102 1.893843 0.913342 1.949361

6 0.939433 1.934219 0.944356 1.949283 0.958216 1.975643

7 0.970875 1.968362 0.973322 1.975603 0.979902 1.988306

8 0.985991 1.984804 0.987178 1.988268 0.990344 1.994381

9 0.993268 1.992698 0.993837 1.994362 0.995360 1.997299 10 0.996765 1.996490 0.997038 1.997291 0.997770 1.998702 11 0.998445 1.998313 0.998577 1.998698 0.998928 1.999376 12 0.999253 1.999189 0.999316 1.999374 0.999485 1.999700 13 0.999641 1.999610 0.999671 1.999699 0.999752 1.999856 14 0.999827 1.999813 0.999842 1.999855 0.999881 1.999931 15 0.999917 1.999910 0.999924 1.999931 0.999943 1.999967 16 0.999960 1.999957 0.999964 1.999967 0.999973 1.999984 (3)SOR 迭代(95.0,

95.1,334.1=ω)。

以文件名math4c.m 保存。

function math4c

A=[4 -1 0 -1 0 0;-1 4 -1 0 -1 0;0 -1 4 -1 0 -1;-1 0 -1 4 -1 0;0 -1 0 -1 4 -1;0 0 -1 0 -1 4]; b=[0 5 -2 5 -2 6]; x0=[0 0 0 0 0 0]; imax=100; tol=10^-4;

w0=[1.334 1.95 0.95]; for i=1:3 w=w0(i);

tx=sor(A,b,imax,x0,tol,w);

for j=1:size(tx,1)

fprintf('%d %f %f %f %f %f %f\n',j,tx(j,1),tx(j,2),tx(j,3),tx(j,4 ),tx(j,5),tx(j,6))

end

fprintf('\n')

end

function tx=sor(A,b,imax,x0,tol,w) %初始值x0,次数imax,精度tol,松弛因子w

del=10^-10;

tx=[x0];n=length(x0);

for i=1:n

dg=A(i,i);

if abs(dg)

disp('对角元太小');

return

end

end

for k=1:imax % SOR循环

x=x0;

for i=1:n

sm=b(i);

for j=1:n

if j~=i

sm=sm-A(i,j)*x(j);

end

end

x(i)=sm/A(i,i);

x(i)=w*x(i)+(1-w)*x0(i);

end

tx=[tx;x];

if norm(x-x0)

return

else

x0=x;

end

end

w=1.334时的近似解y:

1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

2 0.000000 1.667500 -0.110889 1.630519 0.432889 2.108387

3 1.099889 1.584755 1.145478 2.016105 1.092449 2.043147

4 0.833524 2.162521 1.025372 1.978394 1.030507 2.004224

5 1.102598 1.998570 0.985252 2.046688 1.006313 1.995776

6 0.980826 1.991270 1.016176 1.985512 0.988740 2.003050

7 0.998661 2.004109 0.992153 1.998020 1.005488 1.998194

8 1.001157 1.998227 1.000767 2.003133 0.998018 2.000198

9 1.000067 2.000210 1.000925 1.998623 1.000339 2.000355

10 0.999588 2.000214 0.999422 2.000243 1.000158 1.999741

11 1.000290 1.999885 1.000149 2.000118 0.999862 2.000090

12 0.999904 2.000010 1.000023 1.999890 1.000043 1.999992

13 0.999999 2.000018 0.999959 2.000037 1.000001 1.999990

14 1.000019 1.999987 1.000018 2.000000 0.999992 2.000007 w=1.95时的近似解y:

1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

2 0.000000 2.437500 0.213281 2.541475 1.452250 3.736947

3 2.427250 2.117106 2.915202 3.335517 2.125277 1.832135

4 0.352266 3.055213 0.264204 0.605361 -0.316318 1.159066

5 1.449877 0.216457 -0.260312 2.288115 1.11152

6 2.238853

6 -0.156404 2.570585 2.732354 2.061435 1.318601 2.772930

7 2.406694 3.143548 0.318497 2.450485 1.851223 1.348455

8 0.440732 0.723724 0.927227 1.678891 -0.905016 1.654796

9 0.752580 2.127673 0.806547 1.161433 2.294917 2.864907

10 0.888488 2.361313 1.372761 3.555270 1.125805 1.421389

11 2.040270 2.406936 1.320379 1.247140 0.429774 2.427880

12 -0.156894 0.927625 0.014429 1.392780 0.931503 1.079656

13 1.280247 2.641519 1.504345 2.925956 1.380548 3.305712

14 1.497909 2.064673 1.640338 1.860755 1.238660 1.188085

15 0.490633 2.118756 -0.014118 1.505930 0.194499 1.884254

16 1.300934 1.146823 1.250203 2.345363 1.461241 2.456788

17 0.466554 2.897293 1.590786 1.924713 1.185233 1.944361

18 1.907502 1.968288 0.359467 2.291971 0.923781 1.703441

19 0.264750 1.322276 1.275879 1.461527 0.334939 2.092005

20 1.105592 2.505588 0.766736 2.125092 1.984117 2.278636

21 1.207144 1.986715 1.411942 2.662724 0.517526 1.700911

22 1.119814 2.036646 0.803792 1.097964 0.890667 2.135183

23 0.464299 1.555081 0.595659 2.345363 1.121235 1.733562

24 1.460383 2.509095 1.670784 2.282451 1.140817 2.648772

25 0.948515 1.886916 0.761598 1.659000 0.961134 1.248499

26 0.827545 1.888190 0.639380 2.045129 0.638059 2.361678

27 1.131325 1.817992 1.452178 2.065139 1.463189 2.102648

28 0.818267 2.530554 0.910872 2.031878 0.884197 1.802581

29 1.446832 1.613900 0.815747 2.041269 0.845666 2.022487

30 0.407405 1.912844 1.163633 1.676437 0.957354 2.037619

31 1.362740 2.318616 0.860476 2.395412 1.406941 2.094628

32 1.003486 1.829381 1.288265 1.964971 0.559283 1.835783

33 0.896435 2.037280 0.647190 1.595945 1.159823 2.061924

34 0.919585 1.831300 1.086140 2.464556 1.022586 1.994176

35 1.220624 2.320824 1.298201 1.822610 1.045628 2.173149

36 0.860331 1.794745 0.614580 1.934783 0.909209 1.603355

37 1.000831 1.963245 1.123073 2.078099 0.913042 2.394419

38 1.019366 2.061965 1.143640 1.962880 1.287001 1.835240

39 0.993714 2.148007 0.837278 2.092786 0.764415 1.962348

40 1.123358 1.725356 1.047575 1.880335 1.013225 2.065409

41 0.690584 2.139711 0.996464 1.967565 1.071620 1.971052

42 1.346242 2.069258 1.007199 2.238031 1.067652 2.063990

43 0.820874 1.883370 1.083539 1.760253 0.793192 1.879116

44 0.996436 2.048967 0.768701 2.012446 1.167476 2.083726

45 1.033324 1.938613 1.236691 2.201454 0.949997 2.011471

46 1.036624 2.167183 0.960446 1.782814 1.028718 1.983820

47 0.940830 1.807049 0.829747 2.108483 0.923652 1.895153

48 1.015033 2.070414 1.197840 1.963497 1.037949 2.214552

49 1.002250 2.049151 0.922812 2.016646 1.100618 1.807598

50 1.029938 1.979324 0.977568 2.036897 0.818524 2.083377

51 0.979466 1.910227 1.036180 1.884106 1.112786 1.993412

52 0.919244 2.118537 0.963706 2.108021 1.000089 1.988608

53 1.187164 1.960983 1.062565 2.019167 0.984685 2.033857

54 0.812517 1.968703 0.951155 1.859115 0.947115 1.918243

55 1.094170 2.026047 0.950563 2.129867 1.086392 2.095685

56 0.986546 1.986712 1.150443 1.985525 0.951040 1.958572

57 0.999247 2.061729 0.859919 1.921226 1.018007 1.979845

58 0.992407 1.878145 1.025445 2.092316 0.958667 2.011401

59 0.992813 2.104514 1.077340 1.926350 1.059870 2.056059

60 1.021874 1.978265 0.907355 2.064654 0.991375 1.897375

61 1.000143 1.971349 1.055534 1.961517 0.925436 2.088216

62 0.967136 2.001920 0.972424 1.970745 1.100515 1.951752

63 1.017895 2.042457 1.009112 2.089960 0.945543 2.023730

64 1.047553 1.960742 1.027629 1.924642 1.007427 1.994546

65 0.898949 2.005122 0.936854 1.995165 0.990426 1.969730

66 1.096138 2.006550 1.046068 2.069252 1.031292 2.066470

67 0.945622 2.004981 1.024828 1.935060 0.973447 1.936012

68 1.022429 2.005361 0.916175 2.018818 1.005819 2.022760

69 0.990479 1.952238 1.076619 2.017670 0.990898 2.011292

70 0.994375 2.075546 0.978160 1.965387 1.034107 1.995252

71 1.025299 1.946544 0.975500 2.049899 0.963550 1.974797

72 0.974232 2.008508 1.039462 1.941503 0.997971 2.042191

73 1.000110 2.010219 0.959544 2.034915 1.044498 1.961889

74 1.021899 2.002938 1.038307 2.017875 0.949293 2.030161

75 0.989342 1.985969 0.980185 1.943444 1.028464 1.975563

76 0.975714 2.005707 0.982122 2.047049 0.986765 2.008047

77 1.048790 2.003197 1.045402 1.994770 1.015505 2.022047

78 0.952658 2.003576 0.966810 1.973268 0.984730 1.955431

79 1.033686 1.989400 0.991604 2.030280 1.002374 2.039405

80 0.977592 1.996210 1.040100 1.981016 1.005852 1.984967

81 1.010185 2.030968 0.960419 2.006557 1.005405 1.997620

82 1.008618 1.958121 1.019222 2.009978 0.978153 2.000982

83 0.976261 2.026933 1.000211 1.968401 1.018959 2.008413

84 1.020277 1.993644 0.985397 2.042028 1.003480 1.986586

85 0.998127 1.999703 1.027677 1.974349 0.977505 2.015269

86 0.989130 1.997509 0.967432 1.992226 1.023810 1.981225

87 1.005322 2.000691 1.018334 2.030525 0.983445 2.018704

88 1.010162 2.005164 1.009100 1.972321 1.013869 1.993429

89 0.979370 1.996234 0.972822 2.009750 0.986538 1.986431

90 1.022516 1.994742 1.021394 2.005581 1.006331 2.026407

91 0.978767 2.008160 0.999248 1.987067 1.004532 1.976756

92 1.017844 2.002790 0.984439 2.015608 0.993332 2.011245

93 0.992017 1.982621 1.019402 1.987488 0.997245 1.997433

94 0.993012 2.021219 0.984561 1.999610 1.011520 2.000528

95 1.016792 1.986118 1.007967 2.018056 0.991349 1.999164

96 0.986083 2.006070 1.003786 1.973690 0.997944 2.001637

97 1.003354 1.996712 0.982773 2.017229 1.009548 1.994701

98 1.003610 2.001139 1.022738 2.001131 0.989453 2.010977

99 0.997677 2.003728 0.986120 1.985885 1.010307 1.987830

100 0.997143 1.993323 0.997117 2.015636 0.988643 2.004620

101 1.007082 2.002853 1.014004 1.989889 1.009503 2.007071

w=0.95时的近似解y:

1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

2 0.000000 1.187500 -0.192969 1.141670 0.078178 1.397737

3 0.553178 1.350992 0.439321 1.498869 0.53771

4 1.726933

4 0.704501 1.654414 0.706017 1.725149 0.764678 1.860637

5 0.837871 1.818505 0.843820 1.854770 0.877538 1.926854

6 0.91429

7 1.904393 0.917620 1.923734 0.935685 1.961503

7 0.954895 1.949667 0.956671 1.959909 0.966165 1.979749

8 0.976269 1.973521 0.977213 1.978912 0.982201 1.989348

9 0.987516 1.986072 0.988015 1.988907 0.990638 1.994397

10 0.993433 1.992674 0.993696 1.994165 0.995076 1.997053

11 0.996546 1.996146 0.996684 1.996931 0.997410 1.998450

12 0.998183 1.997973 0.998256 1.998386 0.998637 1.999185

13 0.999044 1.998934 0.999082 1.999151 0.999283 1.999571

14 0.999497 1.999439 0.999517 1.999553 0.999623 1.999774

15 0.999736 1.999705 0.999746 1.999765 0.999802 1.999881

16 0.999861 1.999845 0.999866 1.999876 0.999896 1.999938

17 0.999927 1.999918 0.999930 1.999935 0.999945 1.999967

18 0.999962 1.999957 0.999963 1.999966 0.999971 1.999983

比较三种迭代方法,jaccobi迭代法迭代次数是29次,gs迭代法迭代次数是16,速度要比jaccobi迭代法快。而在sor迭代中选取不同的松弛因子w迭代的

次数各不相同且可能会相差很大,在w=1.95时迭代次数有101次。所以改变松弛因子w 的值,不仅会影响迭代过程的收敛速度,也会影响其收敛性。

5.用逆幂迭代法求???

?? ??=111123136A 最接近于11的特征值和特征向量,准确到

310-。

function math5

A=[6 3 1;3 2 1;1 1 1]; p=11;

x0=[1,1,1]; ep=1e-3;

[lam,x]=nimi(A,p,x0,ep);

fprintf('p=\n\n%f \nx=\n\n %f %f %f\n',lam,x(1),x(2),x(3)); function [lam,x]=nimi(A,p,x0,ep) %A 是原矩阵 p 是偏移的特征值 ep 是控制参数 v0=x0;

[vm,k]=max(abs(v0)); lam0=v0(k); u0=v0/lam0;

B=A-p*eye(size(A)); flag=0;

while flag==0 %v1=B\u0;

v1=jaco(B,u0,100,x0,10^-5);

[vm,k]=max(abs(v1)); lam1=v1(k); u0=v1/lam1;

err=abs(1/lam1-1/lam0); if err<=ep flag=1; end

lam0=lam1; end

lam=1/lam1+p; x=u0;

function tx=jaco(A,b,imax,x0,tol) %初始值x0,次数imax,精度tol del=10^-10;

tx=[x0];n=length(x0); for i=1:n

dg=A(i,i);

if abs(dg)

for k=1:imax %jacobi 循环 for i=1:n sm=b(i); for j=1:n if j~=i

sm=sm-A(i,j)*x0(j); %每次迭代用x0 end end

x(i)=sm/A(i,i); end

tx=x;

if norm(x-x0)

x0=x; %重新开始迭代 end end

运行结果:

p=7.873093 , x=1.000000 0.549224 0.225454

6.用经典R-K 方法求解初值问题

(1)??

?-+-='++-='x x y y y x y y y sin 2cos 22sin 22212211

,]10,0[∈x ,

??

?==3

)0(2

)0(21y y ; (2)???-+-='++-='x x y y y x y y y sin 999cos 999999998sin 22212211

,]10,0[∈x ,

??

?==3)0(2

)0(2

1y y 。 和精确解???+=+=--x

e x y x

e x y x

x cos 2)(sin 2)(21比较,分析结论。 (1)由式???-+-='++-='x x y y y x y y y s i n 2c o s 22s i n 22212

211

,]10,0[∈x , ???==3)0(2)0(21y y 可得

]10,0[x sin 2cos 2sin 221122121∈?

??? ??-+

???? ?????? ?

?--=???? ????x x x y y y y 初值条件为??

?==3)0(2

)0(2

1y y 则由经典R-K 方法可得算法为

)

22(61

432111K K K K v u v u n n n n ++++???

? ??=???? ??++ ???

?

?????? ??-+???? ?????? ??--=n n n n n x x x v u h K s i n 2c o s 2s i n 221121 ?

??? ?????? ??+-+++???? ??+???? ?????? ??--=)2/sin(2)2/cos(2)2/sin(22211212h x h x h x K v u h K n n n n n ???? ?????? ??+-+++???? ??+???? ?????? ??--=)2/sin(2)2/cos(2)2/sin(22211223h x h x h x K v u h K n n n n n ???? ?

????? ??+-+++???? ??+???? ?????? ??--=)sin(2)cos(2)sin(2211234h x h x h x K v u h K n n n n n 取步长h=0.9 Matlab 程序:

clear

format long N=100;

h=0.9; % 取步长0.9 A=[-2,1;1,-2];

y(2,N+1)=zeros(); %2行501列的矩阵 y(:,1)=[2,3]'; for k=2:N+1 x=(k-1)*h;

k1=h*(A*y(:,k-1)+[2*sin(x),2*cos(x)-2*sin(x)]');

k2=h*(A*(y(:,k-1)+k1/2)+[2*sin(x+h/2),2*cos(x+h/2)-2*sin(x+h/2)]');

k3=h*(A*(y(:,k-1)+k2/2)+[2*sin(x+h/2),2*cos(x+h/2)-2*sin(x+h/2)]');

k4=h*(A*(y(:,k-1)+k3)+[2*sin(x+h),2*cos(x+h)-2*sin(x+h)]'); y(:,k)=y(:,k-1)+(k1+2*k2+2*k3+k4)/6; end

z(2,N+1)=zeros(); for k=1:N+1 x=(k-1)*h;

z(1,k)=2*exp(-x)+sin(x); z(2,k)=2*exp(-x)+cos(x); end

err1=(z(1,:)-y(1,:));%./abs(z(1,:)); err2=(z(2,:)-y(2,:));%./abs(z(2,:)); plot(err1,'b-*') hold on

plot(err2,'g-^')

误差分析:

相对误差图形如图所示:

020406080100120

(2)由式???-+-='++-='x x y y y x y y y sin 999cos 999999998sin 22212

211

,]10,0[∈x ,

??

?==3)0(2

)0(2

1y y 可得]10,0[x sin 999cos 999sin 2999998122121∈?

??? ??-+

???? ?????? ?

?--=???? ????x x x y y y y 初值条件为??

?==3)0(2

)0(2

1y y 则由经典R-K 方法可得算法为

)

22(61

432111K K K K v u v u n n n n ++++???

? ??=???? ??++ ???

?

?????? ??-+???? ?????? ??--=n n n n n x x x v u h K s i n 999c o s 999s i n 2999998121 ???? ?????? ??+-+++???? ??+???? ??????

??--=)2/sin(999)2/cos(999)2/sin(2299999812

12h x h x h x K v u h K n n n n n ???

? ?????? ??+-+++???? ??+???? ??????

??--=)2/sin(999)2/cos(999)2/sin(22999998

1223h x h x h x K v u h K n n n n n

???

? ?????? ??+-+++???? ??+???? ??????

??--=)sin(999)cos(999)sin(29999981234h x h x h x K v u h K n n n n n 取步长h=0.0026

Matlab 程序:

clear

format long N=500; h=0.0026;

A=[-2,1;998,-999]; y(2,N+1)=zeros(); y(:,1)=[2,3]'; for k=2:N+1 x=(k-1)*h;

k1=h*(A*y(:,k-1)+[2*sin(x),999*cos(x)-999*sin(x)]');

k2=h*(A*(y(:,k-1)+k1/2)+[2*sin(x+h/2),999*cos(x+h/2)-999*sin(x+h/2)]');

k3=h*(A*(y(:,k-1)+k2/2)+[2*sin(x+h/2),999*cos(x+h/2)-999*sin(x+h/2)]');

k4=h*(A*(y(:,k-1)+k3)+[2*sin(x+h),999*cos(x+h)-999*sin(x+h)]'); y(:,k)=y(:,k-1)+(k1+2*k2+2*k3+k4)/6; end

z(2,N+1)=zeros(); for k=1:N+1 x=(k-1)*h;

z(1,k)=2*exp(-x)+sin(x); z(2,k)=2*exp(-x)+cos(x); end

err1=(z(1,:)-y(1,:));%./abs(z(1,:)); err2=(z(2,:)-y(2,:));%./abs(z(2,:)); plot(err1,'b-*') hold on

plot(err2,'g-^')

结果:

绝对误差曲线如下图:

0100200300400500600

-3

结论分析:

本题所给的两个微分方程组的解析解是一样的,同时也都是采用R-K 四阶算法,但是能求出稳定解的步长却不一样。

(1) 中系数矩阵2112-??

??

-??,特征值11λ=-,23λ=-,根据/0.9267h e λ<-≈可得稳定的解。实验中若取h=0.9算法稳定,取h=1算法发散。

(2) 中系数矩阵2

1998998-????

-??

,特征值11λ=-,21000λ=-,根据3

/2.78*10h e λ-<-≈可得稳定的解。实验中若取h=0.0026算法稳定,取

h=0.0028算法发散。 问题二:

1)对于第(1)个方程组采用分别R-K 四阶和R-K 二阶方法,并比较: 步长h 相同时,都取0.3:

可以看出对于相同步长,R-K四阶方法与R-K二阶方法的精度差不多,四阶方法只是略微精确一些。

2)R-K四阶方法步长取h=0.3,R-K四阶方法步长减半,取h=0.15:

可以看出R-K二阶步长减半算法的精度明显好于R-K四阶算法。

7.用有限差分法求解边值问题(h=0.1):

??

?==-=+-''1

)1()1(0

)1(2y y y x y . 把上式改写成标准形式:

??

?==-=++''-1

)1()1(0

)1(2y y y x y 其中f(x)=0,q(x)=1+x^2。有限元差分法的MATLAB 实现如下: 新建m 文件math7.m 。程序如下:

clc clear h=0.1;

n=(1-(-1))/h;

x(1)=-1;x(n+1)=1; y(1)=1;y(n+1)=1; g=zeros(n-1,1); for i=2:n

x(i)=x(1)+(i-1)*h; q(i)=(1+x(i)^2); A(i)=2/(h^2)+q(i); end

B=A(2:n); for i=1:n-2

C(i)=-1/(h^2); end

H=diag(B)+diag(C,1)+diag(C,-1); g(1)=0+1/(h^2); g(n-1)=0+1/(h^2); for i=2:n-2 g(i)=0; end y=H\g

运行结果为:y =

0.909597189519334 0.835658088168967 0.775423779464572 0.726743285074199 0.687946499360835 0.657749044889481 0.635181479338845 0.619537391913003 0.610336493363056

数值分析上机作业

数值分析上机实验报告 选题:曲线拟合的最小二乘法 指导老师: 专业: 学号: 姓名:

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。 二、要求 1、用最小二乘法进行曲线拟合; 2、近似解析表达式为()33221t a t a t a t ++=?; 3、打印出拟合函数()t ?,并打印出()j t ?与()j t y 的误差,12,,2,1 =j ; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、*绘制出曲线拟合图*。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。 四、计算公式 对于给定的测量数据(x i ,f i )(i=1,2,…,n ),设函数分布为 ∑==m j j j x a x y 0)()(? 特别的,取)(x j ?为多项式 j j x x =)(? (j=0, 1,…,m )

则根据最小二乘法原理,可以构造泛函 ∑∑==-=n i m j i j j i m x a f a a a H 1 10))((),,,(? 令 0=??k a H (k=0, 1,…,m ) 则可以得到法方程 ???? ??????? ?=????????????????????????),(),(),(),(),(),(),(),(),(),(),(),(1010101111000100m m m m m m m m f f f a a a ????????????????????? 求该解方程组,则可以得到解m a a a ,,,10 ,因此可得到数据的最小二乘解 ∑=≈m j j j x a x f 0)()(? 曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。 五、结构程序设计 在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit ,并且依次调用了plot 、figure 、hold on 函数进行图象的绘制,最后调用了一个绝对值函数abs 用于计算拟合函数与原有数据的误差,进行拟合效果的比较。

上机考试题目及答案

题目 --1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值, --显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。 --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称 --3、按部门进行汇总,统计每个部门的总工资 --4、查找商品名称为14寸显示器商品的销售情况, --显示该商品的编号、销售数量、单价和金额 --5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额 --6、按客户编号统计每个客户1996年的订单总金额 --7、查找有销售记录的客户编号、名称和订单总额 --8、查找在1997年中有销售记录的客户编号、名称和订单总额 --9、查找一次销售最大的销售记录 --10、查找至少有3次销售的业务员名单和销售日期 --11、用存在量词查找没有订货记录的客户名称 --12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额 --订货日期不要显示时间,日期格式为yyyy-mm-dd --按客户编号排序,同一客户再按订单降序排序输出 --13、查找16M DRAM的销售情况,要求显示相应的销售员的姓名、 --性别,销售日期、销售数量和金额,其中性别用男、女表示 --14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、 --产品名称、数量、单价、金额和销售日期 --15、查找销售金额最大的客户名称和总货款 --16、查找销售总额少于1000元的销售员编号、姓名和销售额 --17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额--18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数 量和金额 19、查找表中所有姓刘的职工的工号,部门,薪水 20、查找所有定单金额高于20000的所有客户编号 21、统计表中员工的薪水在40000-60000之间的人数 22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

计算机上机操作试题

汇川区教师计算机上机操作试题 (A卷100分钟) 一、Windows基础 在D盘中找到“kaoshi”文件夹,在其中创建一个新文件夹,用自己的中文名为文件夹名命,并在该文件夹中创建一个名为“下载资源”的文件夹。 二、浏览器的运用 (一)资源下载 运用搜索引擎找到一段关于大熊猫的文字(不超过200字)和至少三张大熊猫的图片,将其分别下载后保存到自己创建的“下载资源”文件夹中。 (二)发送电子邮件 用自己的电子邮箱(或QQ邮箱)发送一封关于此次考试内容的邮件到指定邮箱中(邮箱地址由监考人员提供)。邮件中落款必须为参考人真实姓名。 三、Office办公软件的运用 (一)Word: 1、打开Word建立一个新文档,在其中输入以下内容: 教育应该做什么 教育应该做什么?教育要以学生为本,着眼于调动和依靠学生内在的积极性,用我们教育工作者自己燃烧着的火把去点燃广大学生心底的火种,焕发成长的光辉。 2、用艺术字设置标题文字,样式、大小、颜色以美观为宜。 3、将文字内容设置为四号,仿宋体,蓝色,首行缩进2字符,行距为固定值23磅。 4、在文稿下插入一个表格,列宽调整至与下表大致相同。将标题文字、正文内容复制到相应表格中,并根据文稿内容部分填写其他相关内容。 5、完成后保存到D盘“kaoshi”文件夹中自己的文件夹中。

(二)Excel 1、按下表格式创建表格,表格各行高为20,列宽为10。 2、按下表内容制表,用公式统计各同学总成绩并降序排序,然后统计各科的平均成绩; 3、将标题行合并居中,字体设置为黑体16号加粗;内容字体为宋体、10号; 4、按下表样式设置边框,将总成绩列和平均成绩行的底色设置为浅蓝色。 成绩统计表 4、完成后将该文件命名为“成绩统计表”并保存到D盘“kaoshi”文件夹中自己的文件夹中。 (三)PowerPoint 1、打开PowerPoint,在第一张幻灯片中添加标题为“教学课件”,背景设置为红色,标题字体为隶书,字号96号,加粗,斜体,阴影;副标题添加为所在学校名和自己的姓名。 2、添加第二张新幻灯片,在幻灯片设计里选择任意一款设置为背景,在其中插入一个文本框,将“下载资源”文件夹中下载的文字复制后粘贴到文本框中,并调整字号、颜色,以美观为宜。 3、添加第三张新幻灯片,自行设置背景。将下载的大熊猫的图片插入,自行调整图片大小至美观。 4、将三张图片分别用自定义动画功能设置为: a.第一张:飞入——自左侧、中速; b.第二张:强调——放大/缩小; c.第三张:退出——到右侧、缓慢移出。 5、完成后保存到D盘“kaoshi”文件夹中自己的文件夹中。

数值分析上机题目详解

第一章 一、题目 设∑ =-= N N j S 2 j 2 1 1,其精确值为)11 123(21+--N N 。 1) 编制按从大到小的顺序1 1 13112122 2-+??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn (N=%d)\n',N); fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2); disp('____________________________________________________')

三、结果 从结果可以看出有效位数是6位。 感想:可以得出,算法对误差的传播有一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数所得到的结果才比较准确。

C++上机考试题库答案

第1套题解析 题目一:基本操作题 【参考答案】 (1)delete [] array; (2)cout<< array[i]<< ' '; (3)MyClass obj(10); 【考点分析】 本题考查MyClass类,其中涉及构造函数、析构函数、输出语句、动态数组、语句初始化。一般考到类时就会涉及构造函数,要注意构造函数的定义方法。析构函数就是考查delete语句的用法, 其一般形式为: delete []+要释放的指针。 【解题思路】 (1)语法错误,使用delete语句删除一个指针时,直接把指针变量的名称放在delete [] 后面即可。 (2) 考查考生对输入、输出语句的运用。使用cout进行数据输出操作,一般格式为:cout<>vari。其中,var是代表一个变量,">>"称为提取运算符,该语句的含义是,将用户输入的数据保存到var中。 (3) 考查语句的初始化,我们来看MyClass类的构造函数: MyClass(int len) { array = new int[len]; arraySize = len; for(int i = 0; i < arraySize; i++) array[i] = i+1; } 注意形参len没有定义默认值,因此要想使array动态数组里依次存放1,2,3,4,5,6,7,8,9,10,就是要给len赋值为10。 【解题宝典】 delete语句是最常考的知识点,用于释放指针变量,其一般形式为:delete[]+要释放的指针。 题目二:简单应用题 【参考答案】 (1) a[num] = e; (2) Array(s) (3) a[j] = a[j - 1]; (4) a[i] = e; 【考点分析】 本题考查数组类Array以及Array的派生类SortedArray,其知识点涉及构造函数、析构函数、虚函数、动态数组。考到函数时,首先要看函数名,通过函数名称能大概知道该函数的功能,比如Array 类中的virtual void add(int e) 函数,看到这个函数我们能得到如下信息: 1) 有关键字virtual,说明该函数是虚函数,在Array类的派生类里肯定会有对add函数的定义。 2) 有关键字void,说明此函数没有返回值。 3) add的意思是添加,它的形参是int e,那么我们大概可以猜到该函数的功能是把整型数值e添加 到数组a中。 【解题思路】 (1) 考查的是虚函数virtual void add(int e)的定义,即添加一个整型数已到a[num] 中。 (2) 主要考查的是Array类的派生类SortedArray类的构造函数的定义,定义之前要对基础类初始化。 (3) 因为SortedArray类是排序类,所以数组a中的元素是要从小到大排序的。在if (e < a[i])条件下,

数值分析上机题目

数值分析上机题目 1、 分别用不动点迭代与Newton 法求解方程250x x e -+=的正根与负根。 2、 Use each of the following methods to find a solution in [0.1,1] accurate to within 10^-4 for 4326005502002010x x x x -+--= a. Bisection method b. Newton’s method c. Secant method d. Method of False Position e. Muller’s method 3、 应用Newton 法求f (x )的零点,e=10^-6,这里f (x )=x-sin (x )。 再用求重根的两种方法求f (x )的零点。 4、 应用Newton 法求f (x )的零点,e=10^-6,f(x)=x-sin(x) 再用Steffensen’s method 加速其收敛。 5、 用Neville’s 迭代差值算法,对于函数2 1 (),11125f x x x = -≤≤+进行lagrange 插值。取不同的等分数n=5,10,将区间[-1,1]n 等分,取等距节点。把f(x)和插值多项式的曲线画在同一张图上进行比较。 6、 画狗的轮廓图 7、 Use Romberg integration to compute the following approximations to ? a 、 Determine R1,1,R2,1,R3,1,R4,1and R5,1,and use these approximations to predict the value of the integral. b 、 Determine R2,2 ,R3,3 ,R4,4 ,and R5,5,and modify your prediction. c 、 Determine R6,1 ,R6,2 ,R6,3 ,R6,4 ,R6,5 and R6,6,and modify your prediction.

2017计算机基础上机测试题

2017计算机基础上机测试题 2017计算机基础上机测试题 一、Windows操作测试题(共5分) 在D盘建立以自己姓名+学号命名的文件夹(例如:张三同学的是:123456。张三同学的文件夹名称是:张三123456),在该文件夹内分别建立word、excel和ppt三个文件。(5分) 二、以自己姓名+学号命名的文件夹中建立文件名为"Myname.DOC";的WORD文件(例如:张三同学的word文件名称是:张三.doc),键入如下内容到文档中并完成以下排版。(共30分) 计算机安全监察 第六条规定:"公安部主管全国计算机信息系统安全保护工作。";并以第十七条、第十八条和第十九条规定了公安机关行使计算机安全监察的职权。 一. 计算机信息系统的安全监督检查的总体目标 总体目标是:初步建立与社会主义市场经济相适应的计算机信息系统安全保护体制,形成健康、规范的管理秩序。建成以条例为主体,以各项安全管理办法和地方性法规为基础的国家计算机安全保护的法治保障体系,实现有法可依,依法管理,严格监督。 二. 计算机安全监察工作指导方针 (一) 服从、服务于经济建设中心 (二) 健全公安计算机安全监察工作机制 (6分) (要求)

(1)将文档的标题设为蓝色、小二号黑体字、居中。(6分) (2) 将第一段的文字设为仿宋、小四号字体,颜色设为红色;字符间距设为"加宽2磅值";;该段落右缩进3 字符,首行缩进2 字符;段落间距设为"段落前0.5行、段落后设为0.5行";;行间距设为1.5倍行距。(6分) (3)将第三段设为"特殊格式:悬挂缩进4个字符";;对齐方式为"两端对齐"; 行间距为30磅值;文字设为五号、深绿色、加粗、倾斜的隶书字; (6分) (4)在本篇文档中插入页眉,其中页眉的内容为你所在的'系别、班级、学号和姓名,且居中; (6分) 三、POWERPOINT演示文稿(共25分) 1:在以自己姓名+学号命名的文件夹中根据自己所学专业的特点,应用等方面建立名为xxx.ppt演示文稿文件(例如:张三同学的ppt文件名称是:张三.Ppt)。(5分) 2:其中共包含三张幻灯片。要求第一张幻灯片为标题幻灯片,输入所学专业名称,你个人基本信息(班级,学号,姓名)。其它内容以及幻灯片的背景、格式等自定。(5分) 3:第二张幻灯片介绍你所学专业特点,第三张幻灯片包含你所学专业的基本应用方向和应用领域。(5分) 4:第二,第三张幻灯片应包含图片(艺术字)等相关对象。并设置动画效果。(5分) 5:要求标题文本框"从中部向左右";展开;幻灯片切换效果为中速"水平百叶窗";。(5分) 四、EXCEL电子表格(共30分) 在以自己姓名+学号命名的文件夹中建立一个Excel工作簿,文件名为"myname.xls"; (例如:张三同学的execl文件名称是:张三.xls),其中包含两个工作表,分别命名为:信息表、成绩表。按下列要求进行练习: 1:在"成绩表";中建立如图所示"学生成绩表";,其中标题设置为20磅红色华文行楷。在"信息表";中建立如图所示《学生信息表》(6分)

数值计算方法I上机实验考试题

数值计算方法I 上机实验考试题(两题任选一题) 1.小型火箭初始质量为900千克,其中包括600千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生30000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数为0.4(千克/米).重力加速度取9.8米/秒2. A. 建立火箭升空过程的数学模型(微分方程); B. 求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时间和高度. 2.小型火箭初始质量为1200千克,其中包括900千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生40000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数记作k ,火箭升空过程的数学模型为 0)0(,0,01222==≤≤-+?? ? ??-==t dt dx x t t mg T dt dx k dt x d m 其中)(t x 为火箭在时刻t 的高度,m =1200-15t 为火箭在时刻t 的质量,T (=30000牛顿)为推力,g (=9.8米/秒2)为重力加速度, t 1 (=900/15=60秒)为引擎关闭时刻. 今测得一组数据如下(t ~时间(秒),x ~高度(米),v ~速度(米/秒)): 现有两种估计比例系数k 的方法: 1.用每一个数据(t,x,v )计算一个k 的估计值(共11个),再用它们来估计k 。 2.用这组数据拟合一个k . 请你分别用这两种方法给出k 的估计值,对方法进行评价,并且回答,能否认为空气阻力系数k=0.5(说明理由).

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

计算机office办公软件上机操作试题(一)

计算机office办公软件上机操作试题 一、Word编辑: 按照如下要求对下面这段文字进行编辑: 春秋时期,吴越两国相邻,经常打仗,有次吴王领兵攻打越国,被越王勾践的大将灵姑浮砍中了右脚,最后伤重而亡。吴王死后,他的儿子夫差继位。三年以后,夫差带兵前去攻打越国,以报杀父之仇。 公元前497年,两国在夫椒交战,吴国大获全胜,越王勾践被迫退居到会稽。吴王派兵追击,把勾践围困在会稽山上,情况非常危急。此时,勾践听从了大夫文种的计策,准备了一些金银财宝和几个美女,派人偷偷地送给吴国太宰,并通过太宰向吴王求情,吴王最后答应了越王勾践的求和。但是吴国的伍子胥认为不能与越国讲和,否则无异于放虎归山,可是吴王不听。 越王勾践投降后,便和妻子一起前往吴国,他们夫妻俩住在夫差父亲墓旁的石屋里,做看守坟墓和养马的事情。夫差每次出游,勾践总是拿着马鞭,恭恭敬敬地跟在后面。后来吴王夫差有病,勾践为了表明他对夫差的忠心,竟亲自去尝夫差大便的味道,以便来判断夫差病愈的日期。夫差病好的日期恰好与勾践预测的相合,夫差认为勾践对他敬爱忠诚,于是就把勾践夫妇放回越国。越王勾践他回国以后,立志要报仇雪恨。为了不忘国耻,他睡觉就卧在柴薪之上,坐卧的地方挂着苦胆,表示不忘国耻,不忘艰苦。经过十年的积聚,越国终于由弱国变成强国,最后打败了吴国,吴王羞愧自杀。 ——源于《史记专项王勾践世家》 (1)为全文添加标题,标题文字为“卧薪尝胆”(不包括引号),并设置为华文行楷,一号,加粗,具有“礼花绽放”的动态效果,标题文字“居 中”对齐; (2)除标题外的文字设置为宋体,小四,1.5倍行距; (3)将全文中所有的“越王勾践”(不包括引号),设置为粗体、蓝色;(4)为页眉、页脚添加文字“中国成语故事——卧薪尝胆”,字体均设置为宋体、五号、加粗、居中; (5)除标题外的正文进行“分栏”,栏数为2; (6)插入如下图片,选择合适大小(参考高度为5厘米),版式为“四周型”;

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

计算机二级c++上机考试题库

所属语言:C++ 试卷总分:200分 共有题型:5种 一、填空共20题(共计20分) 第1题(1.0分) 假设变量a,b均为整型,表达式 (a=5,b=2,a>b?a++:b++,a+b) 的值是【1】. 答案: =======(答案1)======= 8 第2题(1.0分) 若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最大的元素的下标值是【1】. 答案: =======(答案1)======= 2 第3题(1.0分) 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%o\n",a);

答案: =======(答案1)======= 14 第4题(1.0分) 若输入字符串:abcde<回车>,则以下while循环体将执行【1】次. While((ch=getchar())=='e') printf("*"); 答案: =======(答案1)======= 第5题(1.0分) 将数组a的首地址赋给指针变量p的语句是【1】. 答案: =======(答案1)======= p=a; 第6题(1.0分) C语言把文件看作是一个【1】的序列. 答案: =======(答案1)======= 字符 =========或=========

字节 第7题(1.0分) 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: =======(答案1)======= 编译 =======(答案2)======= 函数调用 第8题(1.0分) 若有定义:int a[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是【1】. 答案: =======(答案1)======= 8

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

计算机技能高考上机练习题

湖北省普通高等学校招收中职毕业生技能高考模拟试题(一) 计算机类 二、操作题 1.中英文字录入(30分) 7的基本操作(60分) 第1题(分) -------------------------------------------------------------------- 请在打开的窗口中,进行下列操作,完成所有操作后,请关闭窗口。 --------------------------------------------------------------------- 1、在考生文件夹下新建名为files,pictures,test三个文件夹。 2、在files文件夹下新建名为、mydoc$、weme!三个文件;并将mydoc$设置为隐藏文件。 3、在test文件夹下新建名为document的文件夹,将weme!移动到该文件夹下,并设置以windows XP(Sp3)兼容模式运行,以管理员身份运行。 第2题(分) --------------------------------------------------------------------- 请在打开的窗口中,进行下列操作,完成所有操作后,请关闭窗口。 --------------------------------------------------------------------- 1、在考生文件夹下为C:\Windows\System32\程序新建名为“我是谁”的快捷方式。 2、在c:\windows下搜索文件,将找到的该文件复制到题1的test文件夹下。 第3题(分) --------------------------------------------------------------------- 请在打开的窗口中,进行下列操作,完成所有操作后,请关闭窗口。 --------------------------------------------------------------------- 1、任务栏外观设置为“使用小图标” 2、自动隐藏任务栏 3、在[开始]菜单中,设置“存储并显示最近在[开始]菜单中打开的程序” 第4题(分)

数值计算方法上机实习题

数值计算方法上机实习题 1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+ -=-,从I 0=0.1824, 0=0.1823I 出发,计算20I ; (2) 20=0I ,20=10000I , 用n I I n n 51 5111+- =--,计算0I ; (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 答:第一个算法可得出 e 0=|I 0?I 0 ?| e n =|I n ?I n ?|=5n |e 0| 易知第一个算法每一步计算都把误差放大了5倍,n 次计算后更是放大了5n 倍,可靠性低。 第二个算法可得出 e n =|I n ?I n ?| e 0=(15 )n |e n | 可以看出第二个算法每一步计算就把误差缩小5倍,n 次后缩小了5n 倍,可靠性高。

2. 求方程0210=-+x e x 的近似根,要求41105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 计算根与步数程序: fplot(@(x) exp(x)+10*x-2,[0,1]); grid on; syms x; f=exp(x)+10*x-2; [root,n]=EFF3(f,0,1); fprintf('root=%6.8f ,n=%d \n',root,n); 计算结果显示: root=0.09057617 ,n=11 (2) 取初值00=x ,并用迭代10 21 x k e x -=+;

(3) 加速迭代的结果; (4) 取初值00 x ,并用牛顿迭代法;

数值分析上机题参考答案.docx

如有帮助欢迎下载支持 数值分析上机题 姓名:陈作添 学号: 040816 习题 1 20.(上机题)舍入误差与有效数 N 1 1 3 1 1 设 S N ,其精确值为 。 2 2 2 N N 1 j 2 j 1 (1)编制按从大到小的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 32 1 N 2 1 N 2 2 (2)编制按从小到大的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 (N 1)2 1 22 1 N N 2 (3)按两种顺序分别计算 S 102 , S 104 , S 106 ,并指出有效位数。 (编制程序时用单精度) (4)通过本上机题,你明白了什么? 按从大到小的顺序计算 S N 的通用程序为: 按从小到大的顺序计算 S N 的通用程序为: #include #include float sum(float N) float sum(float N) { { float j,s,sum=0; float j,s,sum=0; for(j=2;j<=N;j++) for(j=N;j>=2;j--) { { s=1/(j*j-1); s=1/(j*j-1); sum+=s; sum+=s; } } return sum; return sum; } } 从大到小的顺序的值 从小到大的顺序的值 精确值 有效位数 从大到小 从小到大 0.740049 0.74005 0.740049 6 5 S 102 0.749852 0.7499 0.7499 4 4 S 104 0.749852 0.749999 0.749999 3 6 S 106 通过本上机题, 看出按两种不同的顺序计算的结果是不相同的, 按从大到小的顺序计算 的值与精确值有较大的误差, 而按从小到大的顺序计算的值与精确值吻合。 从大到小的顺序 计算得到的结果的有效位数少。 计算机在进行数值计算时会出现“大数吃小数”的现象,导 致计算结果的精度有所降低, 我们在计算机中进行同号数的加法时, 采用绝对值较小者先加 的算法,其结果的相对误差较小。

计算机上机操作试题

计算机操作系统考试题 1Windows操作(共26分) 1.在根目录下创建C:\KS文件夹,在\KS之下创建名为ax、ay二个文件夹,在C: \KS\ax中建立az文件夹。(4分) 2.在C:\KS文件夹下创建一个名为st.txt的文本文件,文本内容为:网络文化; 在C:\KS\ax文件夹中建立名为"Notebook"的快捷方式,指向文件 C:\Windows\system32\notepad.exe。(4分) 3.将Windows下的"录音机"窗口,以单色位图格式保存为C:\KS\record.bmp。(4分)4.如果希望在资源管理器能够查看硬盘某个文件夹的所有文件及其扩展名(包含系统文件、隐藏文件),请说出具体设置的步骤,并将操作界面截屏,一起放在WORD操作题的最后。(10分) 5.所有操作完成之后,将C:\KS文件夹整体压缩成为一个文件,以自己姓名为压缩文件名,上交到考试文件夹。(4分) 二、WORD操作题(共32分) 1.新建word文档,输入下列【Word样张】的内容,将结果以考号(座位号)为名另存在C:\KS文件夹中。(10分) 2.使用文本框设置标题为宋体、一号、字间距加宽到3磅,分散对齐,并加"白色大理石"

填充效果;最后一段设置为橙色、3磅、双线、带阴影边框。(4分) 3.将正文中所有段落首行缩进2字符、两端对齐、段前间距为0.3行;第二段分为等宽二栏并添加分割线;将正文前二段中所有的"日"的字体设置为红色、粗斜体。(4分)4.按样张插入图片C:\KS\hb8.jpg,高、宽均缩小为13%,添加红色、点划线的边框,图文混排;(4分) 5.文末插入公式。(4分) 6.在页眉插入“计算机上机操作试题2020-04-13”,小五号字,日期是域。(4分)7.将文件保存在C:\KS\文件夹,“网页”格式,文件名不变。(2分) 二、EXCEL操作题(共24分) 1. 在sheet1中输入样表。(4分) 2. 在A9单元格中输入合计,把A9:C9单元格合并及居中。(3分) 3. 必须利用公式计算应发(应发=技能+岗位+补贴+奖金)、实发(实发=应发-扣款),利 用函数计算各项合计工资。(3分) 4. 选择工号栏设置为文本,选中实发、合计栏设置货币样式、保留两位小数(2分)。

相关文档
最新文档