用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这个变量。

用matlab如何求数组最大值,同时返回下标
a=max(dat1(:))%%求取最大值 [idx,idy]=find(dat1==max(dat1(:)))%%求取最大值的下标 运行结果 a = 1.3847e+003 +7.4498e+002i idx =155 idy =154

Matlab如何找到一个数组中的最大值以及它所在的位置
第一个返回引数是最大值,第二个引数是最大值所在的位置(下标)[x y]=max(A),x是最大值,y是最大值所在的位置。A=[1 2 3 5 4 1 2],得到的结果是x=5,y=4 比如有阵列a:a=[A1, A2, A3, A4, A5, A6];[R,C]=max(a)就能得到最大元素,其中R是最大元素的值,C是最大元素...

Matlab如何找到一个数组中的最大值以及它所在的位置
用max()函数即可,比如 >> r = rand(1,10);>> [maxr,index]=max(r)maxr = 0.9649 index = 10 第一个返回参数是最大值,第二个参数是最大值所在的位置(下标)

怎样在matlab中找出数组中所有的最大的值?
1、第一步,需要知道matlab数组找到所有接近某个值的点的坐标是使用“find”函数,可以在命令行窗口中输入“help find”,如下图所示,然后进入下一步。2、其次,完成上述步骤后,输入“a =[1 4 5;6 7 8;7 9 12]”,在matlab命令行窗口中创建副本数组,如下图所示,然后进入下一步。3、接着...

matlab向量如何求出最大值所对应的序号
1、打开matlab,在命令行窗口中输入a=[1 5 6 7 9 5 3 6],按回车键。2、输入[m,index]=max(a),求a数组的最大值以及它所在的位置。3、按回车键,可以看到a数组的最大值为9,位置序号是5。4、如果是多维数组时,在命令行窗口中输入 b=[1 5 6 7;4 8 5 1],创建一个二维数组b。...

Matlab如何找到一个数组中的最大值以及它所在的位置?
在Matlab随机生成一维数组或者手动输入 利用Max函数,将一维数据放入Max(一维数组)中 最终利用Max函数输出最大值和位置

matlab数组中求最大的几个数并返回其位置
可以利用sort函数给数列a从小到大排列,找前几个最大的。如下:[b,i]=sort(a)。b为从小到大的数字,i为对应位置。要找前3个,如下输入:>> a=[3,15,6,21,18,2,18,19,1,4,7,29, 21 ,23 ,29 ,23, 14, 6, 9 ,29 ,31];>> [b,i]=sort(a)b = Columns 1 through 12 1 ...

有一个4*5矩阵,用MATLAB编程求出其最大值及其所在的位置
MATLAB 中的 max 函数是求最大值的函数。1、如果 A 是向量,则 max(A) 返回 A 的最大值。2、如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行向量。3、如果 A 是多维数组,则 max(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而...

matlab中求一个数组每行的最大值以及该最大值在该行的下标,即这个元素...
[Mval, Midx] = max(A, [], 2)

matlab数组中求最大的几个数 并提取标号
你先用B=sort(A)把数组排序,然后提取第30个当坐标 就是B(30), 大于B(30)的定然就是属于最大30个以内的了。你用find(A>B(30))就可以找到这些大于B(30)的坐标。然后你可以根据坐标提取这些数 A(find(A>B(30)))当然这个的前提是B(31)和B(30)不相等(数组没有两个数是相同的),...

相似回答