Facebook
From Rozaq, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 306
  1. mprintf("               Tugas Akhir Praktikum Metode Numeris                   \n")
  2. mprintf("\n")
  3. mprintf("\n")
  4. mprintf("Program untuk mencari nilai x persamaan Ax=B dengan metode doolitle \n")
  5. mprintf("Arif Purnomo Aji \n")
  6. mprintf("16/394921/TK/44213 \n")
  7. mprintf("Inputkan matriks A(3x3) dan matriks B(3x1) yang akan dicari nilai x nya \n")
  8.  
  9. function [x, y, u, l, ]=doolittle(A, B)
  10.     n=size(A,1)
  11.     A(2:n,1)=A(2:n,1)/A(1,1)
  12.     for k=2:n-1,
  13.         v=A(k,1:k-1)
  14.         for j=k:n,
  15.             w=A(1:k-1,j)
  16.             A(k,j)=A(k,j)-v*w
  17.         end
  18.         w=A(1:k-1,k)
  19.         for j=k+1:n,
  20.         v=A(j,1:k-1)
  21.                 if A(k,k)==0 then
  22.         mprintf("nilai x tidak terdefinisi karena pembaginya 0(nol)\n")
  23.     end
  24.         A(j,k)=(A(j,k)-v*w)/A(k,k)
  25.         end
  26.     end
  27.     A(n,n)=A(n,n)-A(n,1:n-1)*A(1:n-1,n)
  28.     l=tril(A,-1)+eye(n,n)
  29.     u=triu(A)
  30.     y=l\B
  31.     x=u\y
  32.         mprintf("nilai x dari persamaan Ax=B adalah")
  33.     endfunction
  34.  
  35. Crout :
  36.  
  37. mprintf("               Tugas Akhir Praktikum Metode Numeris                   \n")
  38. mprintf("\n")
  39. mprintf("\n")
  40. mprintf("Program untuk mencari nilai x persamaan Ax=B dengan metode doolitle \n")
  41. mprintf("Arif Purnomo Aji \n")
  42. mprintf("16/394921/TK/44213 \n")
  43. mprintf("Inputkan matriks A(3x3) dan matriks B(3x1) yang akan dicari nilai x nya \n")
  44.   function [x, y, u, l]=crout(A, B)
  45.     n=size(A,1)
  46.     A(1,2:n)=A(1,2:n)/A(1,1)
  47.     for j=2:n,
  48.         for k=2:j,
  49.             v=A(j,1:k-1)
  50.             w=A(1:k-1,k)
  51.             A(j,k)=A(j,k)-v*w
  52.         end,
  53.         v=A(j,1:j-1)
  54.         for k=j+1:n,
  55.             w=A(1:j-1,k)
  56.                     if A(j,j)==0 then
  57.         error("nilai x tidak terdefinisi karena pembaginya 0(nol)")
  58.     end
  59.             A(j,k)=(A(j,k)-v*w)/A(j,j)
  60.          end
  61.     end,
  62.     l=tril(A)
  63.     u=triu(A,1)+eye(n,n)
  64.     y=l\B
  65.     x=u\y
  66.     mprintf("nilai x dari persamaan Ax=B adalah")
  67.     endfunction
  68.  
  69. Program Lain :
  70.  
  71. Program Utama
  72. disp('Program Tugs Akhir');
  73. disp('Oleh: Aulia Haritsuddin Karisma Muhammad Subekti ');
  74. disp('NIM:15/385713/TK/44095');
  75. f=input('Apakah anda ingin lanjut? 1.Ya 0.Tidak =');
  76. if f==0
  77.     break
  78. end
  79. g=input('Pilih metode yang ingin digunakan! (1.Doolittle   0.Crout)= ');
  80. if g==0 then
  81.     exec crout1.sci;
  82.     h=input('Apakah anda ingin mengulangi perhitungan dengan metode lainya (Doolittle)? 1.Ya 0.Tidak=');
  83.     if h==1
  84.         exec doolitle1.sci;
  85.     end
  86. else
  87.     exec doolitle1.sci;
  88.     j=input('Apakah anda ingin mengulangi perhitungan dengan metode lainya (Crout)? 1.Ya 0.Tidak=');
  89.     if j==1
  90.         exec crout1.sci;
  91.     end
  92. end
  93. disp('Terimakasih');
  94.  
  95. Doolittle :
  96. a=input('Masukkan Matriks A 3x3 =');
  97. b=input('Masukkan Matriks kolom B 1x3 =');n=size(a,1);
  98. a(2:n,1)=a(2:n,1)/a(1,1);
  99. for k=2:n-1,
  100.     v=a(k,1:k-1);
  101.     for j=k:n,
  102.         w=a(1:k-1,j);
  103.         a(k,j)=a(k,j)-v*w;
  104.     end
  105.     w=a(1:k-1,k);
  106.     for j=k+1:n,
  107.         v=a(j,1:k-1);
  108.         a(j,k)=(a(j,k)-v*w)/a(k,k);
  109.     end
  110. end
  111. a(n,n)=a(n,n)-a(n,1:n-1)*a(1:n-1,n);
  112. l=tril(a,-1)+eye(n,n);
  113. u=triu(a);
  114. y=l\b;
  115. x=u\y;
  116. disp('Matriks L =');
  117. disp(l);
  118. disp('Matriks U =');
  119. disp(u);
  120. disp('Nilai x adalah');
  121. disp(x);
  122.  
  123. Crout :
  124. a=input('Masukkan Matriks C 3x3 =');
  125. b=input('Masukkan Matriks kolom D 1x3 =');
  126. n=size(a,1)
  127. a(1,2:n)=a(1,2:n)/a(1,1);
  128. for m=2:n,
  129.     for k=2:m,
  130.         v=a(m,1:k-1);
  131.         w=a(1:k-1,k);
  132.         a(m,k)=a(m,k)-v*w;
  133.     end,
  134.     v=a(m,1:m-1);
  135.     for k=m+1:n,
  136.         w=a(1:m-1,k);
  137.         a(m,k)=(a(m,k)-v*w)/a(m,m);
  138.     end,
  139. end,
  140. a(n,n)=a(n,n)-a(n,1:n-1)*a(1:n-1,n);
  141. l=tril(a)
  142. u=triu(a,1)+eye(n,n);
  143. y=l\b;
  144. x=u\y;
  145. disp('Matriks L =');
  146. disp(l);
  147. disp('Matriks U =');
  148. disp(u);
  149. disp('Nilai x adalah');
  150. disp(x);