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

26 次查看(过去 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!