C++ c++;用标量乘多维向量的最简单方法

C++ c++;用标量乘多维向量的最简单方法,c++,arrays,vector,C++,Arrays,Vector,我正在c++上进行蒙特卡罗模拟。 为了保持均值为0的正态分布特性,我想用-1乘以随机向量 例如,如果我有两个随机数(-1.4,+0.3),它们是由random generator生成的,我想在随机数上加上(+1.4,-0.3)。所以我可以在我的随机数向量上得到(-1.4,0.3,1.4,0.3) 我想把它扩展到多维向量。随机数应由模拟数和周期数生成。所以随机数向量应该是多维的 在1-d的情况下,我知道我可以使用transform。 我想知道如何在2-d情况下使用变换。如果还有其他更好的方法,我也

我正在c++上进行蒙特卡罗模拟。 为了保持均值为0的正态分布特性,我想用-1乘以随机向量

例如,如果我有两个随机数(-1.4,+0.3),它们是由random generator生成的,我想在随机数上加上(+1.4,-0.3)。所以我可以在我的随机数向量上得到(-1.4,0.3,1.4,0.3)

我想把它扩展到多维向量。随机数应由模拟数和周期数生成。所以随机数向量应该是多维的

1-d的情况下,我知道我可以使用transform。 我想知道如何在2-d情况下使用变换。如果还有其他更好的方法,我也想知道


提前感谢:)

我强烈建议您使用特征库对矩阵、向量等执行数学运算,。。。这个图书馆非常强大

(EGIN是线性代数的C++模板库:矩阵, 向量、数值解算器和相关算法。)

Eigen通过以下两种方式提供矩阵/向量算术运算: 常见的C++算术运算符重载,如+,-,*,或 通过特殊方法,如点()、交叉()等,对矩阵进行处理 类(矩阵和向量),运算符仅重载以支持 线性代数运算。例如,matrix1*matrix2表示 矩阵积和向量+标量是不允许的。如果你 要执行各种数组操作,而不是线性代数,请参见 下一页

你所说的“多维向量”是什么意思?“随机数应该由模拟数和周期数生成”是什么意思?你想要实现什么?你问什么还不清楚。