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

时间:2016-10-21 18:33:26

标签: c++ matlab loops matrix

您好我是C ++的新手,我正在尝试使用Matlab做一些非常容易的事情。我有一个用于计算向量的for循环。我想存储这个向量,以便我可以在循环之外访问它。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

$rootScope

这里的一个缺点是你必须在计算代码中保证每个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)); } 将具有相同数量的元素(上面的代码不会验证它)。

请注意,这绝对不是处理矩阵的最佳方式,我建议您查看一些专用库(boost :: numeric,OpenCV用于图像处理,Armadillo或其他十几个库中的一个)如果你想对它进行严格的计算。