Я ищу библиотеку, которая может работать с математикой на Arduino. Я знаю, что на Arduino Детская площадка, но я обнаружил, что он немного слабоват в том, что не может работать с плохо обусловленными матрицами, а его пользовательский интерфейс немного сложен.
Есть ли альтернативы? Желательно те, которые имеют какую-то репутацию, например, Armadillo или PETsc? Я бы хотел использовать один из самых больших, но, похоже, все они перешли на C ++ 11, который еще не поддерживается в Arduino IDE. Мой другой вариант — обновить AVR-GCC до последней версии, использовать Atmel Studio / Visual Studio и собирать вещи самостоятельно. Тогда я смогу использовать одну из этих зрелых библиотек. Я бы предпочел не идти по этой кроличьей норе, тем более что ядро Arduino не гарантирует работу с C ++ 11.
BAM!
eigen
лучшая матричная библиотека 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 КБ.