Difference between revisions of "Rizky Narendra Putra"
Line 76: | Line 76: | ||
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> | ||
+ | |||
+ | ---- | ||
+ | KUIS 1 METNUM : | ||
+ | |||
+ | soal nomer 1 runge kutta: | ||
+ | kode: | ||
+ | |||
+ | import numpy as np | ||
+ | def diff_y (x,y) : | ||
+ | fungsi = x**2 - 4*y | ||
+ | return (fungsi) | ||
+ | x = 0 | ||
+ | y = 0 | ||
+ | h = 0.01 | ||
+ | step_size = np.arrange (0,0.03,h) | ||
+ | for t in step_size: | ||
+ | k1 = diff_y (x,y) | ||
+ | k2 = diff_y ((x+0.5*h),(y+0.5*k1*h)) | ||
+ | |||
+ | y = y+k1*h | ||
+ | |||
+ | print ('nilai y(0,03) adalah',y) | ||
+ | |||
+ | Hasil: |
Revision as of 15:21, 14 October 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]
KUIS 1 METNUM :
soal nomer 1 runge kutta: kode:
import numpy as np def diff_y (x,y) :
fungsi = x**2 - 4*y return (fungsi)
x = 0 y = 0 h = 0.01 step_size = np.arrange (0,0.03,h) for t in step_size:
k1 = diff_y (x,y) k2 = diff_y ((x+0.5*h),(y+0.5*k1*h))
y = y+k1*h
print ('nilai y(0,03) adalah',y)
Hasil: