实验3_非线性方程AX=0的解法 下载本文

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

9

P93.3 算法:

(1) 令X=zeros(8,3);X([5:8,11,12,15,16,18,20,22,24])=1;d=[1 2 4 3 1 5 6 8 7 5 6 2 4 8 7 3]; i=0。 (2) 判断i>100是否成立,若成立,执行步骤(3);若不成立, r1=[1 0 0;0 cos(i*pi/1200) -sin(i*pi/1200) ;0 sin(i*pi/1200) cos(i*pi/1200)];;U=X*r1';plot3(U(d,1),U(d,2),U(d,3));drawnow,i=i+1,返回步骤(2).\\ (3) i=0.

(4) 判断i>100是否成立,若成立,执行步骤(4);若不成立,r2=[cos(i*pi/600) -sin(i*pi/600) 0;sin(i*pi/600) cos(i*pi/600) 0;0 0 1]; W=U*r2'plot3(W(d,1),W(d,2),W(d,3));drawnow,i=i+1,返回步骤(3). (5) i=0.

(6) 判断i>100是否成立,若成立,执行步骤(7);若不成立,r3=[1 0 0;0 cos(i*2.7/100) -sin(i*2.7/100) ;0 sin(i*2.7/100) cos(i*2.7/100)];T=W*r3';

plot3(T(d,1),T(d,2),T(d,3));drawnow,i=i+1,返回步骤(6)

(7) subplot(2,2,1);plot3(X(d,1),X(d,2),X(d,3))subplot(2,2,2);plot3(U(d,1),U(d,2),U(d,3));subplot(2,2,3); plot3(W(d,1),W(d,2),W(d,3)); subplot(2,2,4);plot3(T(d,1),T(d,2),T(d,3)); ylabel('y');zlabel('z');view(3); rotate3d。

xlabel('x');

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

start X=zeros(8,3);X([5:8,11,12,15,16,18,20,22,24])=1;d=[1 2 4 3 1 5 6 8 7 5 6 2 4 8 7 3]; i=0 i=i+1 i>100 N Y r1=[1,0,0;0,cos(i*pi/1200),-sin(i*pi/1200);0,sin(i*pi/1200),cos(i*N pi/1200)];U=X*r1';plot3(U(d,1),U(d,2),U(d,3));drawnow i=0. i=i+1 i>100 N r2=[cos(i*pi/600),-sin(i*pi/600,0;sin(i*pi/600),cos(i*pi/600),0;0 ,0,1];W=U*r2';plot3(W(d,1),W(d,2),W(d,3));drawnow N Y i=0. i=i+1 i>100 N Y r2=[cos(i*pi/600),-sin(i*pi/600,0;sin(i*pi/600),cos(i*pi/600),0;0 ,0,1];W=U*r2';plot3(W(d,1),W(d,2),W(d,3));drawnow subplot(2,2,1);plot3(X(d,1),X(d,2),X(d,3))subplot(2,2,2);plot3(U(d,1),U(d,2),U(d,3));subplot(2,2,3); plot3(W(d,1),W(d,2),W(d,3)); subplot(2,2,4);plot3(T(d,1),T(d,2),T(d,3));xlabel('x');ylabel('y');zlabel('z');view(3); rotate3d output end

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

11

10.5010.5000.510-110.50-101110-120-200.110-110y-10x0.1z0.20.2

图1.1(左上) 正四面体 图1.2 (右上)第一次旋转 图3.3 (左下)第二次旋转 图3.4 (右下)第4次旋转 X Y Z 0 0 0 表3.1 四面体坐标 1 0 0 0 1 0 0 0 1

表3.2 第一次旋转后坐标

X Y Z 0 0 0 0.9888 0 -0.1494 0 1.0000 0 0.1494 0 0.9888 X Y Z 0 0 0 表3.3 第二次旋转后坐标 0.0699 0.9975 -0.9863 0.0707 -0.1494 0 0.0106 -0.1491 0.9888 《数值计算方法》实验报告 12

表3.4 第三次旋转后坐标

X Y Z 0 0 0 0.0699 0.9555 -0.2864 0.9975 -0.0640 0.0302 0.0106 -0.2878 -0.9576

P108.1

算法:

(1)输入A,B,P,delta,max1,令N=length(B); k=1.

(2)判断 k>max1是否成立,若成立,输出结果;若不成立,执行步骤(3)。 (3)令j=1,判断j>N是否成立,若成立执行步骤(6);若不成立,执行步骤(4)。 (4)判断 j==1是否成立,若成立,X(1)=(B(1)-A(1,2)*P(2))/A(1,1),j=j+1,

执行步骤(3);若不成立,v 执行步骤(5)。

(5)判断 j==N是否成立,若成立,X(N)=(B(N)-A(N,N-1)*(X(N-1))')/A(N,N),j=j+1,

执行步骤(3);若不成立,X(j)=(B(j)-A(j,j-1)*X(j-1)'-A(j,j+1)*P(j+1))/A(j,j),j=j+1,执行步骤(3)。

(6)令err=abs(norm(X'-P)); relerr=err/(norm(X)+eps);P=X';

(7)判断(err

行步骤(2).

流程图 :