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

조회 수: 25 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2024년 11월 14일 0:00
답변: MathWorks Support Team 2024년 11월 14일 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を使って最も近い時間を見つけるにはどうすればよいでしょうか?

채택된 답변

MathWorks Support Team
MathWorks Support Team 2024년 11월 14일 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はその列の最初の要素を選択することに注意してください。 

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 ビッグ データの処理에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!