2011-06-08 3 views
0

J'utilise la fonction interp1 pour rééchantillonner (a, b) à (new_a, new_b). Je reçois NAN pour les valeurs de new_b. A, b sont des matrices de lignes. Certaines valeurs de b sont nulles. Comment se débarrasser de cela? En raison de NAN je suis incapable de tracer la courbe correcte pour le tracé (new_a, new_b, « r *)L'utilisation d'octave de la fonction interp1 renvoie NAN

c = cat(1,a, b); 
[s,i] = sort(c(1,:)); #Sort by the 1st row    
sort_ab = c(:,i); 
sort_a = sort_ab(1,:); 
sort_b = sort_ab(2,:);            

new_a = min(sort_a):0.001:max(sort_a);         
new_b = interp1(a, b, new_a); 

Répondre

2

De http://www.mathworks.com/help/techdoc/ref/interp1.html:

Pour le 'nearest', 'linear' et 'v5cubic' méthodes, interp1(x,Y,xi,method) renvoie NaN pour tout élément de xi qui se situe en dehors de l'intervalle et qui est délimité par x.

Notez que 'linear' est la méthode d'interpolation par défaut.

Vous ne nous avez pas fourni les valeurs de a et b, mais ce qui précède semble l'explication la plus probable.

Questions connexes