dsolve выдает ошибку при попытке решить систему ОДУ

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(args, options);

Может ли кто-нибудь сказать мне, что происходит и что такое исправление? Я использую Matlab R2012a.


person Rhinocerotidae    schedule 18.02.2016    source источник


Ответы (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)
person zhk    schedule 01.12.2016