如何提问--请提问前先看这个例子,好的提问,才能有好的回答
====================================================================================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]