用matlab如何求数组最大值,同时返回下标

load data.mat
[f1,a]=find(a==max(max(psf)));

??? Undefined function or variable 'a'.
Error in ==> E:\matlab\work\xinhao\am_usb_2psk_2fsk.m (pushbutton9_Callback)
On line 682 ==> [f1,a]=find(a==max(max(psf)));

%%%%
>> load('E:\InSAR\LMinSAR资料\中文\配准截图\etna_dat\etna_dat1.mat');%%读入图像
dat1=etna_dat1(401:700,301:600);%%截取其中一部分
a=max(dat1(:))%%求取最大值
[idx,idy]=find(dat1==max(dat1(:)))%%求取最大值的下标
%%%%运行结果
a = 1.3847e+003 +7.4498e+002i
idx =155
idy =154
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-15
  如下:
  Sub Max()
  Dim Arr, k%, i%
  Arr = Array(5, 2, 6, 9, 1)
  i = Application.Max(Arr)
  For k = 0 To UBound(Arr)
  If Arr(k) = i Then MsgBox "最大值为" & i & ",下标为" & k: Exit Sub
  Next
  End Sub
第2个回答  2010-12-29
最大值为
a(find(a==max(a)));
下标为
find(a==max(a))
第3个回答  推荐于2016-11-30
你的问题是,你的load data.mat
后有没有a这个变量。
即data.mat里面有哪些变量。

你的find函数是没有问题的。本回答被提问者和网友采纳
第4个回答  2012-11-11
你的load data.mat
后有没有定义a这个变量。