Bonjour

J'ai deux vecteurs de tailles différentes, soit:

A=[1 2.2 3 10.1 15 18 19.5] ;
B=[0.2 3.2 10.5 18.2] ;

J'aimerais repérer les indices dans A et B pour lesquels il existe des valeurs dont la différence ne dépasse pas 0.3.
Ici on aurait donc

C_A=[3 6] indices correspondant aux valeurs de A de 3 et 18 proches (inf à 0.3) de C_B=[2 4] indices correspondant aux valeurs de B de 3.2 et 18.2

On pourrait faire une différence d'un élement de A par tous les éléments de B et vis et versa

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    A=[1 2.2 3 10.1 15 18 19.5] ;
B=[0.2 3.2 10.5 18.2] ;
inc=1 ;
for ii=1:numel(B)
    ii
    C=abs(A-B(ii))
    IdxDiff=find(C<0.3)
    if isempty(IdxDiff)
        disp('empty')
    else
        IdxFinal_A(inc)= IdxDiff ;
        inc=inc+1 ;
    end
    pause
end

mais n'y a til pas plus simple?

Merci d'avance