summaryrefslogtreecommitdiff
path: root/1670/CH3/EX3.10/3_10.sce
blob: 5c707aadf0330ec69735ba26bbabee53d7d871a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//Example 3.10
//Triangularization Method
//Page no. 62
clc;clear;close;

A=[2,4,-6;1,5,3;1,3,2];
B=[-4;10;5];
printf('A can be factorizaed as follows:\n')
printf('\tL\t\t  *\t\tU\t\t  =\t\tA')
U(2,1)=0;U(3,1)=0;U(3,2)=0;
L(1,2)=0;L(1,3)=0;L(2,3)=0;
for i=1:3
    L(i,i)=1
end
for i=1:3
    U(1,i)=A(1,i)
end
L(2,1)=1/U(1,1);
for i=2:3
    U(2,i)=A(2,i)-U(1,i)*L(2,1);
end
L(3,1)=1/U(1,1);
L(3,2)=(A(3,2)-U(1,2)*L(3,1))/U(2,2);
U(3,3)=A(3,3)-U(1,3)*L(3,1)-U(2,3)*L(3,2);
printf('\n')
for i=1:3
    for j=1:3
        printf('%.2f\t',L(i,j))
    end
    
    if(i==2)
        printf('  *     ')
    else
        printf('\t')
    end
    
    for j=1:3
        printf('%.2f\t',U(i,j))
    end
    if(i==2)
        printf('  =     ')
    else
        printf('\t')
    end
    for j=1:3
        printf('%.2f\t',A(i,j))
    end
    printf('\n')
end
printf('\nY=U*X')
    Y=inv(L)*B
    X=inv(U)*Y
printf('\n\nX=')
for i=1:3
    printf('\n   %i',X(i,1))
end