Матричное дифференциальное уравнение.Solve Ax '= Bx + b - PullRequest
0 голосов
/ 17 мая 2018

У меня есть матричное дифференциальное уравнение Ax'=Bx+b, где A и B - матрицы N*N, а b - вектор.

Я хочу решить его с помощью Python.Надеюсь, кто-нибудь может мне помочь.

Ура!

1 Ответ

0 голосов
/ 17 мая 2018

Если ваша матрица A регулярна, функция для передачи на odeint равна

def odefunc(x,t):
    return numpy.linalg.solve(A, B.dot(x)+c)

Конечно, вы также можете вычислить обратное значение A и умножить уравнение влево на него.

B = numpy.linalg.solve(A, B)
c = numpy.linalg.solve(A, c)
odefunc = lambda x,t: B.dot(x)+c
...