Matlab比较2个单列矩阵并给出位置

Matlab比较2个单列矩阵并给出位置,matlab,matrix,compare,Matlab,Matrix,Compare,我正在用matlab做一个GUI来计算赛车的理想换档点 为此,我需要比较两个单列矩阵 Fwheel1 = 1.0e+003 * 4.5433 4.6372 4.6770 4.6892 4.7235 4.8064 4.9451 5.0838 5.2300 5.3401 5.4864 5.5454 5.5046 5.4758 5.5028 5.5782 5.

我正在用matlab做一个GUI来计算赛车的理想换档点

为此,我需要比较两个单列矩阵

Fwheel1 =

  1.0e+003 *

    4.5433
    4.6372
    4.6770
    4.6892
    4.7235
    4.8064
    4.9451
    5.0838
    5.2300
    5.3401
    5.4864
    5.5454
    5.5046
    5.4758
    5.5028
    5.5782
    5.6183
    5.6663
    5.7380
    5.8174
    5.8940
    5.9553
    6.0364
    6.1075
    6.0904
    5.9285
    5.7654
    5.5762
    5.3498
    5.1766
    5.0548
    4.8236
    4.6538

Fwheel2 =

  1.0e+003 *

    3.5174
    3.5901
    3.6209
    3.6304
    3.6569
    3.7211
    3.8285
    3.9358
    4.0490
    4.1343
    4.2475
    4.2932
    4.2617
    4.2393
    4.2602
    4.3186
    4.3496
    4.3868
    4.4423
    4.5038
    4.5631
    4.6105
    4.6734
    4.7284
    4.7151
    4.5898
    4.4635
    4.3170
    4.1418
    4.0077
    3.9134
    3.7344
    3.6029
这是两个矩阵。现在我想比较一下
Fwheel1
Fwheel2
。我想知道在矩阵Fwheel2>Fwheel1的哪个位置

所以输出需要是例如23

我希望有人能帮助我。
亲切问候

您可以通过
查找
轻松做到这一点

idx= find( Fwheel2 > Fwheel1);
如果你只想要第一个,或者第一个n,你可以

idx= find( Fwheel2 > Fwheel1,n);
另一种方法,

c=0;
for i=1:33
if Fwheel2(i)>Fwheel1(i)
c=c+1;
b[c]=i

end
end

在b向量中,您有您的答案

在后一种解决方案中,您可能希望附加
'first'
,或者是
find
的默认值?@adrian“方向的默认值是'first',它会找到前n个非零元素。”大家好,感谢您的快速响应。现在我尝试了这个:dF1=find(Fwheel2>Fwheel1)大家好,谢谢你们的快速响应。现在我尝试了这个,但我总是得到以下结果。dF1=空矩阵:0-by-1这是我的代码。dF1=find(Fwheel2>Fwheel1)对于这些愚蠢的问题,我感到很抱歉,但我在这个编程世界里还是个新手。这意味着Fwheel2永远不会大于Fwheel 1@mertenston这个答案很糟糕,因为它只适用于矩阵1x33。因为他的向量大小是1*33…你可以使用你的大小或使用大小(Fwhee1)…..)我理解你为什么要放33,这只是编程不好。