【发布时间】:2011-04-07 07:50:54
【问题描述】:
例如,如果我想从magic(5) 中读取中间值,我可以这样做:
M = magic(5);
value = M(3,3);
获取value == 13。我希望能够执行以下操作之一:
value = magic(5)(3,3);
value = (magic(5))(3,3);
省去中间变量。但是,MATLAB 在3 之前的第一个括号中抱怨Unbalanced or unexpected parenthesis or bracket。
是否可以在不先将其分配给变量的情况下从数组/矩阵中读取值?
【问题讨论】:
-
我还找到了关于这个主题的以下文章:mathworks.com/matlabcentral/newsreader/view_thread/280225有人有关于这个主题的新信息,会实现吗?
-
这个语法实际上在 Octave 中运行良好。我只是在使用 MATLAB 的同事在运行我的代码时遇到问题时才发现这个问题。
-
MATLAB 简而言之。
-
递归提取也适用于 Scilab (scilab.org) 版本 6。
-
Scilab 上的
testmatrix('magi', 5)(3, 3)和 Octave 上的magic(5)(3, 3)都像魅力一样工作!
标签: matlab indexing matrix return-value variable-assignment