Я хотел сделать то же самое с матрицей вместо вектора V.Пока уравнение для него может быть правильно читать, не зная, что этот символ представляет собой вектор или матрицу, NDSolve вывел его характер из начального состояния, однако в случае, когда размерность переменной явно:
M'[t]==a[t]*IdentityMatrix[2]+M[t]
он терпит неудачу. «Обычное» решение состоит в том, чтобы явно определить матрицу и сгладить ее, указав в качестве списка переменных.
Однако я пропустил эту проблему (и многие проблемы с синтаксисом relatex), просто представив reduntant переменную, которая должна быть только идентификационной матрицей, но без введения списка (матрица является 2d-списком, поэтому Mathematica действует так же, как при добавлении списков в каждый другой, порождая ошибка):
eqn = {w'[t] == a[t]*identity[t] + w[t], a'[t] == 2, identity'[t] == {{0, 0}, {0, 0}}}
init={ w[0] == {{1, 2}, {2, 1}}, a[0] == 1, identity[0] == {{1, 0}, {0, 1}}}
sol = NDSolve[eqn&&init, {w, a, identity}, {t, 0, 1}]
Некоторые данные о работе:
Plot[{Evaluate[w[t] /. sol][[1, 1, 1]], Evaluate[w[t] /. sol][[1, 1, 2]]}, {t, 0, 1}]
может быть, стоит задать этот вопрос здесь: http://mathematica.stackexchange.com –
Спасибо Доммер! – Mush