Difference between revisions of "Rizky Narendra Putra"
Line 63: | Line 63: | ||
</div> | </div> | ||
− | + | Menggunakan Eliminasi Gaussian | |
<div border-style: inset;"> | <div border-style: inset;"> | ||
Line 72: | Line 72: | ||
A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam) | A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam) | ||
B[i] = B[i]-(B[k]*lam) | B[i] = B[i]-(B[k]*lam) | ||
− | |||
x = np.zeros(n,float) | x = np.zeros(n,float) | ||
for m in range(n-1,-1,-1): | 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] | x[m]=(B[m]-np.dot(A[m,m+1:n],x[m+1:n]))/A[m,m] | ||
</div> | </div> |
Revision as of 12:26, 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]