@ElMigele
студент

Как составить уравнения для элементов массива?

У меня есть массив dp:
def d_phi(a, b):
            return a
      dphi = quad(d_phi, t, t + 0.01, args=(x[0:2]))
      
      p     = np.zeros((1,4)) # Лучше объявить до начала работы функции
      dp    = np.zeros((1,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

Но при запуске всплывает ошибка:
IndexError: index 1 is out of bounds for axis 0 with size 1
Что я сделал не так?
  • Вопрос задан
  • 1972 просмотра
Решения вопроса 2
AnnTHony
@AnnTHony
Интроверт
Очевидно же из ошибки, что проблема в индексах (в объявлении массива)
Что делает эта строчка?
dp = np.zeros((1,4))
Ответ написан
Комментировать
@nirvimel
dp = np.zeros((1,4))
Создает двумерный массив.
Если вам нужен одномерный с четырьмя элементами, тогда:
dp = np.zeros(4)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы