From b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b Mon Sep 17 00:00:00 2001 From: priyanka Date: Wed, 24 Jun 2015 15:03:17 +0530 Subject: initial commit / add all books --- 845/CH3/EX3.5/Ex3_5.sce | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 845/CH3/EX3.5/Ex3_5.sce (limited to '845/CH3/EX3.5') diff --git a/845/CH3/EX3.5/Ex3_5.sce b/845/CH3/EX3.5/Ex3_5.sce new file mode 100755 index 000000000..653871380 --- /dev/null +++ b/845/CH3/EX3.5/Ex3_5.sce @@ -0,0 +1,50 @@ +//Example 3.5 +clc +clear + +A = [5 -2 1; 7 1 -5; 3 7 4]; +B = [4; 8; 10]; + +n = length (B); +L = zeros(n,n); // L = Lower Triangular Matrix Initiation +U = eye(n,n); // U = Upper Triangular Matrix Initiation + +// LU Decomposition +for i = 1:n + sum1 = zeros(n-i+1,1); + for k = 1:i-1 + sum1 = sum1 + L(i:n,k) * U(k,i); + end + L(i:n,i) = A(i:n,i) - sum1; + + sum2 = zeros(1,n-i); + for k = 1:i-1 + sum2 = sum2 + L(i,k) * U(k,i+1:n); + end + U(i,i+1:n) = (A(i,i+1:n) - sum2) / L(i,i); +end + +// Forward Substitution +D = ones(n,1); +for i = 1:n + sum3 = 0; + for k = 1:i-1 + sum3 = sum3 + L(i,k) * D(k); + end + D(i) = (B(i) - sum3) / L(i,i); +end + +// Back Substitution +x = ones(n,1); +for i = n:-1:1 + sum4 = 0; + for k = i+1:n + sum4 = sum4 + U(i,k) * x(k); + end + x(i) = D(i) - sum4; +end + +disp(strcat(["x1 = ",string(x(1))])) +disp(strcat(["x2 = ",string(x(2))])) +disp(strcat(["x3 = ",string(x(3))])) + -- cgit