matlab 返回矩阵最大,关于如何求矩阵最大(小)值并返回其行列号的汇总

关于如何求矩阵最大值并返回其行列号的汇总:

=============================================by yaping321

第一种:

clear;clc;

A=[0 17 50;-12 40 3;5 -10 2;30 4 3]

[C,I]=max(A(:))

[m,n]=ind2sub(size(A),I)

第二种:

clear;clc;

A=[0 17 50;-12 40 3;5 -10 2;30 4 3]

[M,I]=max(A)

[N,J]=max(M)

[I(J),J]

第三种:

clear;clc;

A=[0 17 50;-12 40 3;5 -10 2;30 4 3]

N=max(max(A))    %或者N=max(A(:))

[r,c]=find(N==A)

第四种:

clear;clc;

A=[0 17 50;-12 40 3;5 -10 2;30 4 3]

[Y_col,Ind_row]=max(A)   %每列的最大值及行号

[Y_row,Ind_col]=max(A')    %每行的最大值及列号==================================================

Q&A形式的解答:

questions and answer

=====================

Q:

matlab找某列最小值的位置

dis是个m*n的数组

我想找出每列最小值得位置,但是find函数好像用的不对,我写的如下:

find(dis==min(dis))

哪里不对啊,help里也没讲太全,实在不知怎么改。

-------------

A:用[C,I] = min(...)

例子:

===

>> A=magic(5)

A =

17    24     1     8    15

23     5     7    14    16

4     6    13    20    22

10    12    19    21     3

11    18    25     2     9

>> [c,i] = min(A)

c =

4     5     1     2     3

i =

3     2     1     5     4

=======================================

Q:

如何获得矩阵每行中最大值的位置现有一m*n的矩阵D(假设矩阵中每个元素都不一样),要求逐行找出最大值,然后记录该最大值的坐标,最后要求生成一个m*2的位置坐标矩阵。

--------------------------

A:这样就可以了

=============

index = zeros(m,2);

for i=1:m

[C,I]=max(D(i,:));

index(i,:) = [i,I];

end

============

测试

D =

17    24     1     8    15

23     5     7    14    16

4     6    13    20    22

10    12    19    21     3

11    18    25     2     9

m = 5

运行程序得到

index =

1     2

2     1

3     5

4     4

5     3===========================

Q:我在图像处理编程时遇到这样一个问题,就是想在一幅灰度图象中,要实现查找八邻域的极值点。

比如,给出一下一个八邻域的例子

1   3   2

4   9   6

5   7   8

那么中间的9就是要找的极值点。

并且可以返回象素点的位置及象素点的值。 例如在这个例子就是 2   2  9

当然,也可以当成三元组返回

请问matlab有这个功能吗?

-----------------------------

A:

A = [1   3   2;4   9   6;5   7   8];

[c,hang] = max(A);

[max_A,lie] = max(c);

最终

max_A = 9

hang = 2;

lie= 2;

==============================

Q:

[本帖最后由 faruto 于 2009-4-4 14:21 编辑]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值