如何在 Arduino 上进行基本线性代数运算?
arduinosoftware & codinghardware
BasicLinearAlgebra 库用于在 Arduino 上表示矩阵并执行矩阵运算。要安装它,请在库管理器中搜索"BasicLinearAlgebra"。

安装完成后,请转到:文件 → Examples → BasicLinearAlgebra → HowToUse
顾名思义,此示例演示了如何使用此库。虽然本示例中的注释已经解释了很多,但这里还是提供一些要点来帮助说明如何使用此库。
在开始之前,您需要包含此库并定义 BLA 命名空间,因为所有函数都封装在 BLA 命名空间中。
#includeusing namespace BLA;
矩阵的定义语法如下:
BLA::Matrix<3,3> A;
向量的定义语法如下:
BLA::Matrix<3> v;
要将矩阵/向量的每个元素设置为特定值,请使用 Fill() 函数。
v.Fill(0);
可以使用 `.getRowCount()` 和 `.getColCount()` 分别获取矩阵的行数和列数。
可以使用 `.Inverse()` 函数计算矩阵的逆。
要获取转置矩阵,请使用 `~` 运算符。`A_T = ~A`。
可以使用以下语法初始化矩阵:`−`。
BLA::Matrix<3,3> B = {6.54, 3.66, 2.95,
3.22, 7.54, 5.12,
8.98, 9.99, 1.56};
或者使用 Eigen 风格的逗号表示法 -
A << 3.25, 5.67, 8.67, 4.55, 7.23, 9.00, 2.35, 5.73, 10.56;
您可以使用 || 运算符水平连接两个矩阵,使用 && 运算符垂直连接两个矩阵。
BLA::Matrix<3,6> AleftOfB = A || B; BLA::Matrix<6,3> AonTopOfB = A && B;
还有其他几种运算(乘法、加法、减法等)。建议您通读整个示例(其中包含大量注释),以了解这些不同运算的语法。此外,强烈建议您阅读此库附带的其他示例。借助此库,现在可以在 Arduino 上执行许多复杂的计算。
本文旨在让您了解此库的存在以及它的功能。此外,毋庸置疑,此库还允许在串口监视器上打印矩阵。
输出
如果您运行此示例,您的串口监视器输出将如下所示。


