Bir fonksiyona değişken değeri girme

Arkadaşlar foruma ve Python’a henüz yeni biriyim. İki tane ciddi problemim var. Yardımcı olursanız çook sevinirim.
Birinci sorum:

f(x)=(x^2y)+2y olsun
x değeri belli mesela x=2 olsun. Ama y değeri henüz bilinmiyor.
Bu fonksiyonda Python’da f_x=(x**2)y+2y şeklinde işleme devam edip y değerini ve en sonda da f_x değerini bulmam gerekiyor.
y başlangıçta belli değil iken bu işlemi nasıl sürdürürüm. Python’da değeri belli olmayan y değerini işleme nasıl sokabilirim.

Standart pythom kütüphanesinde bunu yapabilir miyim. Yapamaz isem bunu yapabileceğim ek paket var mı( SymPy yada NumPy).

Yardımcı olursanız çok sevinirim. Bir kaç günüm bunu araştırmakla geçti.

Merhaba,

Yazdığınız matematiksel denklemin formülünü anlamaya çalışıyorum. Mesela, yazdığınız f(x) = y * (x ** 2 + 2) fonksiyonundaki y teriminin = işaretinin sağ kısmında ne aradığını merak ettim. Çünkü matematiksel notasyonların yazım biçimi şöyledir;

Bir bilinmeyenli denklem için:
f(x) = y = ax + b
f(x) = y = 2x + 3

İkinci dereceden bir bilinmeyenli denklem için:
f(x) = y = ax^2 + bx + c
f(x) = y = 2x^2 + 3x + 5

Yukarda, f(x)'in değerinin y'ye eşitlendiğini görürsünüz. Yani şöyle göstereyim:

def f(x):
    return x ** 2


for i in range(10):
    print(f"x: {i}, y: {f(i)}")

Burada x, fonksiyona verilen argüman olur, y ise fonksiyonda gerçekleşen işlemin sonucu olur.

Yukardaki kodu çalıştırırsanız, şöyle bir çıktı alırsınız:

x: 0, y: 0
x: 1, y: 1
x: 2, y: 4
x: 3, y: 9
x: 4, y: 16
x: 5, y: 25
x: 6, y: 36
x: 7, y: 49
x: 8, y: 64
x: 9, y: 81

Yukarda, x'in aldığı değerlere göre y'nin hangi değerleri aldığını görüyorsunuz.

Bu örnek, matematiksel denklemlerin nasıl yazıldığını gösteren basit bir şablon. Matematiksel formüller ne olursa olsun, formül notasyonu benzer şekilde yazılır.

Şimdi sizin yazdığınız formülde, = sembolünün sağ kısmındaki y, f(x)'e eşit değilse, yani f(x), z gibi bir bilinmeyen ise, burada ='in sağında kalan y tanımsız bir sembol oluyor. Tıpkı aşağıdaki Python kodundaki y gibi:

def f(x):
    return (x ** 2 + 2) * y


for i in range(10):
    print(f"x: {i}, y: {f(i)}")

Yukardaki kodu çalıştırmayı denerseniz, NameError: name 'y' is not defined gibi bir hata alırsınız. Matematiksel formüllerde, = işaretinin sağında kalan sembollerin, = işaretinin sol kısmında tanımlanmış olması lazım.

Yani, y'yi tanımsız olmaktan kurtarmak istiyorsanız, y'yi de bir argümana çevirmelisiniz:

f(x, y) = (x ** 2 + 2) * y

Kusura bakmayın, soruyu anlamaya çalışıyorum. Burada y yanlışlıkla eşitlikteki bir terim gibi yazılmış olabilir mi?

f(x) = (x² + 2) × y

f(0) = 2y
f(10) = 102y

f(2) = 6y

y = f_x / 6
f_x = y * 6

Python’da mumkun degil ama SymPy gibi bir kutuphane kullanarak “degeri belli olmayan, N degiskenli denklem” verisi elde etmek mumkun:

x, y = sympy.symbols('x y')
f_x = (x**2 + 2) * y
print(f_x)
print(f_x.subs(x, 2))

f x ve y’ya bağlı bir fonksiyon
f(x,y)= (x**2+2)y
belli bir x değeri için mesela için 6
y ile işlemlere devam etmek istiyorum. öyle bir şey yapmalıyım ki altı işlemde yer aldın. sonra y = 3 için f(x,y) = 6*3=18 olsun