Выведите матрицу с c ++ и mex

У меня проблема с моим кодом C ++. Я хочу вернуть матрицу k-измерений из моей программы cpp в Matlab.

Матрица, которую я хочу передать, хранится вall_dataи является матрицей размера(npoints+1) x ndims.

Я искал, как это сделать, и я придумал:

    //send back points
    vector< vector <double> > indexes = mxGetPr(plhs[0]);
    for (int i=0; i < (npoints1+1); i++)
            for (int j=0; j < ndims1; j++)
                indexes[ i ][ j ] = all_data[ i ][ j ];

Но это не работает, так какall_data этоvector<vector<double>> переменная, и Matlab говорит:

error: conversion from 'double*' to non-scalar type 
'std::vector<std::vector<double, std::allocator<double> >, 
std::allocator<std::vector<double, 
std::allocator<double> > > >' requested

Кто-нибудь может мне помочь? Большое спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос