From 82e6cf7d1046d6cee16f7e8b044ec33e7ec6c4b7 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 16 Feb 2020 14:26:55 +0700 Subject: [usth] Numerical Method is MATH2.4 --- usth/MATH2.2/labwork/3/GaussPivot.m | 25 ------------------------- usth/MATH2.2/labwork/3/LU.m | 10 ---------- usth/MATH2.2/labwork/3/LU_pivot.m | 20 -------------------- usth/MATH2.2/labwork/3/gauss.m | 12 ------------ usth/MATH2.2/labwork/3/labwork3.pdf | Bin 72465 -> 0 bytes usth/MATH2.2/labwork/3/subst.m | 17 ----------------- 6 files changed, 84 deletions(-) delete mode 100644 usth/MATH2.2/labwork/3/GaussPivot.m delete mode 100644 usth/MATH2.2/labwork/3/LU.m delete mode 100644 usth/MATH2.2/labwork/3/LU_pivot.m delete mode 100644 usth/MATH2.2/labwork/3/gauss.m delete mode 100644 usth/MATH2.2/labwork/3/labwork3.pdf delete mode 100644 usth/MATH2.2/labwork/3/subst.m (limited to 'usth/MATH2.2/labwork/3') diff --git a/usth/MATH2.2/labwork/3/GaussPivot.m b/usth/MATH2.2/labwork/3/GaussPivot.m deleted file mode 100644 index 7764b3a..0000000 --- a/usth/MATH2.2/labwork/3/GaussPivot.m +++ /dev/null @@ -1,25 +0,0 @@ -function x = GaussPivot (A, b) - [m n] = size (A); - m ~= n && error ('Matrix A must be square'); - nb = n + 1; - Aug = [A b]; - % forward elimination - for k = 1 : n - 1 - % partial pivoting - [big i] = max (abs (Aug(k:n, k))); - ipr = i + k - 1; - if ipr ~= k - Aug([k ipr], :) = Aug([ipr k], :); - end - for i = k + 1 : n - coeff = Aug(i, k) / Aug(k, k); - Aug(i, k:nb) = Aug(i, k:nb) - coeff * Aug(k, k:nb); - end - end - % back substitution - 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 diff --git a/usth/MATH2.2/labwork/3/LU.m b/usth/MATH2.2/labwork/3/LU.m deleted file mode 100644 index 860486d..0000000 --- a/usth/MATH2.2/labwork/3/LU.m +++ /dev/null @@ -1,10 +0,0 @@ -function [L U] = LU (A) - [n n1] = size (A); - [L U] = deal (eye (n), A); - for k = 1:n - for i = k + 1 : n - L(i, k) = U(i, k) / U(k, k); - U(i, :) = U(i, :) - L(i, k)*U(k, :); - end - end -end diff --git a/usth/MATH2.2/labwork/3/LU_pivot.m b/usth/MATH2.2/labwork/3/LU_pivot.m deleted file mode 100644 index c506697..0000000 --- a/usth/MATH2.2/labwork/3/LU_pivot.m +++ /dev/null @@ -1,20 +0,0 @@ -function [L U P] = LU_pivot (A) - [n _] = size (A); - [L P U] = deal (eye (n), eye (n), A); - for k = 1:n - [pivot m] = max (abs (U(k:n, k))); - m = m + k - 1; - if (m ~= k) - U([m k], :) = U([k m], :); % interchange rows m and k in U - P([m k], :) = P([k m], :); % interchange rows m and k in P - if k >= 2; % very important point - % interchange rows m and k in columns 1:k-1 of L - L([m k], 1:k-1) = L([k m], 1:k-1); - end - end - for i = k + 1 : n - L(i, k) = U(i, k) / U(k, k); - U(i, :) -= L(i, k)*U(k, :); - end - end -end diff --git a/usth/MATH2.2/labwork/3/gauss.m b/usth/MATH2.2/labwork/3/gauss.m deleted file mode 100644 index 09128dc..0000000 --- a/usth/MATH2.2/labwork/3/gauss.m +++ /dev/null @@ -1,12 +0,0 @@ -function x = gauss (A, b) - issquare (A) || error ('Matrix A must be square'); - Aug = [A b]; - [m n] = size (Aug); - % forward elimination - for k = 1 : m - 1 - for l = k + 1 : m - Aug(l, k:n) = Aug(l, k:n) - Aug(k, k:n)*Aug(l, k)/Aug(k, k); - end - end - x = ubst (Aug); -end diff --git a/usth/MATH2.2/labwork/3/labwork3.pdf b/usth/MATH2.2/labwork/3/labwork3.pdf deleted file mode 100644 index 4e0c7e0..0000000 Binary files a/usth/MATH2.2/labwork/3/labwork3.pdf and /dev/null differ diff --git a/usth/MATH2.2/labwork/3/subst.m b/usth/MATH2.2/labwork/3/subst.m deleted file mode 100644 index 5c6e783..0000000 --- a/usth/MATH2.2/labwork/3/subst.m +++ /dev/null @@ -1,17 +0,0 @@ -function x = subst (aug) - [m n] = size (aug); - x = zeros (m, 1); - if (istril (aug)) - x(m) = aug(1, n) / aug(1, m); - for k = 2 : m - x(k) = (aug(k, n) - aug(k, k+1:m)*x(1:k-1)) / aug(k, k); - end - elseif (istriu (aug)) - x(m) = aug(m, n) / aug(m, m); - for k = m - 1 : -1 : 1 - x(k) = (aug(k, n) - aug(k, k+1:m)*x(k+1:m)) / aug(k, k); - end - else - error ('aug must be a triangular matrix'); - end -end -- cgit 1.4.1