dsolve выдает ошибку при попытке решить систему ODE
syms X1(t) X2(t) X3(t) X4(t) X5(t) X6(t) X7(t) X8(t) X9(t) X10(t)
X = [X1; X2; X3; X4; X5; X6; X7; X8; X9; X10];
X0 = X_0;
eqn = diff(X) == -1*A*X;
[X1Sol(t) X2Sol(t) X3Sol(t) X4Sol(t) X5Sol(t) X6Sol(t) X7Sol(t) X8Sol(t) X9Sol(t) X10Sol(t) ] = dsolve(eqn, X0);
Где A - матрица 10x10, а X_0 - вектор-столбец с 10 элементами, значения которых вычисляются заранее. Когда я компилирую этот код, Matlab выдает мне следующую ошибку:
Ошибка при использовании mupadengine/feval (строка 157) Ошибка MuPAD: Ошибка: неверные уравнения. [Ода:: новый]
Ошибка в dsolve>mupadDsolve (строка 325) T = feval(symengine,'symobj::dsolve',sys,x,options);
Ошибка в dsolve (строка 186) sol = mupadDsolve(аргументы, параметры);
Может кто-нибудь сказать мне, что происходит и что такое исправление? Я использую Matlab R2012a.
1 ответ
Я не могу найти ошибку, когда включить X_0
а также A
в sysms
syms X1(t) X2(t) X3(t) X4(t) X5(t) X6(t) X7(t) X8(t) X9(t) X10(t) X_0 A
X = [X1; X2; X3; X4; X5; X6; X7; X8; X9; X10];
X0 = X_0;
eqn = diff(X) == -1*A*X;
[X1Sol(t) X2Sol(t) X3Sol(t) X4Sol(t) X5Sol(t) X6Sol(t) X7Sol(t) X8Sol(t) X9Sol(t) X10Sol(t) ] = dsolve(eqn,X0)