Я хочу создать n (1,2) массивов, и каждый массив должен иметь одинаковые элементы.Сначала я генерирую n раз 1 D массив, а затем использую цикл для итерации по этим элементам и повторяю каждый элемент для заполнения (n, 1,2) массива.мой код следующий:
import numpy as np
def u_vec():
return np.array([np.random.rand(1)])
n=10
u1 = np.zeros(n)
for i in range(n):
u1[i] = u_vec()
print(u1)
def u_vec1():
u_vec = np.zeros((n, 2,1))
for i in range(len(u1)):
u_vec[i] += np.tile(u1[i], (2,1))
return u_vec
u = u_vec1()
print(u)
вывод, который я получаю:
[0.4594466 0.80924903 0.3186138 0.03601917 0.9116031 0.68199505
0.78999837 0.33778259 0.97626521 0.84925156]
[[[0.4594466 0.4594466]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]
[[0. 0. ]]]
Я не понимаю, почему заполнен только первый элемент, а остальные заполнены нулями.Может ли кто-нибудь помочь мне?Большое спасибо!вывод, который я хотел бы иметь
[[[0.4594466 0.4594466]]
[[0.3186138 0.3186138]]
[[ 0.03601917 0.03601917]]
[[ 0.9116031 0.9116031 ]]
[[0.68199505 0.68199505]]
[[0.78999837 0.78999837]]
[[0.33778259 0.33778259]]
[[0.97626521 0.97626521]]
[[0.84925156 0.84925156]]]]