gpt4 book ai didi

c++ - Eigen 类取矩阵每一行的平均值(计算列 vector 的质心)

转载 作者:太空狗 更新时间:2023-10-29 19:56:59 26 4
gpt4 key购买 nike

我真的是 C++ 的新手,但这是我正在尝试做的事情。我有一个 4 x 3 矩阵:

100 109.523 119.096
100 89.7169 76.256
100 96.0822 103.246
100 101.084 85.0639

我想计算每一行的平均值并将其存储在某个 vector 中。我正在使用 Eigen 库。我想不出有什么办法可以有效地做到这一点。到目前为止,这是我的代码:

MatrixXd SS(N,n+1);
MatrixXd Z = generateGaussianNoise(N,n);
for(int i = 0; i < N; i++){
SS(i,0) = S0;
for(int j = 1; j <= n; j++){
SS(i,j) = SS(i,j-1)*exp((double) (r - pow(sigma,2.0))*dt + sigma*sqrt(dt)*(double)Z(i,j-1));
}
}

cout << SS << endl;
cout << endl;
VectorXd S_A(3);
S_A = SS.row(1);

所以我有一个 4 x 3 矩阵 SS,现在我想取每一行的平均值并将其存储在 vector S_A 中。我对此有很多困难,所以任何建议将不胜感激。

最佳答案

你想要部分减少:

Vector3d S_A = SS.rowwise().mean();

关于c++ - Eigen 类取矩阵每一行的平均值(计算列 vector 的质心),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43196545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com