Этот код выводит график e ^ (- r ^ 2) на двумерной сетке x, y:
import numpy as np
import matplotlib.pyplot as plt
x1d = np.arange(-3, 3, 0.006)
y1d = np.arange(-3, 3, 0.006)
x2d, y2d = np.meshgrid(x1d, y1d)
r2d = x2d**2 + y2d**2
z = np.exp(-r2d)
plt.imshow(z, extent = (3, -3 , 3 , -3))
plt.title("A 2-D Image plot")
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.savefig('2dexp_array.pdf', format ='pdf')
plt.show(block = False)
Я хочу изменить код так, чтобы вместо использования np.meshgrid, он использует циклы для создания 2-мерного пространства сетки.
Что-то вроде:
import numpy as np
import matplotlib.pyplot as plt
x1d = np.arange(-3, 3, 0.006)
y1d = np.arange(-3, 3, 0.006)
z = np.zeros([2000, 2000])
, а затем использование циклов for для замены нулей в z на правильные значения в соответствии с x1d, y1d.
Но я не уверен, как использовать цикл for для зеркального отображения функции meshgrid.
Если бы кто-то мог указать мне правильное направление, я был бы признателен, спасибо