@ElMigele
студент

Как изменить значения вектора?

Объявил переменную и задал для нее значения:
dphi = x[0:2] * 0.1
      
p     = np.zeros((4)) 
dp    = np.zeros((4))
      
dp[0] = (-dphi[0] * p[1] - dphi[1] * p[2] - dphi[2] * p[3])/2
dp[1] = ( dphi[0] * p[0] + dphi[2] * p[2] - dphi[1] * p[3])/2
dp[2] = ( dphi[1] * p[0] - dphi[2] * p[1] + dphi[0] * p[3])/2
dp[3] = ( dphi[2] * p[0] + dphi[1] * p[1] - dphi[0] * p[1])/2

p = p + dp

При запуске программа выдает ошибку:
dp[0] = (-dphi[0] * p[1] - dphi[1] * p[2] - dphi[2] * p[3])/2
IndexError: index 2 is out of bounds for axis 0 with size 2
Что не так и как это исправить?
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ответы на вопрос 1
@borodaturan
Python developer
Вы пытаетесь использовать 3 элемент массива dphi в выражении dphi[2] * p[3]. А создали массив только с 2-мя элементами: dphi = x[0:2] * 0.1.

Судя по всему надо сделать так: dphi = x[: 3] * 0.1.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы