Новое на python и пытается научить себя языку. Я понимаю основы R и SAS, однако я все еще участвую в том, как манипулировать массивами и изучать базовый питон в spyder.Подача всех комбинаций массива x и y в функцию f (x, y)
Мне очень понравилась бы ваша помощь с подачей как x, так и y в функцию f (x, y) (например, sin (xy) для простоты).
Как правило, в R я создавал бы фрейм данных, расширяя значения x и y, чтобы создавать каждую комбинацию (уникальные x и y для каждой строки), затем запускать мои строки с помощью моей функции и присоединять новый столбец в моем фреймворке данных, и участок контура участка с использованием решетки и т.д.
Для одной и той же функции Р (х, у) = г = sin (х, у), в питоне я попытался
x = np.linspace(0, 1, 100)
y = np.linspace(-1, 11, 100)
z= np.equ(x,y)
, которые, очевидно, не работал бы, но Я не уверен, как это сделать.
Это был предпринят после того, как пытался манипулировать следующий код из: Matplotlib line plot of x values against y:
import numpy as np
import matplotlib.pyplot as plt
fig,ax = plt.subplots(1)
# create some x data and some integers for the y axis
x = np.array([3,5,2,4])
y = np.arange(4)
# plot the data
ax.plot(x,y)
# tell matplotlib which yticks to plot
ax.set_yticks([0,1,2,3])
# labelling the yticks according to your list
ax.set_yticklabels(['A','B','C','D'])
Спасибо за любую помощь!
Вы можете попробовать что-то вроде http://stackoverflow.com/questions/8722735/i-want-to-use-matplotlib-to-make-a-3d-plot-given-a-z-function. Здесь они создают комбинации x и y путем тщательного создания xs и ys. – Leo
Один из способов - создать «np.linspace' длины 'len (x) * len (y)', а затем складывать два вектора столбца в матрицу, принимая '%' (модуль) и '/' (деление) этого массива с длиной – martianwars
. Один из способов чтобы использовать itertools.combinations по двум спискам индексов. Затем используйте индексы для извлечения элементов из своих массивов и передайте их вашей функции. – kezzos