矩阵与数值分析上机实习题汇总Word下载.docx

上传人:b****6 文档编号:18944877 上传时间:2023-01-02 格式:DOCX 页数:53 大小:141.19KB
下载 相关 举报
矩阵与数值分析上机实习题汇总Word下载.docx_第1页
第1页 / 共53页
矩阵与数值分析上机实习题汇总Word下载.docx_第2页
第2页 / 共53页
矩阵与数值分析上机实习题汇总Word下载.docx_第3页
第3页 / 共53页
矩阵与数值分析上机实习题汇总Word下载.docx_第4页
第4页 / 共53页
矩阵与数值分析上机实习题汇总Word下载.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

矩阵与数值分析上机实习题汇总Word下载.docx

《矩阵与数值分析上机实习题汇总Word下载.docx》由会员分享,可在线阅读,更多相关《矩阵与数值分析上机实习题汇总Word下载.docx(53页珍藏版)》请在冰豆网上搜索。

矩阵与数值分析上机实习题汇总Word下载.docx

结果

=2)10^2

N=

100

7.4005e-001

>

clear

=2)10^4

10000

7.4990e-001

=2)10^6

1000000

7.5000e-001

从大到小

eps('

single'

forj=N:

-1:

2

ans=

1.1921e-007

(4)计算的顺序影响结果。

2.秦九韶算法。

已知n次多项式

,用秦九韶算法编写通用的程序计算函数在

点的值,并计算

点的值.

(提示:

编写程序时,输入系数向量和点

,输出结果,多项式的次数可以通过向量的长度来判断)

A=input('

请输入系数,由高次幂开始'

);

n=input('

请输入计算变量的值'

len=length(A);

val=zeros(len);

val

(1)=A

(1);

%%printf('

len=%c'

len)

fori=2:

1:

len

%disp(val(i-1))

%disp(n)

val(i)=val(i-1)*n+val(i);

%printf('

¼

Æ

Ë

ã

½

á

¹

û

£

º

%f'

val(len))

val(len)

结果:

请输入系数,由高次幂开始[73-511]

请输入计算变量的值23

85169

3.分别用Gauss消元法和列主元消去法编程求解方程组Ax=b,其中

高斯消去法代码:

A=[31-13000-10000

-1335-90-110000

0-931-1000000

00-1079-30000-9

000-3057-70-50

0000-747-3000

00000-304100

0000-50027-2

000-9000-229

];

B=[-15,27,23,0,-20,12,-7,7,10];

B=B.'

;

%disp(A)

%disp(B)

C=[A,B];

n=size(A,1);

ra=rank(A);

rc=rank(C);

x=zeros(1,n);

ifra~=rc

nosolution'

fori=1:

(n-1)

forj=i+1:

n

temp=(-C(j,i))/C(i,i);

fork=i:

(n+1)

C(j,k)=C(i,k)*temp+C(j,k);

fori=n:

1

ifi==n

disp(C(i,(n+1)))

disp(C(i,(n+1))-sum(C(i,(i+1):

n).*x((i+1):

n)))

disp(C(i,i))

x(i)=(C(i,(n+1))-sum(C(i,(i+1):

n)))/C(i,i);

disp('

solution'

disp(x)

-2.2051e-0029.4726e-0011.0410e+0007.4481e-002-2.6617e-0012.0020e-001-2.4242e-0022.3844e-0013.8439e-001

列主元消去法代码:

%t4---max%

%makemaxvalueincolintherow%

max=0;

inx=i;

forj=i:

n

if(abs(C(j,i))>

max)

max=abs(C(j,i));

inx=j;

ifinx>

i

swap=C(i,j);

C(i,j)=C(inx,j);

C(inx,j)=swap;

solution

-2.2051e-0029.4726e-0011.0410e+0007.4481e-002-2.6617e-0012.0020e-001-2.4242e-0022.3844e-0013.8439e-001

4.编程求解题3中矩阵

的LU分解及列主元的LU分解(求出L,U和P),并用LU分解的方法求A的逆矩阵及A的行列式

LU分解:

clear

L=eye(n,n);

L(j,i)=-(1*temp);

fori=n:

%disp('

%disp(x)

C'

disp(C)

L'

disp(L)

L

1.0000e+00000000000

-4.1935e-0011.0000e+0000000000

0-3.0459e-0011.0000e+000000000

00-3.5387e-0011.0000e+00000000

000-3.9755e-0011.0000e+0000000

0000-1.5694e-0011.0000e+000000

00000-6.5398e-0011.0000e+00000

0000-1.1210e-001-1.7545e-002-2.4619e-0021.0000e+0000

000-1.1927e-001-8.3391e-002-1.4227e-002-1.9962e-002-9.2316e-0021.0000e+000

U

3.1000e+001-1.3000e+001000-1.0000e+001000

02.9548e+001-9.0000e+0000-1.1000e+001-4.1935e+000000

002.8259e+001-1.0000e+001-3.3504e+000-1.2773e+000000

0007.5461e+001-3.1186e+001-4.5200e-00100-9.0000e+000

00004.4602e+001-7.1797e+0000-5.0000e+000-3.5780e+000

0000-8.8818e-0164.5873e+001-3.0000e+001-7.8472e-001-5.6154e-001

00000-3.5527e-0152.1381e+001-5.1319e-001-3.6724e-001

00000002.6413e+001-2.4200e+000

000000002.7390e+001

LUP分解

代码:

L=

U=

3.1000e+001-1.3000e+001000-1.0000e+001000

000004.5873e+001-3.0000e+001-7.8472e-001-5.6154e-001

0000002.1381e+001-5.1319e-001-3.6724e-001

P=

100000000

010000000

001000000

000100000

000010000

000001000

000000100

000000010

000000001

求A的逆矩阵:

通过LU分解获得LU,LUX=I,LY=I,UX=Y用高斯下去法解得Y和X

fori=1:

[RA,RB,n,X]=gaus(L,I(1:

n,i));

Y(1:

n,i)=X;

[RA,RB,n,X]=gaus(U,Y(1:

A_(1:

A_

3.8952e-0021.5961e-0025.8083e-0033.6407e-0037.2823e-0031.7585e-0021.2867e-0021.4396e-0031.2292e-003

1.5863e-0023.7828e-0021.3083e-0026.5129e-0031.2133e-0029.7237e-0037.1149e-0032.4090e-0032.1874e-003

4.8698e-0031.1613e-0023.8126e-0027.7386e-0036.9188e-0033.8776e-0032.8373e-0031.4666e-0032.5028e-003

8.1938e-0041.9539e-0036.4150e-0031.8128e-0021.0528e-0023.2693e-0032.3922e-0032.3786e-0035.7899e-003

4.5601e-0041.0874e-0033.5701e-0031.0089e-0022.4339e-0026.9837e-0035.1100e-0034.7635e-0033.4595e-003

1.2743e-0043.0388e-0049.9769e-0042.8193e-0036.8017e-0034.1874e-0023.0639e-0021.3312e-0039.6677e-004

9.3244e-0052.2235e-0047.3002e-0042.0629e-0034.9768e-0033.0639e-0024.6809e-0029.7403e-0047.0739e-004

1.0381e-0042.4755e-0048.1276e-0042.2967e-0034.7736e-0031.3755e-0031.0064e-0033.8169e-0023.3451e-003

2.6145e-0046.2346e-0042.0469e-0035.7843e-0033.5966e-0031.1095e-0038.1180e-0043.3705e-0033.6510e-002

|A|=|U|=6.1817e+013

5.编制程序求解矩阵A的cholesky分解,并用程序求解方程组Ax=b,其中

%5--choleky%

A=[21-51

1-507

021-1

16-1-4

B=[13,-9,6,0];

dim=size(A,1);

L=zeros(dim,dim);

y=[]

x=zeros(dim,1);

dim

forj=1:

dim

ifi>

=(j+1)

L(i,j)=(A(i,j)-sum(L(i,1:

(j-1)).*L(j,1:

(j-1))))/L(j,j);

else

L(j,j)=sqrt(A(j,j)-sum(L(j,1:

j-1).*L(j,1:

j-1)));

L_T=L.'

ifi==1

y

(1)=B

(1)/L(1,1);

y(i)=(B(i)-sum(L(i,1:

(i-1)).*y(1:

(i-1))))/L(i,i);

fori=dim:

1

ifi==dim

x(i)=y(i)/L(i,i);

x(i)=(y(i)-sum(L((i+1):

dim,i).*x((i+1):

dim)))/L(i,i);

%disp('

(((((((('

%disp(x(i))

x'

x

52.2500

-38.7500

30.7500

-52.7500

6.用追赶法编制程序求解方程组Ax=b,其中

%t6----×

·

¸

Ï

¨

%

A=[4200

3-210

0253

00-16

B=[62105];

c=zeros(1,(dim-1));

a=zeros(1,dim);

b=zeros(1,dim);

f=zeros(dim,1);

y=zeros(dim,1);

%computationformatrixLandU

c

(1)=A(1,2);

b

(1)=A(1,1);

(dim-1)

c(i)=A(i,(i+1));

a(i)=A(i,(i-1))/b(i-1);

b(i)=A(i,i)-a(i)*A((i-1),i);

a(dim)=A(dim,(dim-1))/b(dim-1);

b(dim)=A(dim,dim)-a(dim)*A((dim-1),dim);

%endofcomputationLandU

%Ax=fA=LULUx=f

%Ly=f

y

(1)=B

(1);

fori=2:

y(i)=B(i)-a(i)*y(i-1);

y'

disp(y)

%endofLy=f

f(dim)=y(dim)/b(dim);

fori=(dim-1):

f(i)=(y(i)-A(i,(i+1))*f(i+1))/b(i);

end

f'

disp(f)

%Yx=f

%endofUx=y

%%disp('

c'

%%disp(c)

a'

%disp(a)

b'

%disp(b)

%disp(f)

f

1

7.已知

编程求解矩阵A的QR分解;

代码

function[Q,R]=qrhouseholder(A)

dim=size(A,1);

R=A;

Q=eye(dim);

fori=1:

(dim-1)

x=R(i:

dim,i);

y=[1;

zeros(dim-i,1)];

Ht=householder(x,y);

H=blkdiag(eye(i-1),Ht);

Q=Q*H;

R=H*R;

function[H,rho]=householder(x,y)

x=x(:

y=y(:

iflength(x)~=length(y)

error('

TheColumnVector

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

当前位置:首页 > 医药卫生 > 药学

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

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