Matlab:直接访问函数的特定返回值

时间:2014-12-31 04:40:21

标签: matlab function variables

我想使用函数的特定返回值并将其作为单行传递给另一个函数。

问题是我不能像someFunction(x,y,z){2}或[2]或(2)那样简单地访问返回值, 例如:

regexpi(str,'[a-z]+','match') % returns a cell array, i just need the first match.(btw, ^ doesn't work in matlab?)

如果我想接受regexpi()的第一个孩子并将其传递给myfun(),我想要的是:

myfun(regexpi(str,'[a-z]+','match')(1))

但我收到了错误:

Error: ()-indexing must appear last in an index expression.

有没有解决方法?谢谢!

1 个答案:

答案 0 :(得分:2)

不幸的是,它无法在matlab中完成,它只是不受支持。我所知道的唯一方法就是创建itemgetter(python中的ala itemgetter)。例如,

itemgetter = @(r, idx) r{idx}


#now get first returned argument
itemgetter(regexpi(str,'[a-z]+','match'), 1)

有关详细信息,请查看其他可能的方式here