#python #arrays #python-3.x #matrix
Вопрос:
Я новичок в python. Я хочу создать 3D-матрицу из функции. В 3D-матрице первые два значения взяты из 2D-матрицы (C), а в третьем значении мы возьмем количество нулей и единиц, используя np.нули(10). У меня есть C (2D матрица) следующим образом:
C= [[1. 2.]
[2. 3.]
[3. 4.]]
теперь я хочу преобразовать из 2D в три 3D матрицы, В первых двух строках и столбцах я хочу получить данные из 2D матрицы, например, 1-й столбец должен быть [1], а 2-й столбец должен быть [2]. в 3-м столбце у меня 1-й массив выглядит так
D= [1 1 0 0 0 0 0 0 0 0]
Если мы заключим 3D-матрицу, она должна стать n*n*m, where n=c[1],n=c[2] and m=D.
Для того, чтобы сделать 3D-матрицу из вышеуказанных массивов. Я написал код следующим образом:
def matrix(C):
for i in range(len(C)):
temp[i,:] = m[c[i,1],c[i,2],D]
print(temp)
Эти линии выдают ошибку вне диапазона. Как это сделать?
Я ищу, чтобы сгенерировать такой массив: 1-й представляет строку, 2-й представляет столбец, а 3-й представляет значения, существующие между этой строкой и столбцом. Как этого добиться в Python?
[[[1. 2. 1 1 0 0 0 0 0 0 0 0] [2. 3. 1 1 0 0 0 0 0 0 0 0] [3. 4. 1 1 0 0 0 0 0 0 0 0]]]
| 1 | 2 | 3 |4 |
1|:------------------|1 1 0 0 0 0 0 0 0 0|:------------------|:------------------|
2|:------------------|:------------------|1 1 0 0 0 0 0 0 0 0|:------------------|
3|:------------------|:------------------|:------------------|1 1 0 0 0 0 0 0 0 0|
любая помощь была бы очень признательна.
Комментарии:
1. Удалил
matlab
тег, так как в этом вопросе нет упоминания о языке MATLAB