如何在Arduino上執行基本的線性代數?


BasicLinearAlgebra庫有助於表示矩陣並在Arduino上執行矩陣運算。要安裝它,請在庫管理器中搜索“BasicLinearAlgebra”。

安裝完成後,轉到:檔案 → 示例 → BasicLinearAlgebra → HowToUse

顧名思義,此示例演示瞭如何使用此庫。雖然此示例中的註釋已做了大部分解釋,但以下是一些有助於說明此庫用法的提示:

在開始之前,您需要包含庫並定義BLA名稱空間,因為所有函式都封裝在BLA名稱空間中。

#include <BasicLinearAlgebra.h>
using 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板上進行許多複雜的計算。

本文的目的是讓您知道此庫的存在以及此庫的各種可能性。此外,不用說,此庫也允許在序列監視器上列印矩陣。

輸出

如果您執行此示例,則您的序列監視器輸出如下所示:

更新於:2021年7月26日

1K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.