Создание массива numpy, содержащего векторы координат его элементов:Python

Программы на Python
Anonymous
Создание массива numpy, содержащего векторы координат его элементов:

Сообщение Anonymous »

Я хотел бы создать массивы формы (n,)*n, элементы которых являются собственными координатными векторами элементов. Например, случай n=2:

Код: Выделить всё

array([[[0,0], [0,1]],
[[1,0], [1,1]]])
На данный момент у меня есть код:

Код: Выделить всё

def coords(n):
M = numpy.fromfunction(
function = lambda *i: list(i),
shape = (n,)*n
)
return M
Однако при этом выводится список из n массивов, каждый из которых имеет форму (n,)*n , где m-й массив является проекцией m-й координаты . Например, для координат(2) выводится:

Код: Выделить всё

[array([[0., 0.],
[1., 1.]]),
array([[0., 1.],
[0., 1.]])]
... поэтому первый массив является проекцией координаты x, а второй массив — проекцией координаты y.
I считаете, что это потому, что лямбда-функции не могут иметь векторные выходные данные? Если да, то что еще, кроме лямбда-функции, я могу использовать внутри выражения numpy.fromfunction? Должен ли я использовать что-то совершенно отличное от numpy.fromfunction?
Буду очень признателен за любую помощь! Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... te-vectors

Вернуться в «Python»