Eigen打印输出

该代码示例展示了如何利用Eigen库生成4x4的随机数矩阵,并使用不同的输出格式(如CommaInitFmt,CleanFmt,OctaveFmt,HeavyFmt)进行打印。这些格式用于控制精度、列对齐、分隔符等,以便于阅读和分析矩阵内容。
摘要由CSDN通过智能技术生成
//
#include <Eigen/Dense>
#include <iostream>

using namespace Eigen;

// 格式化打印输出
//precision 精度:主要包括StreamPrecision与FullPrecision,默认为0
//flags 设置标号,默认为0
//coeffSeparator 同一行两个数的分隔符
//rowSeparator  两行之间的分隔符
//rowPrefix 每一行开头符号
//rowSuffix 每一行结束符号
//matPrefix 矩阵开始时符号
//matSuffix 矩阵结束时符号
IOFormat CommaInitFmt(StreamPrecision, DontAlignCols, ", ", ", ", "", "", " << ", ";");
IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]");
IOFormat OctaveFmt(StreamPrecision, 0, ", ", ";\n", "", "", "[", "]");
IOFormat HeavyFmt(FullPrecision, 0, ", ", ";\n", "[", "]", "[", "]");

int main()
{
	// 生成(-1, 1)的均匀分布的随机数
	MatrixXd A = MatrixXd::Random(4, 4);
	
	std::cout << A.format(CommaInitFmt) << std::endl;
	std::cout << A.format(CleanFmt) << std::endl;
	std::cout << A.format(OctaveFmt) << std::endl;
	std::cout << A.format(HeavyFmt) << std::endl;

	system("pause");
	return 0;
}

结果:

 << -0.997497, 0.170019, 0.64568, 0.421003, 0.127171, -0.0402539, 0.49321, 0.0270699, -0.613392, -0.299417, -0.651784, -0.39201, 0.617481, 0.791925, 0.717887, -0.970031;
[ -0.9975,     0.17,   0.6457,    0.421]
[  0.1272, -0.04025,   0.4932,  0.02707]
[ -0.6134,  -0.2994,  -0.6518,   -0.392]
[  0.6175,   0.7919,   0.7179,    -0.97]
[-0.997497, 0.170019, 0.64568, 0.421003;
0.127171, -0.0402539, 0.49321, 0.0270699;
-0.613392, -0.299417, -0.651784, -0.39201;
0.617481, 0.791925, 0.717887, -0.970031]
[[ -0.997497482222968,    0.17001861629078,   0.645680104983673,   0.421002838221381];
 [   0.12717062898648, -0.0402539139988403,   0.493209631641591,  0.0270699179052094];
 [ -0.613391521958068,  -0.299417096469008,  -0.651783806878872,  -0.392010254219184];
 [  0.617481002227851,   0.791924802392651,   0.717886898403882,  -0.970030823694571]]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陨星落云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值