matlab变量中的函数名称和参数

时间:2009-01-07 20:09:11

标签: matlab eval

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

c = 'CalcPrediction(1,10)'

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

尝试运行(c)会导致:

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

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

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

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

其中squareRoot是仅包含:y=sqrt(x)

的m文件

然后执行:

x=[2,0];

c='squareRoot';

run(c);

给出:

y =

1.4142 0

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

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

答案 2 :(得分:-1)

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

fh = str2func('CalcPrediction')
fh(1, 10)