介紹Array 類和其相關的係數運算方式


layout: post
title: “Eigen - The Array class”
date: 2019-5-28
description: “Eigen說明文檔(1.3)”
tag: Eigen

介紹Array 類和其相關的係數運算方式

什麼是Array類?

Array類跟前面介紹的Matrix相似,不過在形式和運算方式上略有區別。Array主要用於線性代數的運算中。
Array類的形式如下:
Array<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>

以ArrayNt 爲例,其表示的是一維的數組,N和t分別表示數組大小和數值類型。對於二維的數組,通常採用ArrayNNt的形式。

Array數組賦值

Array數組的賦值方式可以參見上圖,具體形式與Matrix相同。這裏就不再贅述。

Array數組的數學運算

Array數組的加減運算與MAtrix相同,不過,如果兩個Array,a,b之間的運算就要求數組a和數組b的形式相同。
需要特殊注意的是,Array的乘法運算是相應元素之間的運算。這是與Matrix最大的區別。

相應的Array提供了一系列相關的函數運算:

  • .abs() :對數組中的元素求絕對值
  • .sqrt() :對數組的元素開根號
  • .min() :這個函數是比較兩個Array數組,相應位置上取二者較小值

Array數組與Matrix數組之間的轉化

Matrix 和 Array 數組之間的轉換可以通過函數:.array() 、.matrix()實現。而且,Matrix也可以調用函數.cwiseProduct()實現Array的數值運算方式。
而且,Matrix 和Array在數組形式相同的情況下支持相互賦值。


*轉載請註明原地址,鄧輝的博客:[https://github.com/my-lord/mylord.github.io](https://github.com/my-lord/mylord.github.io) 謝謝!*

Don’t Panic.

請各位大佬多多打賞


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章