配列の中から目的値に最も近い値を取り出すには?
조회 수: 25 (최근 30일)
이전 댓글 표시
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
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 ビッグ データの処理에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!