C++中的Matlab类型数组

A S*_*A S 11 c++ arrays matlab opencv

如何在matlab中用C++/Open CV定义数组?

例如:

x=a:b:c;
Run Code Online (Sandbox Code Playgroud)

要么

y=linspace(a,b,n);
Run Code Online (Sandbox Code Playgroud)

mat*_*ely 9

请参阅前面的答案,以获得您的问题的一般答案.

具体来说,为了解决您提到的两个示例,下面是一些使用向量的等效c ++代码,用于动态生成您提到的数组(尚未测试):

#include <vector>
using std::vector;

vector<double> generateRange(double a, double b, double c) {
    vector<double> array;
    while(a <= c) {
        array.push_back(a);
        a += b;         // could recode to better handle rounding errors
    }
    return array;
}

vector<double> linspace(double a, double b, int n) {
    vector<double> array;
    double step = (b-a) / (n-1);

    while(a <= b) {
        array.push_back(a);
        a += step;           // could recode to better handle rounding errors
    }
    return array;
}
Run Code Online (Sandbox Code Playgroud)