配列の中から目的値に最も近い値を取り出すには?

28 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 14 de Nov. de 2024 a las 0:00
Respondida: MathWorks Support Team el 14 de Nov. de 2024 a las 6:05

以下のような2つのベクトル(タイムスタンプ)があります。

V N
1375471092848936 1375473384440853
1375473388165900 1375471277856598
1375471320476780 1375473388165900
1375473388947681 1375471322465961
1375473392527002 1375471335206288
...
Vに対してNの中で最も近い時間を見つけたいです(つまり、Vにほぼ等しいNの時間を見つけたい)。フレームはW = 1e4であり、さらにVはN-WとN+Wの間にある必要があります。このような条件で、MATLABを使って最も近い時間を見つけるにはどうすればよいでしょうか?

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 14 de Nov. de 2024 a las 0:00
ベクトルVの各要素に対して、ベクトルNの中で最も近い値を計算するには、以下のMATLABコードをお試しください。例として、以下のようなベクトルNとVを使用します:
% 例のベクトル V = randi(10,[5 1]); N = randi(10,[5 1]); % NをVの長さに合わせて複製 A = repmat(N,[1 length(V)]); % 最小値とそのインデックスを求める [minValue,closestIndex] = min(abs(A-V')); % 最も近い値を取得 closestValue = N(closestIndex);
各列で最小値が同じ場合、MATLABはその列の最初の要素を選択することに注意してください。 

Más respuestas (0)

Categorías

Más información sobre ビッグ データの処理 en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!