Search subarray closest other array

Dear all
I want to search subarray closest other array as following.
A = [4, 5.5, 7, 8.1, 1, 5, 6, 7, 8, 9];
B = [5.5, 6.2, 7, 7.9]
The expected output is sub-array of A closest B which is [5, 6, 7, 8]
Do anyone have ideas?
Thank you so much

1 commentaire

galaxy
galaxy le 4 Déc 2019
Modifié(e) : galaxy le 4 Déc 2019
I need to search closest sub-array, not element of array.
A = [4, 5.5, 7, 8.1, 1, 5, 6, 7, 8, 9];
% | | | | closest
B = [5.5, 6.2, 7, 7.9]

Connectez-vous pour commenter.

 Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 3 Déc 2019
Modifié(e) : KALYAN ACHARJYA le 3 Déc 2019
One way:
A = [4, 5.5, 7, 8.1, 1, 5, 6, 7, 8, 9];
B = [5.5, 6.2, 7, 7.9];
for i=1:length(A)-4
result(i)=sum(A(i:i+3)-B);
end
idx=find(result==min(result));
result_array=A(idx:idx+3)
You can use simmilar logic to implement it without loop too.

1 commentaire

galaxy
galaxy le 4 Déc 2019
I need to change some thing, but it is OK
Thank you so much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by