MATLAB:What';s[Y,I]=max(AS,[],2);?
我刚开始学习matlab,需要很快完成这个程序,所以我没有时间阅读所有的教程 请熟悉它的人解释一下下面的陈述在做什么MATLAB:What';s[Y,I]=max(AS,[],2);?,matlab,Matlab,我刚开始学习matlab,需要很快完成这个程序,所以我没有时间阅读所有的教程 请熟悉它的人解释一下下面的陈述在做什么 [Y,I]=max(AS,[],2); AS和2之间的[]是最让我困惑的地方。和是分配给Y和I的最大值吗?此函数取AS并沿AS的第二维度产生最大值。它返回最大值“Y”及其索引“I”。根据 C=max(A,[],dim)返回标量dim指定的A维度上的最大元素。例如,max(A,[],1)沿A的第一个维度(行)生成最大值 [C,I]=max(…)查找A的最大值的索引,并在输出向量I
[Y,I]=max(AS,[],2);
AS
和2
之间的[]
是最让我困惑的地方。和是分配给Y
和I
的最大值吗?此函数取AS并沿AS的第二维度产生最大值。它返回最大值“Y”及其索引“I”。根据
C=max(A,[],dim)
返回标量dim
指定的A
维度上的最大元素。例如,max(A,[],1)
沿A
的第一个维度(行)生成最大值
[C,I]=max(…)
查找A
的最大值的索引,并在输出向量I
中返回它们。如果存在多个相同的最大值,则返回找到的第一个最大值的索引
我认为,[]
仅仅是为了区别于max(A,B)
矩阵本身这将返回AS在其第二维度(即其列)中的最大元素。
C=max(A,[],dim)
返回沿标量dim指定维度的最大元素。例如,max(A,[],1)
沿A
的第一个维度(行)生成最大值
另外,[C,I]=max(…)
表单提供了C
中的最大值,以及I
中的索引(即位置)
你为什么不试试这样的例子呢?把它输入MATLAB,看看你得到了什么。它应该使事情更容易看
m = [[1;6;2] [5;8;0] [9;3;5]]
max(m,[],2)
注意matlab约定中的明显褶皱;有许多具有签名的内置函数,如:
xs = sum(x,dim)
沿尺寸标注“工作”。最大值和最小值是oddbal例外:
xm = max(x,dim); %this is probably a silent semantical error!
xm = max(x,[],dim); %this is probably what you want
有时我希望matlab有一个二进制max和一个折叠max,而不是将它们推到同一个函数中…您可能需要根据自己的实际情况进行学习-我们都经常这样做-但我强烈建议您尽量少阅读所用函数的参考手册。只需键入“HelpMyFunction”,您将获得有关函数的第三十二篇入门文章。