Arduino Matrix Math?
-
26-12-2019 - |
Вопрос
Я ищу библиотеку, которая может обрабатывать матрицу математики на Arduino.Я знаю, что есть одна библиотека, представленная на Arduino Playground , но я нашел это, чтобы бытьНебольшое злоустройство в неспособности обрабатывать плохо условные матрицы, а также его пользовательский интерфейс - это маленький Kludgy.
Есть ли альтернативы?Предпочтительно, которые имеют какую-то репутацию, например, Armadillo или Petsc?Я хотел бы использовать один из больших, но кажется, что они все переместились на C ++ 11, что еще не поддерживается Arduino IDE.Мой другой вариант - обновить AVR GCC до последней, используйте Atmel Studio / Visual Studio и построить вещи сам.Тогда я должен быть в состоянии использовать одну из этих других зрелых библиотек.Я бы предпочел не придеться к этой кроличной дыре, тем более, что ядро Arduino не гарантировано работать с C ++ 11.
Решение
bam!
eigen
Лучшая библиотека Matrix C ++ имеет порт Arduino!
Другие советы
Это работает!Пробежал через простую программу, которую я могу проверить:
#include <stlport.h>
#include <Eigen30.h>
using Eigen::MatrixXd;
MatrixXd m(2, 2);
void setup()
{
Serial.begin(115200);
/* add setup code here */
m(0, 0) = 3;
m(1, 0) = 2.5;
m(0, 1) = -1;
m(1, 1) = m(1, 0) + m(0, 1);
}
void loop()
{
/* add main program code here */
Serial.println(m(1,1));
delay(2000);
}
.
Вы правы о раздувании, хотя, как этот эскиз был> 5 КБ.