Bonjour,
j'ai un probleme dans mon programme dont voici un extrait;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     i1=find(t1>=p_start(file_index) & t1<=p_end(file_index));
        s1.signal=flux1(i1);
        s1.fs=fs1;
        mask=nan_mask(s1);
        flux1_nan=flux1(i1).*mask;
 
        for i2=1:length(flux1_nan);
 
        if ~isnan(flux1_nan(i2))
 
        [P_nan,f]=pwelch(flux1(i1)-mean(flux1(i1)),boxcar(length(i1)),0,round(fft_length*fs1),fs1);    
  else
          P_nan=nan;
      end
A noter que la variable flux1_nan comporte des NaN, et length(flux1_nan ) , length(round(fft_length*fs1))=1024. La fonction Pwelch n'a pas l'air d'apprecier les NaN dans un signal d'entree d'ou mon programme...

En effet, j'ai le message d'erreur suivant ;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
??? Error using ==> welchparse at 36
The length of the segments cannot be greater than the length of the input signal.
 
Error in ==> welch at 40
[x,M,isreal_x,y,Ly,win,winName,winParam,noverlap,k,L,options] = ...
 
Error in ==> pwelch at 121
[varargout{1:nargout}] = welch(x,esttype,varargin{:});
 
Error in ==> pwelch_PSD_missbis at 93
         [Px,f] = pwelch(flux1_nan(i2)-nanmean(flux1_nan),(length(flux1_nan))/4,[ ],[
         ],fs1);

Si vous pouvez m'aider ce serait super sympa. je suis vraiment desesperee !!
Miss. Hind