Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
6
Task/LU-decomposition/MATLAB/lu-decomposition-1.m
Normal file
6
Task/LU-decomposition/MATLAB/lu-decomposition-1.m
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
A = [
|
||||
1 3 5
|
||||
2 4 7
|
||||
1 1 0];
|
||||
|
||||
[L,U,P] = lu(A)
|
||||
7
Task/LU-decomposition/MATLAB/lu-decomposition-2.m
Normal file
7
Task/LU-decomposition/MATLAB/lu-decomposition-2.m
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
A = [
|
||||
11 9 24 2
|
||||
1 5 2 6
|
||||
3 17 18 1
|
||||
2 5 7 1 ];
|
||||
|
||||
[L,U,P] = lu(A)
|
||||
56
Task/LU-decomposition/MATLAB/lu-decomposition-3.m
Normal file
56
Task/LU-decomposition/MATLAB/lu-decomposition-3.m
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
function [ P, L, U ] = LUdecomposition(A)
|
||||
|
||||
% Ensures A is n by n
|
||||
sz = size(A);
|
||||
if sz(1)~=sz(2)
|
||||
fprintf('A is not n by n\n');
|
||||
clear x;
|
||||
return;
|
||||
end
|
||||
|
||||
n = sz(1);
|
||||
L = eye(n);
|
||||
P = eye(n);
|
||||
U = A;
|
||||
|
||||
for i=1:sz(1)
|
||||
|
||||
% Row reducing
|
||||
if U(i,i)==0
|
||||
maximum = max(abs(U(i:end,1)));
|
||||
for k=1:n
|
||||
if maximum == abs(U(k,i))
|
||||
temp = U(1,:);
|
||||
U(1,:) = U(k,:);
|
||||
U(k,:) = temp;
|
||||
|
||||
temp = P(:,1);
|
||||
P(1,:) = P(k,:);
|
||||
P(k,:) = temp;
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if U(i,i)~=1
|
||||
temp = eye(n);
|
||||
temp(i,i)=U(i,i);
|
||||
L = L * temp;
|
||||
U(i,:) = U(i,:)/U(i,i); %Ensures the pivots are 1.
|
||||
end
|
||||
|
||||
if i~=sz(1)
|
||||
|
||||
for j=i+1:length(U)
|
||||
temp = eye(n);
|
||||
temp(j,i) = U(j,i);
|
||||
L = L * temp;
|
||||
U(j,:) = U(j,:)-U(j,i)*U(i,:);
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
P = P';
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue