liegauss.m
来自「1、 写出此两点边值问题的积分形式; 2、 构造有限元方程; 3、 编程计算」· M 代码 · 共 36 行
M
36 行
function [L,U,P]=liegauss(A)
L=[];
U=[];
n=length(A(:,1));
P=eye(n);
for k=1:n-1
q=0;
m=0;
v=[];
q=A(k,k);
for i=k:n
if q<A(i,k)
q=A(i,k);
m=i;
end
end
v(1:n)=A(k,1:n);
A(k,1:n)=A(m,1:n);
A(m,1:n)=v(1:n);
v(1:n)=P(k,1:n);
P(k,1:n)=P(m,1:n);
P(m,1:n)=v(1:n);
if A(k,k)~=0
A(k+1:n,k)=A(k+1:n,k)/A(k,k);
A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n);
else
'奇异矩阵'
end
end
L=tril(A);
U=triu(A);
for i=1:n
L(i,i)=1;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?