Search subarray closest other array

4 visualizzazioni (ultimi 30 giorni)
galaxy
galaxy il 3 Dic 2019
Commentato: galaxy il 4 Dic 2019
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 Commento
galaxy
galaxy il 4 Dic 2019
Modificato: galaxy il 4 Dic 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]

Accedi per commentare.

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 3 Dic 2019
Modificato: KALYAN ACHARJYA il 3 Dic 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 Commento
galaxy
galaxy il 4 Dic 2019
I need to change some thing, but it is OK
Thank you so much.

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by