format longg;
A=[1.1348,3.8326,1.1651,3.4017;
0.5301,1.7875,2.5330,1.5435;
3.4129,4.9317,8.7643,1.3142;
1.2371,4.9998,10.6721,0.0147;];
b=[9.5342;6.3941;18.4231;16.9237;];
L=zeros(4,4);
U=zeros(4,4);
U(1,:)=A(1,:); %U第一行
L(:,1)=A(:,1)/U(1,1);%L第一列
for i=1:4 %L对角单位化
L(i,i)=1;
end
sumU=0;%以下是求U的剩余位置元素
for r=2:4
for i=r:4
for k=1:r-1
sumU=sumU+L(r,k)*U(k,i);
end
U(r,i)=A(r,i)-sumU;
sumU=0;
end
end
sumL=0;%以下是求L的剩余位置元素
for r=2:4
for i=r+1:4
for k=1:r-1
sumL=sumL+L(i,k)*U(k,r);
end
L(i,r)=(A(i,r)-sumL)/U(r,r);
sumL=0;
end
end
disp(roundn(L,-4));%保留四位小数并显示
disp(roundn(U,-4));
%求解y
Y=zeros(4,1);
x=zeros(4,1);
Y(1)=b(1);
sumY=0;
Y(1)=b(1); %求x4
for m=2:4 %求x1~3
Y(m)=(b(m,1)-Y(4)*L(m,4)-Y(3)*L(m,3)-Y(2)*L(m,2)-Y(1)*L(m,1))/L(m,m);%未计算出的是零,代入不影响,简化求x
end
x(4)=Y(4)/U(4,4); %求x4
for m=3:-1:1 %求x1~3
x(m,1)=(Y(m,1)-x(4)*U(m,4)-x(3)*U(m,3)-x(2)*U(m,2)-x(1)*U(m,1))/U(m,m);%未计算出的是零,代入不影响,简化求x
end
disp(Y);
disp(x);
怎么改(゚o゚;
