Metode Regula-Falsi dengan Python
Melanjutkan post yang kemarin tentang Metode Bagi Dua kali ini kita akan membahas metode Regula-Falsi. Untuk metode Regula-Falsi sendiri tidak hanya memperhitungkan a dan b (nilai tebakan) tapi juga nilai F(a) dan F(b) untuk rumus Regula-Falsi sendiri adalah
Untuk algoritma Regula-Falsi mirip dengan Bagi Dua hanya saja untuk nilai c menggunakan persam aan di atas.Regula-Falsi sendiri memiliki kecepatan konvergensi yang lebih cepat daripada Bagi Dua.Nmaun,kelemahannya adalah terkadang kita menemukan tiitk stagnan di mana nilai b-a selalu sama di tiap perulangan .
Maka,untuk mengatasi nya kita tidak akan menggunakan While di sini tapi kita akan menggunakan For saja untuk menentukan berapa perulangan yang kita inginkan
Misal kita akan mencari akar dari c² -12 = 0 dengan Regula-Falsi
untuk code dalam Python nya adalah sebagai berikut
a = 3Di sini kita akan memakai 20 iterasi saja
b = 4
def F(a):
F = a**2-12
return F
for x in range(20):
c = b-((F(b)*(b-a))/(F(b)-F(a)))
if F(c)<0:
a=c
elif F(c)>0:
b=c
else:
print("Akar nya adalah", c)
break
print("Akar yang terdekat adalah",c)
silahkan run (F5) untuk melihat hasilnya
di sini kita menemukan akar akhir adalah c = 3.4641016151377544 dan kita lihat kalau di perulangan akhir nilai akar selalu sama.Nah,inilah yang di sebut titik stagnan dan kalau kita lanjutkan kita tidak akan menemui akhir perulangan makanya saya sarankan pakai For saja dari pada While karena kalau pakai While program kita tidak akan pernah berhenti
Penjelasan :
range (20) adalah untuk menjangkau semua bilangan dari 0 sampai 20(20 tidak termasuk) jadi 0,1,2,...,19
contoh lain range :
range (3,8) maka bilangannya adalah 3,4,5,6,7 memakai awal 3, akhir 8 dan langkah 1
range(4,21,3) maka bilangannya adalah 4,7,10,13,16,19 memakai awal 4,akhir 21 san langkah 3
For adalah perulangan yang sudah ditentukan berapa banyak karena For menggunakan list sebagai perantara
Contoh :
a = (2,3,5,8)
for x in a:
print(x)
maka hasil run adalah
2
3
5
8
def untuk membuat method di python
Contoh :
def luass3 (alas,tinggi):
Luas = (alas*tinggi)/2
print(Luas)
luass3(7,8) maka hasilnya (7*8)/2 = 28
Post a Comment for "Metode Regula-Falsi dengan Python"
Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)