Jumat, 09 Juni 2023

Source Code Python Metode Beda Hingga

import numpy as np
import matplotlib.pyplot as plt

def finite_difference_method(x_start, x_end, num_points, initial_condition, boundary_condition):
# Inisialisasi parameter
delta_x = (x_end - x_start) / (num_points - 1)
x = np.linspace(x_start, x_end, num_points)
u = np.zeros(num_points)
u[0] = boundary_condition[0]
u[-1] = boundary_condition[1]

# Iterasi menggunakan metode beda hingga
for i in range(1, num_points - 1):
u[i] = u[i-1] + initial_condition(x[i]) * delta_x

return x, u

# Fungsi persamaan diferensial: u'(x) = x^2 + sin(x)
def initial_condition(x):
return x**2 + np.sin(x)

# Contoh batasan: u(0) = 0, u(1) = 1
boundary_condition = (0, 1)

# Parameter untuk grid
x_start = 0
x_end = 1
num_points = 100

# Menggunakan metode beda hingga
x, u = finite_difference_method(x_start, x_end, num_points, initial_condition, boundary_condition)

# Plot hasil solusi numerik
plt.plot(x, u, label='Numerical Solution')
plt.xlabel('x')
plt.ylabel('u(x)')
plt.title('Finite Difference Method')
plt.legend()
plt.grid(True)
plt.show()





Output Program f(x)=x^2+sin(x)



Tidak ada komentar:

Posting Komentar