Difference between revisions of "Rizky Narendra Putra"
Line 34: | Line 34: | ||
[[File:program python limit.png]] | [[File:program python limit.png]] | ||
[[File:hasil program python limit.png]] | [[File:hasil program python limit.png]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Tugas 3 | ||
+ | |||
+ | Menggunakan matrix equation untuk eliminasi menggunakan Gaussian Elimination. | ||
+ | |||
+ | <div border-style: inset;"> | ||
+ | 6x<sub>1</sub> + 4x<sub>2</sub> = 50 | ||
+ | 2x<sub>1</sub> + x<sub>3</sub> + 4x<sub>4</sub> = 50 | ||
+ | 7x<sub>2</sub> + 3x<sub>3</sub> + 4x<sub>4</sub> = 50 | ||
+ | 4x<sub>1</sub> + 4x<sub>3</sub> = 50 | ||
+ | |||
+ | Didapat hasil matrix: | ||
+ | [[6. 4. 0. 0.] | ||
+ | [2. 0. 1. 4.] | ||
+ | [0. 7. 3. 4.] | ||
+ | [4. 0. 4. 0.]] | ||
+ | </div> | ||
+ | |||
+ | Mendefinisikan matrix di dalam python: | ||
+ | |||
+ | <div border-style: inset;"> | ||
+ | import numpy as np | ||
+ | <br>A = np.array([[6, 4, 0, 0], [2, 0 ,1, 4], [0, 7, 3, 4], [ 4, 0, 4, 0]], float) | ||
+ | B = np.array([50, 50, 0, 0], float) | ||
+ | <br>n = len(A) | ||
+ | </div> | ||
+ | |||
+ | '''Menggunakan Eliminasi Gaussian''' | ||
+ | |||
+ | <div border-style: inset;"> | ||
+ | for k in range(0,n-1): | ||
+ | for i in range(k+1,n): | ||
+ | if A[i,k]!=0 : | ||
+ | lam = A[i,k]/A[k,k] | ||
+ | A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam) | ||
+ | B[i] = B[i]-(B[k]*lam) | ||
+ | |||
+ | x = np.zeros(n,float) | ||
+ | for m in range(n-1,-1,-1): | ||
+ | x[m]=(B[m]-np.dot(A[m,m+1:n],x[m+1:n]))/A[m,m] | ||
+ | </div> |
Revision as of 12:24, 30 September 2019
Video Mekanika Fluida Bab 8: https://www.youtube.com/watch?v=42tyCDgc2dA&feature=youtu.be
Video Mekanika Fluida Bab 9: https://www.youtube.com/watch?v=sDhnzQfGJoU&feature=youtu.be
Tugas 1 Kelas Metode Numerik:
Apa yang saya pelajari tentang Python:
Python merupakan bahasa pemograman Python dapat mengerjakan operasi matematika ( integral, penjumlahan, pengurangan, pengalian, pangkat, pembagian, dst ) Jika dalam suatu pembagian hasilnya ada desimal dan kita tidak ingin memperlihatkan desimal tersebut, kita dapat menggunakan rumus misal: 5//2, maka akan keluar hasilnya 2, bukan 2,5 dengan menggunakan // maka desimal dalam pembagian tersebut akan hilang, namun jika kita ingin memperlihatkan desimal tersebut, cukup: 5/2, maka akan keluar hasilnya 2,5 Jika kita ingin menggunakan pangkat, maka dapat dilakukan 2**5 dan hasilnya akan keluar 32, jika kita ingin perkalian saja maka dapat digunakan 2*5 dan akan keluar hasilnya 10
Untuk operasi matematika, python mempunyai prioritas tertinggi sampai yang terendah yaitu: 1. ( .. ) 2. ( * , / , ** ) 3. ( +,- )
Tugas 2 Metode Numerik
Tugas 3
Menggunakan matrix equation untuk eliminasi menggunakan Gaussian Elimination.
6x1 + 4x2 = 50 2x1 + x3 + 4x4 = 50 7x2 + 3x3 + 4x4 = 50 4x1 + 4x3 = 50
Didapat hasil matrix:
[[6. 4. 0. 0.] [2. 0. 1. 4.] [0. 7. 3. 4.] [4. 0. 4. 0.]]
Mendefinisikan matrix di dalam python:
import numpy as np
A = np.array([[6, 4, 0, 0], [2, 0 ,1, 4], [0, 7, 3, 4], [ 4, 0, 4, 0]], float) B = np.array([50, 50, 0, 0], float)
n = len(A)
Menggunakan Eliminasi Gaussian
for k in range(0,n-1): for i in range(k+1,n): if A[i,k]!=0 : lam = A[i,k]/A[k,k] A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam) B[i] = B[i]-(B[k]*lam)
x = np.zeros(n,float) for m in range(n-1,-1,-1): x[m]=(B[m]-np.dot(A[m,m+1:n],x[m+1:n]))/A[m,m]