Короткая заметка касательно пакета Quaternion для Octave. И, скорее всего, специфичная для ArchLinux/Manjaro.
Итак, пакет ставится из AUR:
yay -S octave-quaternion
Для использования в Octave нужно выполнить:
pkg load quaternion
Ну а дальше всё согласно документации:
octave:2> q = quaternion(1)
q = 1 + 0i + 0j + 0k
Но где-то на этом шаге можно получить ошибку:
is_real_array undefined
Происходит это, обычно, после обновления Octave, когда меняется версия API: пакет собирает библиотеку для текущей версии API Octave и помещает её в то место, где Octave может её найти согласно версии API:
/usr/lib/octave/packages/quaternion-2.4.0/x86_64-pc-linux-gnu-api-v59/
Решение: просто пересобрать пакет после обновления Octave:
yay -S --rebuild octave-quaternion
Схожая тематика вращения
- Matlab/Octave Rotations Library
-
https://octave.sourceforge.io/matgeom/function/rotation3dToEulerAngles.html
- пакет
matgeom
- документация
yay -S octave-matgeom
- не забывать после смены API перестраивать.
- пакет
- https://github.com/mindThomas/MATLAB-tools/blob/master/Quaternion/quat2eul.m