У меня есть функция, которая принимает один 2D-вектор и возвращает PDF (скаляр) этой точки.Функция построения (x, y) с 3D-графикой
В качестве иллюстрации myPDF(np.array[4,4])
возвращает одно значение pdf в < 4,4>. Эта функция не может принимать список векторов, и она принимает только один 2D-вектор в качестве аргумента.
Теперь я хочу, чтобы построить этот PDF-файл с помощью plot_surface, как показано ниже: Это то, что я пытался
x = np.arange(-10,10)
y = np.arange(-10,10)
z = [ myPDF(np.array([xx,yy])) for xx in x for yy in y]
xy = [ [xx, yy] for xx in x for yy in y]
И здесь я застрял. Мне нужно как-то изменить z и xy в некоторых правильных формах, чтобы использовать их с plot_surface, но я не знаю, как это сделать. Я также попробовал meshgrid, но не знал, как преобразовать различные формы данных в законные формы для plot_surface.
x, y = np.mgrid[-5:5,-5:5]
Если я использую mgrid, как указано выше, он дает мне матрицу 10x10. Затем я должен сгенерировать соответствующие значения z в матрице 10x10 с помощью моей функции, но не смог найти способ разложения x и y, генерировать значения z и переформатировать z в правильной форме.
Основная проблема заключается в том, что у меня мало знаний в области управления данными, поэтому не удалось найти хороший способ выполнить эту задачу. Таким образом, я хотел бы узнать правильный способ создания набора данных для plot_surface, используя мою функцию pdf.
Что такое хороший способ генерации точек данных, чтобы построить такой рисунок, используя мою функцию pdf? Спасибо, что помогли этому newB!
* «Я пытался arange, meshgrid и так далее, но не мог найти способ, чтобы сделать правильные точки данных» * - в чем была проблема с этими методами? Покажите нам свой код. –
@ali_m Я только что добавил то, что я пробовал. Спасибо за вашу помощь! – noclew