当前位置: 首页 > news >正文

实验教学网站的建设研究wordpress 更换logo

实验教学网站的建设研究,wordpress 更换logo,wordpress 后台菜单修改,做招聘网站做服务器多少钱目录 1.实践 Eigen1.1 Eigen的简介1.2 Eigen 向量和矩阵的 声明1.3 Eigen的输出操作1.4 矩阵和向量相乘 要注意数据类型 矩阵纬度1.5 矩阵的四则运算1.6 矩阵求解特征向量和特征值1.7 解方程 求逆 1.实践 Eigen 1.1 Eigen的简介 ​ Eigen是一个 C 开源线性代数库。它提供了快…

目录

    • 1.实践 Eigen
        • 1.1 Eigen的简介
        • 1.2 Eigen 向量和矩阵的 声明
        • 1.3 Eigen的输出操作
        • 1.4 矩阵和向量相乘 要注意数据类型 矩阵纬度
        • 1.5 矩阵的四则运算
        • 1.6 矩阵求解特征向量和特征值
        • 1.7 解方程 求逆

1.实践 Eigen

1.1 Eigen的简介

​ Eigen是一个 C++ 开源线性代数库。它提供了快速的有关矩阵的线性代数运算,还包括解方程等功能。许多上层的软件库也使用 Eigen 进行矩阵运算,包括 g2o、Sophus 等。

​ 相比于其他库,Eigen 特殊之处在于,它是一个纯用头文件搭建起来的库。这意味着你只能找到它的头文件,而没有.so 或.a 那样的二进制文件。 我们在使用时,只需引入 Eigen 的头文件即可,不需要链接它的库文件(因为它没有库文件)。

1.2 Eigen 向量和矩阵的 声明

    // 声明一个2*3的float矩阵Eigen::Matrix<float, 2, 3> matrix_23;// 同时,Eigen 通过 typedef 提供了许多内置类型,不过底层仍是Eigen::Matrix// 例如 Vector3d 实质上是 Eigen::Matrix<double, 3, 1>,即三维向量Eigen::Vector3d v_3d;// 效果这是一样的Eigen::Matrix<float,3,1> vd_3d;// Matrix3d 实质上是 Eigen::Matrix<double, 3, 3>Eigen::Matrix3d matrix_33 = Eigen::Matrix3d::Zero(); //初始化为零// 如果不确定矩阵大小,可以使用动态大小的矩阵Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > matrix_dynamic;// 还有更简单的Eigen::MatrixXd matrix_x;

1.3 Eigen的输出操作

	// 声明一个2*3的float矩阵Eigen::Matrix<float, 2, 3> matrix_23;	// 下面是对Eigen阵的操作// 输入数据(初始化)matrix_23 << 1, 2, 3, 4, 5, 6;// 输出cout << matrix_23 << endl;//输出结果 1 2 3//        4 5 6// 用()访问矩阵中的元素for (int i=0; i<2; i++) {for (int j=0; j<3; j++)cout<<matrix_23(i,j)<<"\t";cout<<endl;}//输出结果 1 2 3//        4 5 6//也可以跟数组访问一样matrix_23[0];//结果  1

1.4 矩阵和向量相乘 要注意数据类型 矩阵纬度

 	Eigen::Vector3d v_3d;//内置的是double类型Eigen::Matrix<float,3,1> vd_3d;	Eigen::MatrixXd matrix_x;// 矩阵和向量相乘(实际上仍是矩阵和矩阵)matrix_23 << 1, 2, 3, 4, 5, 6;v_3d << 3, 2, 1;vd_3d << 4,5,6;// 但是在Eigen里你不能混合两种不同类型的矩阵,double类型的不能和float类型的相乘,像这样是错的// Eigen::Matrix<double, 2, 1> result_wrong_type = matrix_23 * v_3d;// 应该显式转换//matrix_23.cast<double>() matrix_23矩阵转变为double类型Eigen::Matrix<double, 2, 1> result = matrix_23.cast<double>() * v_3d;cout << result << endl;Eigen::Matrix<float, 2, 1> result2 = matrix_23 * vd_3d;cout << result2 << endl;// 同样你不能搞错矩阵的维度// 试着取消下面的注释,看看Eigen会报什么错// Eigen::Matrix<double, 2, 3> result_wrong_dimension = matrix_23.cast<double>() * v_3d;

