Я не уверен на 100%, что следую всему, но мы можем это сломать. Вот как вы можете сгенерировать 30 случайных чисел от 0 до 2π:
import numpy as np
x = np.random.random(30) * 2*np.pi
Здесь x
- это одномерный массив из 30 чисел. Проверьте это с помощью x.shape
.
Теперь, если вы добавите измерение, легко сгенерировать матрицу мощностей до 10, используя функцию вещания NumPy. Кажется, вопрос задает 11 чисел (от 0 до 10), а не 10, поэтому я сделаю это:
X = x.reshape(-1, 1) ** np.arange(0, 11)
Что reshape
эффективно превращает x
в вектор-столбец. Теперь проверьте X.shape
, и это (30, 11)
, что, как я думаю, вы преследовали. Обратите внимание, что мы используем большую X
для матрицы - это соглашение поможет вам отслеживать вещи. Каждый столбец X
- это исходная функция, возведенная в степень от 0 до 10. (Обратите внимание, что каждый столбец состоит из одного и того же набора случайных чисел - я не уверен, что вы этого хотите?)
Если вы хотите, чтобы y
был функцией x
(вектор), сделайте так:
ϵ = np.random.random(30) * 0.3
y = np.sin(x) + ϵ