Bonjour,
j'ai un ensemble de valeurs qui me permettent de tracer un graphe y en fonction de x sur Matlab, dans ces valeurs j'ai des chiffres comme zéro et 99 et nan qui me créeent des déformations dans ma courbe, comment faire pour les détecter et puis pour les enlever et les remplacer par la valeur moyenne de la dernière valeur avant et de celle d'apres de ce 0 ou 99 ou nan
ex : supposons si j'ai une matrice A= [ 99 2 3 0 6; 4 5 99 0 0; 7 0 8 99 nan];
%test d'une matrice pr calculer la moyenne de valeurs supprimées
A= [ 99 2 3 0 6; 4 5 99 0 0; 7 0 8 99 nan];
%A(isnan(A)|A==99)=0;
if A(1,1)==isnan(A(:,: ))|A==99|A==0;
A(1,1)=A(1,2)
else if A(n,n)==isnan(A(:,: ))|A==99|A==0;
n=1;
n=n+1;
A(n,n)=A(n,n-1)
else myvar=isnan(A(:,: ))|A==99|A==0;
idx=find(myvar==1)
mais il reste un probleme, je n'obtiens pas la valeur moyene du chiffre avant et de celui apres, par exemple, en enlevant le 0, je dois le remplacer par (3+6)/2, et si je prends le premier 99 ou le dernier nan, le 99 n'a pas de chiffre avant, donc il doit prendre la valeur du chiffre d'apres qui est 2 dans mon cas, et le nan doit prendre la valeur du chiifre d'avant qui est ici 99, mais vu qu'on enlève le 99, il doit prendre la valeur du chiffre avant qui est 8.
Est ce qu'il y a une maniere de faire ceci ?
-----