После нахождения уравнений движения с использованием символьной Toolbox (R2016b, Windows), у меня есть следующий вид:MATLAB, equationsToMatrix для нелинейных уравнений
M(q)*qddot = b(q,qdot) + u
M
и b
были найдены с помощью equationsToMatrix
.
Теперь мне нужно отделить b
в Кориолиса и потенциальных терминов, что
M(q)*qddot + C(q,qdot)*qdot + G(q) = u
Было бы очень удобно, если бы я мог применить
[C,G] = equationsToMatrix(b,qdot)
, но, к сожалению, не будет фактор qdot
, когда b
является нелинейным. Мне все равно (и на самом деле это необходимо), что C
является функцией от q
и qdot
, даже после разворачивания вектора qdot
. Я пробовал coeffs
и factor
без каких-либо результатов.
Спасибо.
Вы не можете. Нелинейные средства «не могут быть описаны с помощью матрицы». MATLABs 'equationToMatrix' ясно говорит вам« Преобразовать набор ** линейных уравнений ** в матричную форму » –
Я думал, что я бы привлек такой комментарий ... Я знаю, что говорит документация. Я ищу обходное решение или различная функция, чтобы делать то, что мне нужно. Кроме того, они определенно описываются с помощью матрицы; матрица просто заканчивается с qdot-членами. – abatea
Тогда его не численная матрица, ее переменная матрица –