Как я могу использовать Sympy для решения матричного дифференциального уравнения?
У меня есть уравнение вида y '(t) = A * y (t) + B, где A - матрица 3x3,y (t) - вектор 1x3, а B - вектор 1x3.
В частности, я работаю над проблемой компьютерной графики, которая использует дифференциальное уравнение для перемещения точек в 3D.У меня есть точка в трехмерном пространстве y (t), матрица вращения 3x3 и вектор перевода.Уравнение y '= Ay + B является упрощением реальной проблемы, над которой я работаю, но я не смог использовать Sympy для решения даже y' = Ay + B.Я ищу решение в закрытой форме (не числовой ответ) в Sympy.
Я знаю, как решить уравнение y '= Ay + B, но я хочу использовать Sympy, чтобы найти то же решение,а затем адаптировать код к более сложной проблеме, которую я пытаюсь решить.
Мой текущий код такой:
from sympy import *
y0 = Function('y0')
y1 = Function('y1')
y2 = Function('y2')
t = symbols(('t'))
b0,b1,b2 = symbols(('b0:3'))
y = Matrix([y0(t), y1(t), y2(t)])
B = Matrix([b0,b1,b2])
ode = Eq(y.diff(t), y)
soln = dsolve(ode, y0(t),y1(t),y2(t))
, но это вызывает ошибку Python
TypeError: cannot add <class 'sympy.matrices.immutable.ImmutableDenseMatrix'> and <class 'sympy.core.symbol.Dummy'>
В приведенном выше примере он использует еще более упрощенный пример y '= y + B, но даже это не работает.
Каков наилучший способ решения подобных проблем в Sympy?