亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C++矩陣處理工具——Eigen

2019-11-14 11:42:43
字體:
來源:轉載
供稿:網友

轉自http://blog.csdn.net/abcjennifer/article/details/7781936 

最近和一些朋友討論到了C++中數學工具的問題,以前總是很2地自己寫矩陣運算,或者有時候在matlab里計算了一些數據再往C程序里倒,唉~想想那些年,我們白寫的代碼啊……人家早已封裝好了!首先推薦幾個可以在C++中調用的數學平臺:eigen、bias、lapack、svd、CMatrix,本文著重eigen做以講解,希望對各位有所幫助。

下面是本文主線,主要圍繞下面幾點進行講解:

**********************************************************************************************

Eigen是什么?

Eigen3哪里下載?

Eigen3的配置

Eigen3 樣例代碼有沒有?

去哪里更深入學習?

**********************************************************************************************

Eigen是什么?

Eigen是C++中可以用來調用并進行矩陣計算的一個庫,里面封裝了一些類,需要的頭文件和功能如下:

Eigen的主頁上有一些更詳細的Eigen介紹。

Eigen3哪里下載?

這里是我下好的,這里是官網主頁,請自行下載,是個code包,不用安裝。

Eigen的配置

直接上圖了,附加包含目錄那里填上你放Eigen文件夾的位置即可。

Eigen的樣例代碼有沒有?

當然有,這篇文章重點就是這里!

以下是我整理的一些常用操作,基本的矩陣運算就在下面了,算是個入門吧~主要分以下幾部分:

建議大家放到編譯環境里去看,因為我這里有一些region的東西,編譯器下更方便看~

