Замена определенного столбца массива другим массивом: причина ошибки - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь решить ряд линейных уравнений, которые решаются рекурсивно.На каждом временном шаге мое решение gamma имеет форму (3,1).Эта система итеративно решается 20 раз, чтобы получить окончательное значение gamma.

Я пытаюсь сохранить значения gamma каждый раз в другом массиве, чтобы получить доступ к значениям gamma на каждом шаге после завершения выполнения кода.Когда я пытаюсь сохранить значение gamma после каждого шага в gamma_solution, он выдает следующую ошибку:

SyntaxError: can't assign to function call

Где я иду не так?Есть ли лучший способ сделать это?

Спасибо

Входной код:

gamma_solution = np.zeros((3,#_of_steps))

for i in range(#_of_steps):
    <code to solve a system of equations to give gamma as result>
    gamma_solution[:,i].reshape((3,1)) = gamma

Выход:

Error

Ожидание: на каждом шагеi, сохранить значение гаммы, полученное на шаге, в i-м столбце gamma_solution

1 Ответ

0 голосов
/ 22 апреля 2019

Хорошо, gamma_solution форма 3xN, gamma_solution[:, j] shape is (3,), so you need to transpose гамма (that has shape (3, 1)) to store it in j-th column of gamma_solution`. Смотрите код ниже:

import numpy as np
N = 10
gamma_solution = np.zeros((3, N))
gamma = np.arange(3)[:, np.newaxis]
for j in range(N):  # main loop where gamma values are computed
    gamma_solution[:, j] = gamma.T
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...