1

6501 X 1 の行列を読み取り、ユーザーが入力として提供する特定の数値のインデックスを見つける必要がある関数を作成しています。整数値の位置を見つけることはできますが、列に存在する浮動小数点数の位置を見つけることはできません。誰でも助けてもらえますか?ありがとうございました

以下は、列行列をループして数値のインデックスを見つける関数の一部です。

format short g
columnmzData =  mzData; % mzData is the column matrix
length = size(columnmzData);
i=1;
for mzDataLoop = 1:6501
if (columnmzData(mzDataLoop) == mzValue)
        mzValueIndice = i
        break;
   else
        i=i+1;
    end
end

列行列の一部を次に示します。

1498
1498.2
1498.4
1498.6
1498.8
1499
1499.2
1499.4
1499.6
1499.8
4

2 に答える 2

3

正確な float 値を見つけるのは難しいです。許容範囲を指定できますか?

if (abs(columnmzData(mzDataLoop) - mzValue) < tolerance)
于 2013-04-30T09:49:34.767 に答える