Matlab str2func 调用 mex 文件并获取输入变量错误

Matlab str2func calling a mex file and getting input variable error

我有一个 mex 函数 specialRationalMap_00001.mexw64,可以毫无问题地调用它

vm = specialRationalMap_00001(vm,amplitude);

如果我尝试使用函数名和str2func

f_str = 'specialRationalMap_00001';
fz = str2func(strcat('@(vm,amplitude)', f_str));
vm = fz(vm,amplitude);

我收到错误消息:“需要地图输入和(标量)振幅”,但我正在使用它作为输入。

不要忘记实际传递输入参数。要么

fz = str2func(strcat('@(vm,amplitude)', f_str, '(vm,amplitude)'));

但更好的是,你可以这样做:

fz = str2func(f_str);