5free

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#include <iomanip>
#include <iostream>
#include "Eigen/Core"

int main()
{
    using v = Eigen::Matrix<double, 3, 1>; // rows 3; cols 1
    using T = Eigen::Matrix<double, 3, 3>; // rows 3; cols 3

    T a {
        {1.0000877,  0.0001989, 0.0000000},
        {-0.0048369, 1.0005524, 0.0000000 },
        {0.0000000,  0.0000000, 1.0000000 }
    };

    v b { 0.0, 51254.180, 1.0};
    v c { 36242.178, 36242.178, 1.0 };

    std::cout << std::setiosflags(std::ios::fixed) << std::setiosflags(std::ios::right) << std::setprecision(3);
    v r;

    //a*b 结果应为 10.194,51282.491
    r = a * b;  
    std::cout << r << std::endl;

    std::cout << std::endl;

    //a*c 结果应为 36252.566, 36086.896
    r = a * c;
    std::cout << r(0) << std::endl;
    std::cout << r(1) << std::endl;

    return 0;

}

输出

 

posted on 2022-11-01 09:50  5free  阅读(40)  评论(0编辑  收藏  举报