Построение кватерниона в MATLAB с использованием «Engine.h» из C ++
-
27-10-2019 - |
Вопрос
У меня есть алгоритм в 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 (которые должны быть одинакового размера).
Если ваш вопрос был «как визуализировать хорошим способом, квартирами, Проверь это