在我的matlab m文件中,我使用一些逻辑(字符串连接)来构建这样的变量:

c = 'CalcPrediction(1,10)'

这意味着我有一个字符串,它是一个函数和一些参数。我该怎么做那个函数调用?

尝试运行(c)会导致:

>> run(c)
??? Error using ==> run at 71
CalcPrediction(1,10) not found.

注意:如果没有参数,run(c)可以正常工作。例如。     C = 'CalcPrediction';     运行(C);

有帮助吗?

解决方案

您要查找的命令是 eval()而不是 run()

其他提示

如果没有真正看到剧本,很难概括,但......

其中squareRoot是仅包含的m文件: y = sqrt(x)

然后执行:

<代码> X = [2,0];

<代码> C = '对squareRoot';

<代码>运行(C);

给出:

y =

1.4142 0

这个例子就是说你可以定义脚本来使用声明的变量(在这种情况下是 x ),然后在运行脚本之前声明变量。

没有脚本,我不知道你在做什么参数。如果这不能回答您的问题,请发布您的脚本。

您想使用 str2func 。此函数接受一个字符串并返回一个可以使用您的参数调用的函数处理程序。查看链接页面上的示例。

fh = str2func('CalcPrediction')
fh(1, 10)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top