[cpp] view plain copyPRint?#include <iostream>  #include <Eigen/Dense>    //using Eigen::MatrixXd;  using namespace Eigen;  using namespace Eigen::internal;  using namespace Eigen::Architecture;    using namespace std;      int main()  {    #pragma region one_d_object        cout<<"*******************1D-object****************"<<endl;        Vector4d v1;      v1<< 1,2,3,4;      cout<<"v1=/n"<<v1<<endl;        VectorXd v2(3);      v2<<1,2,3;      cout<<"v2=/n"<<v2<<endl;        Array4i v3;      v3<<1,2,3,4;      cout<<"v3=/n"<<v3<<endl;        ArrayXf v4(3);      v4<<1,2,3;      cout<<"v4=/n"<<v4<<endl;    #pragma endregion    #pragma region two_d_object            cout<<"*******************2D-object****************"<<endl;      //2D objects:      MatrixXd m(2,2);        //method 1      m(0,0) = 3;      m(1,0) = 2.5;      m(0,1) = -1;      m(1,1) = m(1,0) + m(0,1);        //method 2      m<<3,-1,          2.5,-1.5;      cout <<"m=/n"<< m << endl;    #pragma endregion    #pragma region Comma_initializer        cout<<"*******************Initialization****************"<<endl;        int rows=5;      int cols=5;      MatrixXf m1(rows,cols);      m1<<( Matrix3f()<<1,2,3,4,5,6,7,8,9 ).finished(),          MatrixXf::Zero(3,cols-3),          MatrixXf::Zero(rows-3,3),          MatrixXf::Identity(rows-3,cols-3);      cout<<"m1=/n"<<m1<<endl;    #pragma endregion    #pragma region Runtime_info            cout<<"*******************Runtime Info****************"<<endl;        MatrixXf m2(5,4);      m2<<MatrixXf::Identity(5,4);      cout<<"m2=/n"<<m2<<endl;        MatrixXf m3;      m3=m1*m2;      cout<<"m3.rows()="<<m3.rows()<<"  ;  "               <<"m3.cols()="<< m3.cols()<<endl;            cout<<"m3=/n"<<m3<<endl;    #pragma endregion        #pragma region Resizing            cout<<"*******************Resizing****************"<<endl;        //1D-resize       v1.resize(4);      cout<<"Recover v1 to 4*1 array : v1=/n"<<v1<<endl;        //2D-resize      m.resize(2,3);      m.resize(Eigen::NoChange, 3);      m.resizeLike(m2);      m.resize(2,2);        #pragma endregion    #pragma region Coeff_access            cout<<"*******************Coefficient access****************"<<endl;        float tx=v1(1);      tx=m1(1,1);      cout<<endl;    #pragma endregion    #pragma  region Predefined_matrix        cout<<"*******************Predefined Matrix****************"<<endl;        //1D-object      typedef  Matrix3f   FixedXD;      FixedXD x;            x=FixedXD::Zero();      x=FixedXD::Ones();      x=FixedXD::Constant(tx);//tx is the value      x=FixedXD::Random();      cout<<"x=/n"<<x<<endl;        typedef ArrayXf Dynamic1D;      //或者 typedef VectorXf Dynamic1D      int size=3;      Dynamic1D xx;      xx=Dynamic1D::Zero(size);      xx=Dynamic1D::Ones(size);      xx=Dynamic1D::Constant(size,tx);      xx=Dynamic1D::Random(size);      cout<<"xx=/n"<<x<<endl;        //2D-object      typedef MatrixXf Dynamic2D;      Dynamic2D y;      y=Dynamic2D::Zero(rows,cols);      y=Dynamic2D::Ones(rows,cols);      y=Dynamic2D::Constant(rows,cols,tx);//tx is the value      y=Dynamic2D::Random(rows,cols);    #pragma endregion    #pragma region Arithmetic_Operators        cout<<"******************* Arithmetic_Operators****************"<<endl;        //add & sub      MatrixXf m4(5,4);      MatrixXf m5;      m4=m2+m3;      m3-=m2;        //product      m3=m1*m2;         //transposition      m5=m4.transpose();      //m5=m.adjoint();//伴隨矩陣             //dot product      double xtt;      cout<<"v1=/n"<<v1<<endl;      v2.resize(4);      v2<<VectorXd::Ones(4);      cout<<"v2=/n"<<v2<<endl;        cout<<"*************dot product*************"<<endl;      xtt=v1.dot(v2);      cout<<"v1.*v2="<<xtt<<endl;        //vector norm        cout<<"*************matrix norm*************"<<endl;      xtt=v1.norm();      cout<<"norm of v1="<<xtt<<endl;      xtt=v1.squaredNorm();      cout<<"SquareNorm of v1="<<xtt<<endl;    #pragma endregion    cout<<endl;  }  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一个色综合导航| 欧美性一区二区三区| 亚洲国语精品自产拍在线观看| 久久中文字幕在线| 日韩中文字幕视频在线观看| 精品偷拍各种wc美女嘘嘘| 欧美老少做受xxxx高潮| 亚洲自拍偷拍色图| 亚洲国产精品字幕| 中文字幕亚洲色图| 欧美成人免费一级人片100| 国产午夜精品免费一区二区三区| 精品少妇一区二区30p| 午夜免费在线观看精品视频| 91精品国产综合久久香蕉| 日本一区二区三区在线播放| 欧美与欧洲交xxxx免费观看| 亚洲精品自产拍| 欧美一级大片视频| 黑人与娇小精品av专区| 亚洲**2019国产| 91精品久久久久久久久中文字幕| 亚洲天堂av综合网| 91久久国产精品91久久性色| www.99久久热国产日韩欧美.com| 国产成人高潮免费观看精品| 91av视频在线观看| 日韩hd视频在线观看| 欧美成人亚洲成人| 国外成人在线播放| 亚洲自拍av在线| 亚洲成人a**站| 欧美精品激情在线| 久久国产精品久久国产精品| 国产精品中文久久久久久久| 欧美高清性猛交| 国产精品999999| 97视频在线播放| 欧美精品在线观看91| 中文字幕亚洲欧美日韩高清| 国产精品入口福利| 亚洲高清一二三区| 姬川优奈aav一区二区| 91精品国产91久久久久久久久| 欧美色另类天堂2015| 国产精品一香蕉国产线看观看| 国产精品色婷婷视频| 欧美亚洲在线视频| 久久九九免费视频| 亚洲精选在线观看| 成人疯狂猛交xxx| 精品女同一区二区三区在线播放| 91久久精品国产| 亚洲91av视频| 亚洲激情 国产| 欧美一级电影久久| 最近2019年中文视频免费在线观看| 91国产精品91| 亚洲黄页网在线观看| 91亚洲一区精品| 日本久久久久久| 欧美丰满少妇xxxx| 精品自在线视频| 亚洲国产精品成人av| 在线观看成人黄色| 欧美性xxxx极品高清hd直播| 青青精品视频播放| 久久偷看各类女兵18女厕嘘嘘| 国产日韩欧美影视| 欧美噜噜久久久xxx| 亚洲一区二区三区视频播放| 欧美精品999| 久久男人av资源网站| 国产成人一区二区三区电影| 福利微拍一区二区| 久久精品国产一区二区电影| 亚洲一区二区三区视频| 中文字幕v亚洲ⅴv天堂| 日韩av电影院| 亚洲国产成人久久综合一区| 超碰精品一区二区三区乱码| 色偷偷88888欧美精品久久久| 九九久久久久久久久激情| 日韩精品在线视频美女| 国产91网红主播在线观看| 精品成人在线视频| 最近2019年日本中文免费字幕| 成人午夜在线观看| 一本色道久久88综合日韩精品| 91精品国产网站| 亚洲自拍偷拍色图| 2018日韩中文字幕| 精品国产一区二区三区久久狼黑人| 久久久精品在线| 亚洲性生活视频在线观看| 日韩电影免费观看中文字幕| 国产一区二中文字幕在线看| 国产精品久久久久福利| 国产小视频91| 日本一区二区三区四区视频| 九九九久久久久久| 久久综合免费视频| 精品一区电影国产| 久久夜色精品国产亚洲aⅴ| 日韩电影免费在线观看| 欧美xxxx18国产| 亚洲欧洲日本专区| 久热精品视频在线| 亚洲亚裔videos黑人hd| 日韩欧美一区二区在线| 成人在线播放av| 国产人妖伪娘一区91| 亚洲第一精品夜夜躁人人躁| 久久久久久久91| 欧美午夜精品久久久久久浪潮| 青青草99啪国产免费| 欧美在线国产精品| 亚洲的天堂在线中文字幕| 久久男人av资源网站| 日韩中文字幕不卡视频| 亚洲精品国产精品自产a区红杏吧| 欧美中文在线字幕| 国产91精品不卡视频| 欧美激情一区二区三区成人| 国产人妖伪娘一区91| 久久精品国产亚洲| 国产香蕉一区二区三区在线视频| 久久99国产精品自在自在app| 日韩av在线免费播放| 92裸体在线视频网站| 国产一区av在线| 91精品视频免费看| 久久精品国产亚洲精品| 91啪国产在线| 欧美日韩一区二区免费在线观看| 国产一区二区美女视频| 亚洲黄色成人网| 亚洲毛片在线观看| 欧美日韩亚洲网| 热久久免费国产视频| 日韩最新av在线| 亚洲国产精品久久久久秋霞蜜臀| 亚洲福利在线视频| 欧美日韩免费在线观看| 91中文在线观看| 中文精品99久久国产香蕉| 热99精品里视频精品| 午夜精品一区二区三区视频免费看| 欧美尤物巨大精品爽| 欧美成人精品在线| 亚洲最新中文字幕| 久久久之久亚州精品露出| 成人国产精品久久久| 色综合91久久精品中文字幕| 日韩精品丝袜在线| 国产情人节一区| 亚洲一区二区三区在线免费观看| 欧美一级大片在线观看| 日韩少妇与小伙激情| 久久91精品国产91久久跳| 国产精品私拍pans大尺度在线| 国内精品400部情侣激情| 日韩av电影在线免费播放| 精品国产91乱高清在线观看|