I now think the answer should be very simple. for example, if I want to pass an obtained VectorXmp to Matlab
VectorXmp x(n);
Use mxCreateCellMatrix to create a same dimensional Vector, convert all components of x into char and then put them into the output cell using codes as below:
plhs[0]=mxCreateCellMatrix(n, 1);
for (int i = 0; i < n; i++) {
mxSetCell(plhs[0],i,mxCreateString(_strdup(x(i).toString().c_str())));
}
Then in Matlab environment, use
vpa(x)
to convert the output into symbol matrix(vector), and
double(vpa(x))
to convert it into double matrix(vector) with precision loss.