Matlab repmat函数的c ++(在任何API /库中)是否有等价物?
答案 0 :(得分:4)
否,因为没有要复制的标准C ++矩阵类。如果您使用第三方矩阵库(许多存在),您可能会发现它具有该功能,但如果您推出自己的矩阵类,则还需要提供此功能。
答案 1 :(得分:4)
我正在使用GSL,我有类似的东西:
gsl_matrix * RepMatHorizAlloc(gsl_vector * v, size_t k) {
gsl_matrix *mat = gsl_matrix_alloc(k, v->size);
for (size_t i = 0; i < k; ++i) {
gsl_matrix_set_row(mat, i, v);
}
return mat;
}
gsl_matrix * RepMatVertAlloc(gsl_vector * v, size_t k) {
gsl_matrix *mat = gsl_matrix_alloc(v->size, k);
for (size_t i = 0; i < k; ++i) {
gsl_matrix_set_col(mat, i, v);
}
return mat;
}