以C++本征计算的SSE值与真实值不同
SSE value calculated in C++ eigen is different from true value
我是C++的初学者。任何帮助都将不胜感激!我可以成功编译并运行以下代码:
#include <Eigen/Dense>
#include <iostream>
#include <cmath>
using namespace Eigen;
int main()
{
MatrixXf m1(10,1);
m1 << 50,51,52,54,53,60,59,65,67,70;
MatrixXf m3(3,10);
MatrixXf m2(10,3);
m3<< 1,1,1,1,1,1,1,1,1,1, //Xf[,5:6]
54,61,52,70,63,0,0,0,0,0,
0,0,0,0,0,79,68,65,79,76;
m2 << m3.transpose();
MatrixXf I(10,10);
I.setIdentity(10,10);
float SSE =(m1.transpose()*(I-m2*(m2.transpose()*m2).inverse()*m2.transpose())*m1).determinant();
std::cout << "SSE=" << std::endl;
std::cout << SSE << std::endl << std::endl;
system("pause");
}
SSE在C++中计算:87.7938,而SSE真值:88.29133
您需要使用MatrixXd而不是MatrixXf
相关文章:
- 激励'inline'说明符的真实世界示例?
- 如何转换真实路径 CString c++
- 使用 gmock c++ 在真实对象上调用方法
- C++ SSE 内部函数:将结果存储在变量中
- 查找索引的最接近的真实值
- 是否可以在没有真实文件的情况下创建 ifstream
- 我可以使用 decltype() 或其他东西通过指针获取真实类型吗?
- 我们可以在不知道其真实类型的情况下将基类指针转换为派生类指针吗?
- 如何在C++中获取真实值精度 与Fortran相同(Pararel Studio XE编译器)
- Constexpr and SSE intrinsics
- 如何使用SSE将__m128i注册乘以浮点因子?
- 使用SSE内部函数复制少量数据时出现问题
- 可以在 macOS 上启用的最低支持的 SSE 标志是什么?
- 如何在Mac OSX中获取真实的日历微秒时间(自1970年以来的纪元)?
- 什么是'do while loop'的真实应用?
- 标准::原子::compare_exchange与两个memory_order参数一起使用的真实示例
- SSE 标志应该如何与现代 CMake 一起添加?
- 快速 SSE 射线 - 4 三角形交叉点
- 使用 SSE 以最快的速度缩小 8 位灰度图像
- 以C++本征计算的SSE值与真实值不同