MATLAB程序设计:杜立特尔三角分解法求线性方程组

  function [L,U]=LU(a)
    %Doolittle三角分解法
[m,n]=size(a);
if m~=n
    error('输入m的值应与n相同')
end
L=eye(n,n);
%单位下三角阵
U=zeros(n,n);
U(1,:)=a(1,:);
L(:,1)=a(:,1)/U(1,1);
for k=2:n
    U(k,k:n)=a(k,k:n)-L(k,1:k-1)*U(1:k-1,k:n);
    %计算U的第k行元素
    L(k:n,k)=(a(k:n,k)-L(k:n,1:k-1)*U(1:k-1,k))/U(k,k);

你可能感兴趣的:(matlab,开发语言)