C Eigen之初體驗

2021-09-10 03:12:56 字數 1373 閱讀 9443

1、動態矩陣和靜態矩陣

動態矩陣:matrixxd m = matrixxd::random(3,3);  

靜態矩陣:matrix3d m = matrix3d::random();

x表示動態,d表示double,同理int用i表示。

2、矩陣元素的訪問

在矩陣的訪問中,行索引總是作為第乙個引數,需注意eigen中遵循大家的習慣讓矩陣、陣列、向量的下標都是從0開始。矩陣元素的訪問可以通過()操作符完成。在eigen中過載了"<<"操作符,通過該操作符即可以乙個乙個元素的進行賦值,也可以一塊一塊的賦值。

//#include "stdafx.h"

#include #include "eigen\dense"

using namespace std;

using namespace eigen;

int _tmain(int argc, _tchar* ar**)

{ matrixxi m(3,3);

m<<1,2,3,

4,5,6,

7,8,9;

cout<

輸出結果為5。

3、重置矩陣大小

當前矩陣的行數、列數、大小可以通過rows(),cols()和size()來獲取,對於動態矩陣可以通過resize()函式來動態修改矩陣的大小。

//#include "stdafx.h"

#include #include "eigen\dense"

using namespace std;

using namespace eigen;

int _tmain(int argc, _tchar* ar**)

{ matrixxi m(3,3);

m<<1,2,3,

4,5,6,

7,8,9;

cout<

4、矩陣的運算

//#include "stdafx.h"

#include #include "eigen\dense"

using namespace std;

using namespace eigen;

int _tmain(int argc, _tchar* ar**)

{ matrixxd m(2,2);

matrixxd n(2,2);

m<<1,2,

4,5;

n<<1,3,

7,1;

matrixxd i;

i=m*n;

cout<

5、矩陣求逆

a=a.inverse();

a=a.transpose();

i=a.array()*b.array()//單個元素操作(點乘)

bing之初體驗

哈哈,期待已久的微軟搜尋引擎bing 必應 的中文版今天終於推出了。剛開始使用google搜尋其主頁時怎麼也搜尋不到,還以為微軟食言。後來轉念一想,bing很可能是google未來的最大競爭對手,在當前這個還不為人所熟知的階段,很有可能給對方穿穿小鞋的。於是用在ie自帶的搜尋工具條上鍵入bing之後...

Statspack之初體驗

呵呵,今晚之前從來沒有做過statspack 好像有點丟人 這幾天乙個資料庫實在被折磨得不行了,明明sga max size有1.5g,但是實際看整個例項才用了200 m記憶體,慢得要死,頻繁讀寫硬碟,偏偏硬碟又不是磁碟陣列,io狂慢,唉,痛苦啊。於是決定花點時間學下例項優化,今天列印了幾頁perf...

ZigBee之初體驗

古人說 工欲善其事,必先利其器 簡單看懂原理圖還是有必要的,雖然自己幾乎沒有硬體基礎,短時期畫所謂的版子不具現實意義。晶元原理圖自從有人說u是晶元標誌,p是埠,c是電容,r是電阻,s是按鍵,led是led燈。後才漸漸明白 引腳標記相同的,學長說表示版子內部已連線,至於露在外面的引腳他們說是用來跳線用...