- mprintf(" Tugas Akhir Praktikum Metode Numeris \n")
- mprintf("\n")
- mprintf("\n")
- mprintf("Program untuk mencari nilai x persamaan Ax=B dengan metode doolitle \n")
- mprintf("Arif Purnomo Aji \n")
- mprintf("16/394921/TK/44213 \n")
- mprintf("Inputkan matriks A(3x3) dan matriks B(3x1) yang akan dicari nilai x nya \n")
- function [x, y, u, l, ]=doolittle(A, B)
- n=size(A,1)
- A(2:n,1)=A(2:n,1)/A(1,1)
- for k=2:n-1,
- v=A(k,1:k-1)
- for j=k:n,
- w=A(1:k-1,j)
- A(k,j)=A(k,j)-v*w
- end
- w=A(1:k-1,k)
- for j=k+1:n,
- v=A(j,1:k-1)
- if A(k,k)==0 then
- mprintf("nilai x tidak terdefinisi karena pembaginya 0(nol)\n")
- end
- A(j,k)=(A(j,k)-v*w)/A(k,k)
- end
- end
- A(n,n)=A(n,n)-A(n,1:n-1)*A(1:n-1,n)
- l=tril(A,-1)+eye(n,n)
- u=triu(A)
- y=l\B
- x=u\y
- mprintf("nilai x dari persamaan Ax=B adalah")
- endfunction
- Crout :
- mprintf(" Tugas Akhir Praktikum Metode Numeris \n")
- mprintf("\n")
- mprintf("\n")
- mprintf("Program untuk mencari nilai x persamaan Ax=B dengan metode doolitle \n")
- mprintf("Arif Purnomo Aji \n")
- mprintf("16/394921/TK/44213 \n")
- mprintf("Inputkan matriks A(3x3) dan matriks B(3x1) yang akan dicari nilai x nya \n")
- function [x, y, u, l]=crout(A, B)
- n=size(A,1)
- A(1,2:n)=A(1,2:n)/A(1,1)
- for j=2:n,
- for k=2:j,
- v=A(j,1:k-1)
- w=A(1:k-1,k)
- A(j,k)=A(j,k)-v*w
- end,
- v=A(j,1:j-1)
- for k=j+1:n,
- w=A(1:j-1,k)
- if A(j,j)==0 then
- error("nilai x tidak terdefinisi karena pembaginya 0(nol)")
- end
- A(j,k)=(A(j,k)-v*w)/A(j,j)
- end
- end,
- l=tril(A)
- u=triu(A,1)+eye(n,n)
- y=l\B
- x=u\y
- mprintf("nilai x dari persamaan Ax=B adalah")
- endfunction
- Program Lain :
- Program Utama
- disp('Program Tugs Akhir');
- disp('Oleh: Aulia Haritsuddin Karisma Muhammad Subekti ');
- disp('NIM:15/385713/TK/44095');
- f=input('Apakah anda ingin lanjut? 1.Ya 0.Tidak =');
- if f==0
- break
- end
- g=input('Pilih metode yang ingin digunakan! (1.Doolittle 0.Crout)= ');
- if g==0 then
- exec crout1.sci;
- h=input('Apakah anda ingin mengulangi perhitungan dengan metode lainya (Doolittle)? 1.Ya 0.Tidak=');
- if h==1
- exec doolitle1.sci;
- end
- else
- exec doolitle1.sci;
- j=input('Apakah anda ingin mengulangi perhitungan dengan metode lainya (Crout)? 1.Ya 0.Tidak=');
- if j==1
- exec crout1.sci;
- end
- end
- disp('Terimakasih');
- Doolittle :
- a=input('Masukkan Matriks A 3x3 =');
- b=input('Masukkan Matriks kolom B 1x3 =');n=size(a,1);
- a(2:n,1)=a(2:n,1)/a(1,1);
- for k=2:n-1,
- v=a(k,1:k-1);
- for j=k:n,
- w=a(1:k-1,j);
- a(k,j)=a(k,j)-v*w;
- end
- w=a(1:k-1,k);
- for j=k+1:n,
- v=a(j,1:k-1);
- a(j,k)=(a(j,k)-v*w)/a(k,k);
- end
- end
- a(n,n)=a(n,n)-a(n,1:n-1)*a(1:n-1,n);
- l=tril(a,-1)+eye(n,n);
- u=triu(a);
- y=l\b;
- x=u\y;
- disp('Matriks L =');
- disp(l);
- disp('Matriks U =');
- disp(u);
- disp('Nilai x adalah');
- disp(x);
- Crout :
- a=input('Masukkan Matriks C 3x3 =');
- b=input('Masukkan Matriks kolom D 1x3 =');
- n=size(a,1)
- a(1,2:n)=a(1,2:n)/a(1,1);
- for m=2:n,
- for k=2:m,
- v=a(m,1:k-1);
- w=a(1:k-1,k);
- a(m,k)=a(m,k)-v*w;
- end,
- v=a(m,1:m-1);
- for k=m+1:n,
- w=a(1:m-1,k);
- a(m,k)=(a(m,k)-v*w)/a(m,m);
- end,
- end,
- a(n,n)=a(n,n)-a(n,1:n-1)*a(1:n-1,n);
- l=tril(a)
- u=triu(a,1)+eye(n,n);
- y=l\b;
- x=u\y;
- disp('Matriks L =');
- disp(l);
- disp('Matriks U =');
- disp(u);
- disp('Nilai x adalah');
- disp(x);