配列の中から目的値に最も近い値を取り出すには?
36 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 14 Nov 2024 à 0:00
Réponse apportée : MathWorks Support Team
le 14 Nov 2024 à 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を使って最も近い時間を見つけるにはどうすればよいでしょうか?
Réponse acceptée
MathWorks Support Team
le 14 Nov 2024 à 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur ビッグ データの処理 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!