1.5 矩阵的四则运算

	matrix_33 = Eigen::Matrix3d::Random();      // 随机数矩阵cout << matrix_33 << endl << endl;cout << matrix_33.transpose() << endl;      // 转置cout << matrix_33.sum() << endl;            // 各元素和cout << matrix_33.trace() << endl;          // 迹cout << 10*matrix_33 << endl;               // 数乘cout << matrix_33.inverse() << endl;        // 逆cout << matrix_33.determinant() << endl;    // 行列式

1.6 矩阵求解特征向量和特征值

    // 特征值// 实对称矩阵可以保证对角化成功Eigen::SelfAdjointEigenSolver<Eigen::Matrix3d> eigen_solver ( matrix_33.transpose()*matrix_33 );cout << "Eigen values = \n" << eigen_solver.eigenvalues() << endl;//特征值cout << "Eigen vectors = \n" << eigen_solver.eigenvectors() << endl;//特征向量

1.7 解方程 求逆

	// 解方程// 我们求解 matrix_NN * x = v_Nd 这个方程// N的大小在前边的宏里定义,它由随机数生成// 直接求逆自然是最直接的,但是求逆运算量大Eigen::Matrix< double, MATRIX_SIZE, MATRIX_SIZE > matrix_NN;matrix_NN = Eigen::MatrixXd::Random( MATRIX_SIZE, MATRIX_SIZE );Eigen::Matrix< double, MATRIX_SIZE,  1> v_Nd;v_Nd = Eigen::MatrixXd::Random( MATRIX_SIZE,1 );clock_t time_stt = clock(); // 计时// 直接求逆Eigen::Matrix<double,MATRIX_SIZE,1> x = matrix_NN.inverse()*v_Nd;cout <<"time use in normal inverse is " << 1000* (clock() - time_stt)/(double)CLOCKS_PER_SEC << "ms"<< endl;// 通常用矩阵分解来求,例如QR分解,速度会快很多time_stt = clock();x = matrix_NN.colPivHouseholderQr().solve(v_Nd);cout <<"time use in Qr decomposition is " <<1000*  (clock() - time_stt)/(double)CLOCKS_PER_SEC <<"ms" << endl;
http://www.yayakq.cn/news/618801/

相关文章:

  • 深圳品牌网站设计公司价格炫酷html5网站模板
  • 网站系统制作教程网络信用贷款哪个好
  • 免费响应式网站wordpress查询文章分类列表
  • 淮安企业网站网站后台文章字体
  • 泉州模板自助建站微信开发app
  • 设计网站公司名称医疗器械注册证查询
  • 网站建设有哪些作文网入口
  • 服务器网站跳转怎么做的建设公司网站的可行性研究
  • 网站设计师网站沈阳哪个医院人流好一点
  • 怎么做网站小图标北京网站备案号查询
  • 电商 做图 网站有哪些网站静态文件
  • 毕业设计代做哪个网站好网站建设与管理教学视频教程
  • ps 怎么做网站搜索框自适应企业建站企业
  • 门户网站怎么建设需要多长时间宜春的网站建设公司
  • 容桂电子商务网站建设个人网站psd
  • 广州汽车网站建设化工产品网站建设
  • 加强信息管理 维护网站建设一等一网站
  • 专门做自驾游攻略的网站wordpress自建页面
  • 网站底部导航栏hello外贸人才网
  • 网站建设与运营的市场运维工程师培训
  • 泉州网站模板建站会议指出
  • 广州电子商务网站建设费用手机网站模板 餐饮
  • 山西网站建设平台做个网站需要多少钱.
  • 广西省建设注册管理网站佛山外贸网站建设效果
  • acm网站免费做百度极速版推广
  • 网站开发商城实例爱站关键词查询
  • 网站系统名称怎么填17一起做网站童装
  • 衡水网站建设集团大连开发区邮编
  • 辽中网站建设西安免费做网站价格
  • 十堰网站建设价格婚庆公司网站源码