Я получаю случайное значение -nan или nan после выполнения матричного умножения. Я использую DCM для поворота координат, скорости и ускорения, а результат сохраняется в файлах HarmonizeCoordinates, HarmonizeVelocity и HarmonizeAceleration соответственно.
Я получаю случайное значение -nan< /code> или nan после умножения DCM. Любой из этих векторов приводит к результату nan, и он совершенно случайен и совершенно непредсказуем.
Во время одного события выполнения они составляют около 6000-10000 итераций, где DCM применяется 2 раза за итерацию, и в среднем я получаю 6-8 нан< /код> вывод. Я также заметил, что из 10 событий выполнения я сталкиваюсь с этой проблемой nan с 4-6 событиями.
Язык: C++17
Операционная система: vxWorks 7
Библиотека: Eigen 3.4.0
ЦП: Intel i7 11-го поколения
Флаги включения CMake AVX2
SET(CLANG_AVX_FLAGS "-O3 -march=native -mprefer-vector-width=256 -ffast-math")
set(CMAKE_CXX_FLAGS "${CLANG_AVX_FLAGS} -Wall -pedantic -g")
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DEIGEN_NO_DEBUG")
Результат:
DCM :
0.707107 -0.707107 0
0.707107 0.707107 0
0 0 1
Coordinate:
-nan
-nan
-nan
Velocity
-83.3332
-83.3332
-83.3333
Acceleration
0
0
0
Код:
#include "Eigen/Dense"
#include
Eigen::Vector3d harmonizeCoordinates, harmonizeVelocity, harmonizeAcceleration;
Eigen::Vector3d coordinates, velocity, accceleration;
coordinates
Подробнее здесь: https://stackoverflow.com/questions/793 ... n-randomly
Операция eigen::vector3d или eigen::matrix3d, приводящая к случайному результату nan или -nan ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Операция eigen::vector3d или eigen::matrix3d, приводящая к случайному результату nan или -nan
Anonymous » » в форуме C++ - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-