如何索引临时矩阵?

时间:2016-11-15 12:19:56

标签: matlab matrix

当我想访问矩阵的特定元素时,我使用带括号的索引:

m = calc_stuff(...);
x = m(index1, index2);

但是,我经常想在一行代码中这样做:

x = calc_stuff(...)(index1, index2);

我该如何表达?

一个具体的例子:

m = cumsum(rand(10,4));
x = m(10, 1);

上面的脚本计算一些随机变量的总和,然后我从结果矩阵中取一个示例值。

我怎么能把它写成一行?以下不起作用:

x = cumsum(rand(10,4))(10, 1);
  

错误:() - 索引必须出现在索引表达式的最后。

在这里,我想要一个通用语法,适用于任何计算,不一定涉及随机变量。

1 个答案:

答案 0 :(得分:0)

您可能想查看FileExchange上的“功能编程构造”。

特别是文件paren.m可以满足您的需求。所以你会写

x = paren( cumsum(rand(10,4)), 10, 1 );

也许不如直接“()”符号那么优雅,但MATLAB中不支持您想要使用它的方式。

相关问题