Untitled
unknown
plain_text
10 days ago
1.6 kB
2
Indexable
Never
# Ryan Suryaputra Adiwidodo (18022030) # Marcelinus Aryo Wicaksono (18022031) # Tugas 1 Komputasi dan Analisis Numerik import math # Fungsi untuk menjalankan iterasi Fixed Point def fixed_point_iteration(func, x0, toleransi, iterasi_maksimum): iterasi_ke = 0 while iterasi_ke < iterasi_maksimum: x1 = func(x0) print(f"Iterasi-{iterasi_ke + 1}: x = {x1}") # Memeriksa apakah perbedaan antara nilai saat ini dan sebelumnya lebih kecil dari toleransi if abs(x1 - x0) < toleransi: print(f"Solusi ditemukan: {x1} setelah {iterasi_ke + 1} iterasi.") return x1 # Perbarui nilai x0 untuk iterasi selanjutnya x0 = x1 iterasi_ke += 1 # Jika tidak konvergen dalam batas iterasi print("Tidak ada konvergensi dalam batas iterasi yang diberikan.") return None # Fungsi untuk mengonversi string menjadi fungsi matematika def buat_fungsi(func_str): return lambda x: eval(func_str) # Contoh eksekusi program if __name__ == "__main__": # Menerima masukan fungsi dari pengguna dalam bentuk string func_str = input("Masukkan fungsi g(x) dalam format Python: ") # Mengonversi string menjadi fungsi g = buat_fungsi(func_str) # Mengambil input nilai awal, toleransi, dan jumlah iterasi dari pengguna x0 = float(input("Masukkan tebakan awal x0: ")) toleransi = float(input("Masukkan nilai toleransi: ")) iterasi_maksimum = int(input("Masukkan jumlah maksimum iterasi: ")) # Memulai iterasi Fixed Point fixed_point_iteration(g, x0, toleransi, iterasi_maksimum)
Leave a Comment