配列の中から目的値に最も近い値を取り出すには?
26 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
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はその列の最初の要素を選択することに注意してください。
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre ビッグ データの処理 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!