Как я могу получить числовые значения системы symboli c? - PullRequest
1 голос
/ 21 апреля 2020

Как рассчитать roll, pitch, yaw? Нам нужно найти числовые значения символов c переменных roll, pitch, yaw.

syms roll pitch yaw
C1i=[cos(yaw) sin(yaw) 0;
    -sin(yaw) cos(yaw) 0;
    0 0 1];

C21=[cos(pitch) 0 -sin(pitch);
    0        1    0;
     sin(pitch) 0 cos(pitch)];

 Cb2=[1   0     0;
     0   cos(roll) sin(roll);
    0   -sin(roll) cos(roll)];

Cequivalent = Cb2*C21*C1i

R = [ 0.8748 -0.4636 0.1410; 0.4779 0.8735 -0.0933; -0.0799 0.1490 0.9856];
R == Cequivalent

1 Ответ

3 голосов
/ 21 апреля 2020

Вы можете просто решить систему уравнений для ваших переменных:

res = solve( vpa(R) == Cequivalent, roll, pitch, yaw);

Однако решения не существует, поэтому я предполагаю, что вы где-то допустили ошибку.

Результат будет в арифметика переменной точности c (VPA) и может быть преобразована в двойное значение:

res = double(res);
...