exponenta event banner

dcm2quat

Преобразование косинусной матрицы направления в кватернион

Синтаксис

q = dcm2quat(n)
q = dcm2quat(n,action)
q = dcm2quat(n,action,tolerance)

Описание

q = dcm2quat(n) вычисляет кватернион, q, для данной косинусной матрицы направления, n. Вход n является 3-на-3-на-m матрица косинусных матриц ортогонального направления. Матрица направления косинуса выполняет координатное преобразование вектора в инерциальных осях в вектор в осях тела. q возвращает m-by-4 матрица, содержащая m кватернионы. q имеет скалярное число в качестве первого столбца.

Эта функция применяется только к координатно-косинусным матрицам, ортогональным с определителем + 1.

q = dcm2quat(n,action) выступает action если косинусная матрица направления недопустима (не ортогональна).

  • Предупреждение (Warning) - отображает предупреждение и указывает, что матрица направления косинуса недопустима.

  • Ошибка - отображает ошибку и указывает, что матрица направления косинуса недопустима.

  • Нет - не отображает предупреждение или ошибку (по умолчанию).

q = dcm2quat(n,action,tolerance) использует tolerance уровень для оценки, если направление косинусная матрица, n, является допустимым (ортогональным). tolerance скаляр, значение по умолчанию eps(2) (4.4409e-16). Функция считает косинусную матрицу направления действительной, если выполняются следующие условия:

  • Транспонирование матрицы направления косинуса само по себе равно 1 в пределах заданного допуска (transpose(n)*n == 1±tolerance)

  • Определитель косинусной матрицы направления равен 1 в пределах заданного допуска (det(n) == 1±tolerance).

Примеры

Определите кватернион по косинусной матрице направления:

dcm = [0 1 0; 1 0 0; 0 0 -1];
q = dcm2quat(dcm)
q =

         0    0.7071    0.7071         0

Определите кватернионы из многосторонних косинусных матриц:

dcm        = [ 0 1 0; 1 0 0; 0 0 -1]; 
dcm(:,:,2) = [ 0.4330    0.2500   -0.8660; ...
               0.1768    0.9186    0.3536; ...
               0.8839   -0.3062    0.3536];
q = dcm2quat(dcm)
q =

         0    0.7071    0.7071         0
    0.8224    0.2006    0.5320    0.0223

Определите кватернион из матрицы направления косинуса, проверенной в пределах допуска:

dcm = [0 1 0; 1 0 0; 0 0 -1];
q = dcm2quat(dcm,'Warning',0.1)

q =

         0    0.7071    0.7071         0
Представлен в R2006b