?? dl.m
字號(hào):
%doolittle解值
function [L,U,x]=dl(A,b)
[m,n]=size(A);y=[];x=[];
if m~=n
fprintf('"A"you input must be a juzheng!!\n ');
return;
end
L=eye(n);U=zeros(n);%為L(zhǎng),U生成特定的空間
for k=1:n
z=L(k,1:k-1)*U(1:k-1,k:n);
U(k,k:n)=A(k,k:n)-z;
if abs(U(k,k))<1e-20
fprintf('there is something wrong!!')
return;
end
for i=k+1:n
%z=L(i,1:k-1)*U(1:k-1,k);
%L(i,k)=(A(i,k)-z)/U(k,k);這兩行可以用下面的來(lái)代替
L(i,k)=(A(i,k)-L(i,1:k-1)*U(1:k-1,k))/U(k,k);
end
end
%求解Ly=b
y(1,1)=b(1,1);
for i=2:m
y(i,1)=b(i,1)-L(i,1:i-1)*y(1:i-1,1);
end
%Ux=y
x(m,1)=y(m,1)/U(m,m);
for i=m-1:-1:1
x(i,1)=(y(i,1)-U(i,i+1:m)*x(i+1:m,1))/U(i,i);
end
U,x
%檢驗(yàn) A=[1,2,3;4,5,6;7,8,0];b=[1,1,1]';[L,U,x]=tc_dl(A,b)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -