Ошибка значения: операнды не удалось передать вместе с фигурами (100,2) (4,2,100)

#python #numpy #psychopy

Вопрос:

Используя конструктор психопатий, я пытаюсь создать стимулы, состоящие из 100 строк, которые расположены случайным образом с ориентациями, выбранными из распределения Гаусса. Я пытаюсь настроить значения для положения (pos) и ориентации (ori), используя окно кодирования конструктора; вот сценарий, который я использую:

 ori = []
pos = []

for i_ori in range(100):
    
    ori.append(random.gauss(mu, sigma))

x = np.random.uniform(-0.1, 0.1, 100)

for i_pos in range(100):

    
    y = [np.random.uniform(-0.1, 0.1), x[i_pos]]
    pos.append(y)
 

Я получаю сообщение об ошибке:

 File "C:Usersr02mj20AppDataLocalPsychoPy3libsite-packagespsychopytoolsmonitorunittools.py", line 69, in _height2pix
    return (pos   vertices) * win.size[1]
ValueError: operands could not be broadcast together with shapes (100,2) (4,2,100) 
 

Я новичок в python (и кодировании в целом), поэтому я не уверен, откуда берутся значения (100,2) (4,2 100). Я попытался отредактировать код (например, удалить ориентации или удалить позиции), чтобы посмотреть, смогу ли я это сделать, но, похоже, не имеет значения, что я делаю, каждый раз я получаю одно и то же сообщение об ошибке. Любая помощь была бы очень признательна — спасибо.

Комментарии:

1. Мне бы пригодилась дополнительная информация, вы передаете ori и pos функции в библиотеке психопатии? вы ведь не редактируете файлы библиотеки, не так ли? — потому что не делай этого

2. Для дальнейшего использования, пожалуйста, опубликуйте весь текст сообщения об ошибке и весь соответствующий код. Код, который вы показываете выше, не является причиной ошибки: все, что он делает, — это создает переменные. Ошибка, по-видимому, возникает, когда вы пытаетесь передать одну из этих переменных психопатическому стимулу, API которого ожидает, что параметр будет иметь другую форму (т. Е. размеры), чем вы предоставляете. Не видя этого оскорбительного звонка, вам очень трудно помочь.