x ve ye ye bağlı bir denklem var elimde x ve y -25 den 25 arasında olacak şekilde yüzeyin grafiğini çizmem lazım ama x ve y değeri tek fonksiyon olunca yapamadım ve z yi nasıl elde edeceğimi çözemedim yardım ederseniz sevinirim
Merhaba.
Kodlarınızın tamamını buraya göre atabilir misiniz:
fig = plt.figure()
ax = plt.axes(projection=‘3d’)
x=np.linspace(-25,25,)
y=np.linspace(-25,25,)
(x,y)=np.linspace((((x2)+(y2))/2)+15*(np.cos((x)((np.pi)/2))+np.cos((y)(np.pi/2))))
x,y=np.meshgrid(x,y)
z=1
surf=ax.plot_surface(x,y,z)
plt.show()
kodu böyle yazdım pythonda yeniyim büyük ihtimal tamamı yanlış.
ve attığın şeyi tam anlayamadım umarım bu işe yarar
en başta matplotlib kütüphanesini from matplotlib.pyplot as plt şeklinde import ettiniz mi ?
evet ettim
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
x kare + y kare ifadesinin (x2)+(y2) şeklinde olduğunu gördüm. Doğrusu (x ** 2) + (y ** 2) şeklinde denediniz mi ?
Kodu düzgün atmadığı için öyle.
aynen öyle gözükmüş ** kullandım
sizde mi projection = “3d” bölümünde hata aldınız ?
TypeError: _linspace_dispatcher() missing 1 required positional argument: ‘stop’
verdiği hata bu
" " değil ’ ’ kullandım birde
verdiğiniz kodları anaconda navigatorda denedim. verdiği tek hata 3d de oldu. onlarıda project=“3d” yerine project = “3d” şeklinde birer boşluklarla yazdım ve 3 boyutlu koordinat geldi önüme
spyder da yazıyorum ben de project ile yazınca boş grafik bile gelmiyor projection yazınca en azından boş grafik çıkıyor karşıma
bu numpy matplotlib pandas gibi yapay zekaya yönelik kütüphanelerin anaconda navigatorde jupyter notebook ile daha verimli olduğunu söylüyorlardı hep. Birde oradan denemeye çalışın. Bende bakıyorum şuanda. Bir hatayı düzeltiyorum başka hata geliyor
anladım eğer spyder da yapabilirseniz çok sevinirim spyder kullanmam gerekiyor da
Bu bir farka sebep olmuyor.
Bu da öyle.
mantıklı peki çözümü nasıl olacak
Şu hatayı çözmek ile başlayabilirsiniz:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = plt.axes(projection="3d")
x=np.linspace(-25,25,)
y=np.linspace(-25,25,)
(x,y)=np.linspace((((x**2)+(y**2))/2)+15*(np.cos((x)((np.pi)/2))+np.cos((y)(np.pi/2))))
x,y=np.meshgrid(x,y)
z=1
surf=ax.plot_surface(x,y,z)
plt.show()
Traceback (most recent call last):
File "C:\Users\User\Desktop\finans.py", line 10, in <module>
(x,y)=np.linspace((((x**2)+(y**2))/2)+15*(np.cos((x)((np.pi)/2))+np.cos((y)(np.pi/2))))
TypeError: 'numpy.ndarray' object is not callable
Parantezlerde bir problem olsa gerek, böyle işlemleri farklı satırlara yaymanız daha iyi olur.
O da kodu düzgün atmadığınız içinmiş…
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = plt.axes(projection="3d")
x=np.linspace(-25,25,)
y=np.linspace(-25,25,)
x, y = np.linspace(
((x**2 + y**2)/ 2 )
+15*(
np.cos(x * np.pi/2 )
+np.cos(y * np.pi/2 )
)
)
x,y=np.meshgrid(x,y)
z=1
surf=ax.plot_surface(x,y,z)
plt.show()
ekran görüntüsünde daha rahat belli oluyor parantezlere tekrar baktım doğru eminim onlardan asıl sıkıntı fonksiyon x ve y ye bağlı 2 sinin bir olduğu fonksiyon olunca x ve ye değerlerini nasıl kullanmam gerektiğini anlamadım ve z değerini nasıl bulacam oraya z=1 i sadece denemek için yazdım
n=50
x=np.linspace(-25,25,n)
y=np.linspace(-25,25,n)
bu kısmıda sonradan değiştirdim böyle yazdım