about summary refs log tree commit diff
path: root/usth/MATH2.2/labwork/3/gauss.m
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-16 21:31:18 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-16 21:31:18 +0700
commite461df7573c2b7b7e26c965d8cf2d8e175d67378 (patch)
tree193b8439edac52c1749764395fe5f7787889eda9 /usth/MATH2.2/labwork/3/gauss.m
parentc1008fe39217be7f91f0ea23483e747bfbc5743e (diff)
downloadcp-e461df7573c2b7b7e26c965d8cf2d8e175d67378.tar.gz
[usth/MATH2.2] Numerical Methods
The future starts now.
Diffstat (limited to 'usth/MATH2.2/labwork/3/gauss.m')
-rw-r--r--usth/MATH2.2/labwork/3/gauss.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/usth/MATH2.2/labwork/3/gauss.m b/usth/MATH2.2/labwork/3/gauss.m
new file mode 100644
index 0000000..09128dc
--- /dev/null
+++ b/usth/MATH2.2/labwork/3/gauss.m
@@ -0,0 +1,12 @@
+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