这是代码:
a=[NaN, 0.0035; 2.0000 0.0025];
[~,b] = min (a(:,2));
那么b是什么?在我的项目中,b是2.如果我在项目之外运行它,我得到b = 1。
>> a=[NaN, 2; 1, 2];
>> a
a =
NaN 2
1 2
>> [~,b]=min(a(:,2))
b =
1
编辑:我非常怀疑matlab中这个min函数有什么问题或者其他错误。这就是我在做的事情。
K>> Q
Q =
Columns 1 through 12
-0.0053 -0.0015 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014
-0.0015 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 Inf -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 Inf -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 Inf -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 Inf -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 Inf -0.0045 -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 Inf -0.0045 -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 Inf -0.0045 -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 Inf -0.0045 -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 Inf -0.0045
-0.0014 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 -0.0045 Inf
-0.0053 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014
-0.0033 -0.0030 -0.0029 -0.0029 -0.0029 -0.0029 -0.0029 -0.0029 -0.0029 -0.0029 -0.0029 -0.0029
-0.0053 -0.0015 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014 -0.0014
Columns 13 through 15
-0.0053 -0.0033 -0.0053
-0.0014 -0.0030 -0.0015
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
-0.0014 -0.0029 -0.0014
Inf -0.0033 -0.0053
-0.0033 Inf -0.0033
-0.0053 -0.0033 Inf
(m,g)=min(Q(:))
然后我得到m = -0.0053和g = 13 !!!!!这不应该是1吗?
K>> g
g =
13
K>> m
m =
-0.0053
有人可以帮帮我吗?或者您有过与matlab类似的经历?非常感谢。
编辑:(以防有人遇到类似的问题。)这里,min函数表现为strangly的主要原因是错误。打开工作区并仔细查看矩阵Q中的值后,我发现矩阵的(1,1)条目实际上小于矩阵Q的最小值。非常感谢你的时间和注意力。