我有.cpp转换为.mex32文件。在.cpp文件中,我使用mexGetVariable从基础工作区获取变量:
mxArray *array_ptr = mexGetVariable("base", "variable_name1");
if (array_ptr == NULL)
{
mexPrintf("Could not get variable_name1 from MATLAB workspace.");
}
double pr1 = (double)mxGetPr(array_ptr)[0];
%same for variable_name2
%same for variable_name3
%same for variable_name4
我也为其他变量使用相同的代码。我想知道是否有办法同时获取我想要的所有基本工作空间变量(variable_name1到variable_nameN)。
答案 0 :(得分:1)
stringstream
是你的朋友:
for(unsigned i = 0; i < N; ++i) {
std::stringstream var_stream;
var_stream << "variable_name" << i;
mxArray *array_ptr = mexGetVariable("base", var_stream.str().c_str());
// etc