This commit is contained in:
lda committed 2025-06-05 02:28:28 +00:00
1 parent 366c631d27
commit 3d83509de5
32 files changed
+1258

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
% Modified Gauss Elimination without pivoting
function x = GaussNoPivot(A,b)
[m,n]=size(A);
if m~=n, error('Matrix A must be square'); end
nb=n+1;
Aug=[A b];
for k = 1:n-1
for i = k+1:n
factor=Aug(i,k)/Aug(k,k);
Aug(i,k:nb)=Aug(i,k:nb)-factor*Aug(k,k:nb);
end
end
x=zeros(n,1);
x(n)=Aug(n,nb)/Aug(n,n);
for i = n-1:-1:1
x(i)=(Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
end
end
Binary file not shown.
+18
View File
@@ -0,0 +1,18 @@
function [L, U, P] = mylup(A)
[n,~] = size(A);
C = [A (1:n)'];
for j = 1:n-1
[~, i] = max(abs(C(j:n, j)));
i = i + j - 1;
if i ~= j
C([i j], :) = C([j i], :);
end
for k = j+1:n
C(k, j) = C(k, j)/C(j, j);
C(k, j+1:n) = C(k, j+1:n) - C(k, j)*C(j, j+1:n);
end
end
PP = C(:, end); C = C(:, 1:n);
L = tril(C, -1) + eye(n); U = triu(C);
P = eye(n); P = P(PP, :);
end