örneğin
x+2y=5
3x-5y=18
bunu nasıl kodlayabilirim hatta 1.denklemin x ini ve y sini dışarıdan input ile almak istiyorum
Bu konular sayısal yöntemler dersinin konuları. Aşağıdaki iki video, sana neyin ne olduğunu anlatıp nasıl çözeceğini gösteriyor. Mantığı anladıktan sonra kodunu yazmak en kolay kısım.
Bu videoda lineer sistemlerin tanıtımı var
Bu videoda ise, gauss eliminasyon yönteminin anlatımı var.
Kolay gelsin.
sympy kütüphanesini kullanabilirsiniz.
from sympy import symbols, Eq, solve
x, y = symbols('x y')
first_equation = Eq(x + 2*y, 5)
second_equation = Eq(3*x -5*y, 18)
solution = solve((first_equation, second_equation), (x, y))
for key in solution:
print(f"{key} = {solution[key]}")
Çıktı:
x = 61/11
y = -3/11
Bunlara ek olarak, kütüphanesiz çözüm için doğrusal cebirde kullanılen yöntemleri uygulayabilirsiniz.
Alternatif çözüm olarak da numpy ve scipy kullanabilirsiniz.
import numpy as np
from scipy import linalg
coefficient_matrix = np.array([[1, 2], [3, -5]])
variable_matrix = np.array(["x", "y"])
constant_matrix = np.array([5, 18])
result = linalg.solve(coefficient_matrix, constant_matrix)
for variable, entry in zip(variable_matrix, result):
print(f"{variable} = {entry}")
Çıktı:
x = 5.545454545454546
y = -0.27272727272727276
Neden önceden sorduğun sorunun aynısını tekrar soruyorsun? Keşke soruya ilgi gösterdiğini belli etseydin. Yazık, resmen kabalık!
Bir cevap yazsaydın yardım mı etmeyecektik?