⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lu.m

📁 自己编写的matlab程序 数值分析里的程序
💻 M
字号:
clc
A=[1 1 3 1;-2 3 5 1;3 0 4 -2;5 -4 2 6];
b=[3 0 -5 4]';
%LU分解法(先进行LU分解)
[l,u]=lu(A);
x0=u\(l\b)
%LU分解法
x1=A\b

n=length(A);
U(1,:)=A(1,:);% 第1行
L(:,1)=A(:,1)/U(1,1);% 第1列
for i=1:n
    L(i,i)=1;% L的对角线为1
end
for k=2:n
    for j=k:n
        U(k,j)=A(k,j);% 第k行
        for r=1:k-1
            U(k,j)=U(k,j)-L(k,r)*U(r,j);
        end
    end
    if k<n
        for i=k+1:n
            L(i,k)=A(i,k)/U(k,k);% 第k列
            for r=1:k-1
                L(i,k)=L(i,k)-L(i,r)*U(r,k)/U(k,k);
            end
        end
    end
end 
% 计算y(i)
for i=1:n
    y(i)=b(i);
    for j=1:i-1
        y(i)=y(i)-L(i,j)*y(j);
    end
end
% 计算x(i)
for i=n:-1:1
    x(i)=y(i)/U(i,i);
    for j=i+1:n
       x(i)=x(i)- U(i,j)*x(j)/U(i,i);
    end
end
x
y   
U
L
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -