晓夜寒风 发表于 2009-12-25 15:17:36

如何提问--请提问前先看这个例子,好的提问,才能有好的回答

====================================================================================
matlab求矩阵某一列的最大值及所在位置                                                                                                                                                                                                                                                                                                                        下面是一个关于求矩阵某一列的最大值,并确定其所在矩阵的具体位置,即行列号,但修改多次发现它运行得到的列号都是1,而不是我想要的位置,为什么?
function max_min
clear;clc;
data=load('G:\自主学习\任务\log data.txt');   %将记事本文件导入
GR=data(:,2);               %GR——自然伽玛
A=size(data)
=max(GR(:))
=ind2sub(A,m)
end
运行结果:
A =
      2259         4

MaxGR =
216.9566

m =
      2223

row =
      2223

col =
   1   此结果除了最后的col显示有问题,其余结果都是对的,我不知道为什么?对此问题该如何解决呢?这个问题归结起来就是求一个矩阵某一列的最大值,并确定该最大值在该矩阵中的具体位置,请各位指点一下......
在自己摸索的过程中,也搜集和实践了几种关于如何求矩阵最大值的方法,拿出来跟大家共享:
第一种:
clear;clc;
A=
=max(A(:))
=ind2sub(size(A),I)
运行结果:
A =
   0    17    50
   -12    40   3
   5   -10   2
    30   4   3

C =
    50

I =
   9

m =
   1

n =
   3
第二种:
clear;clc;
A=
=max(A)
=max(M)

运行结果:
A =
   0    17    50
   -12    40   3
   5   -10   2
    30   4   3

M =
    30    40    50

I =
   4   2   1

N =
    50

J =
   3

ans =
   1   3
第三种:
clear;clc;
A=
N=max(max(A))    %或者N=max(A(:))
=find(N==A)
运行结果:
A =
   0    17    50
   -12    40   3
   5   -10   2
    30   4   3

N =
    50

r =
   1

c =
   3
至于其它方法正在测试中,待续.......
===============================================================================================
页: [1]
查看完整版本: 如何提问--请提问前先看这个例子,好的提问,才能有好的回答

招聘斑竹