Построение кватерниона в MATLAB с использованием «Engine.h» из C ++

StackOverflow https://stackoverflow.com/questions/8816417

Вопрос

У меня есть алгоритм в C ++, который использует фильтр Калмана. Где -то в коде предсказание кватерниона Q ' А потом я обновляю кватернион с фильтром Калмана Q..

Я хочу построить две графики в Matlab с эволюцией прогнозируемого кватерниона и исправленного (обновленного) кватерниона, поэтому я использую библиотеку "Engine.h", чтобы отправить информацию о кватернионе в MATLAB во время обработки (на самом деле то, что я отправляю, является матрицей 4x1) Анкет

Итак, мой вопрос: Как лучше всего построить кватернион в Matlab, чтобы я мог визуально извлечь информацию? Может быть, лучше построить углы отдельно?

Это было полезно?

Решение

Я думаю, что хороший вариант - отправка кватернион в качестве вектора на Matlab, используя двигатель C ++ Matlab

QX QY QZ QW

Затем в среде Matlab вы можете использовать ящик для инструментов Для перевода на углы Эйлера, что является общим визуальным вариантом.

Для добавления пути инструментального ящика в двигателе Matlab:

addpath(genpath('C:\Program Files (x86)\MATLAB\R2010a\toolbox\SpinCalc'));

С помощью инструментов Spincalc преобразование было бы чем -то вроде этого:

Angles=SpinCalc('QtoEA321',Quaternion,0,0);

Другие советы

Что ж, предполагая, что вопрос в том, как хорошо визуализировать 4D -пространство », я могу придумать несколько вариантов:

  • Показать несколько ломтиков пространства, то есть для (x, y, z, t) -> (x, y), (y, z) и т. Д.
  • Покажите (x, y) как рассеянный график и кодируйте информацию о цвете z, размер точки. Для этого вы можете использовать рассеянный Команда:

Scatter (x, y, s, c) отображает цветные кружки в местах, указанных векторами x и y (которые должны быть одинакового размера).

Если ваш вопрос был «как визуализировать хорошим способом, квартирами, Проверь это

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top