C++在循环期间将 vector 存储在数组中

标签 c++ matlab loops matrix

大家好,我是 C++ 的新手,我正在尝试做一些用 Matlab 很容易做到的事情。我有一个计算 vector 的 for 循环。然后我想存储这个 vector ,以便我可以在循环之外访问它。

for(ii=0; ii < numObs; ii++} {
    someVector = ...
    someMatrix[ii][:] = someVector
}

someMatrix[ii][:] 当然不起作用,但这就是我想做的。任何帮助表示赞赏,谢谢!

说明:someVector 是一个 1xn 元素 vector ,每次在循环中计算。我只是想将它存储在矩阵或数组(不确定是什么)中,以便我可以调用 someMatrix[ii] 并取回 vector 。

最佳答案

您可能正在寻找类似的东西:

std::vector<std::vector<double>> matrix; // matrix - vector of vectors
for(int i = 0; i < numObs; ++i) {
    std::vector<double> vec = ... // your calculations go here
    // if no C++11 - don't use std::move
    matrix.push_back(std::move(vec)); 
}

这里的缺点之一是您必须在计算代码中确保每个 vector 将具有相同数量的元素(上面的代码未验证它)。

请注意,这绝对不是处理矩阵的最佳方式,我建议您查看一些专用库(boost::numeric、用于图像处理的 OpenCV、Armadillo 或其他许多库之一),如果您想对其进行认真的计算。

关于C++在循环期间将 vector 存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40183340/

相关文章:

java - 无限预测试 while 循环 (java)

c++ - qTreeView scrollToBottom() 忽略

c++ - Nvidia Nsight - 如何连接到本地主机?

c++ - 如何使用可变参数模板在 C++ 中概括对象创建?

c++ - Q_UNUSED 相对于省略参数名称有什么好处?

matlab - 角落案例,意外和不寻常的 MATLAB

performance - MATLAB 中的运行长度解码

c - 我不确定如何跟踪代码数组?

matlab - 在 MATLAB 中将 varargin 传递给嵌套类方法

r - 在R中将多页pdf转换为PNG