How do I replace/convert all zeros in 3rd-dimension to NaN
    1 Ansicht (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Hi All,
I have a 5-D matrix: 5x16x20x3x15, where 5x16 is the data set; 20 is the number of trials (per experiment); 3 is the number of experiments (per participant); and 15 is the number of participants. If I had 1 particant that had a dataset (for only one exp) that was exclusively all zeros i.e. 5x16x20x2x2 was entirely zeros; would there be a way to convert the zeros to NaN, so that my mean and std calculations are not affected?
Cheers.
0 Kommentare
Akzeptierte Antwort
  David Hill
      
      
 am 5 Sep. 2020
        yourMatrix(:,:,affectedTrials,affectedExperiment,affectedParticipant)=nan;
If all trials of the affected experiment are zeros, then:
yourMatrix(:,:,:,2,2)=nan;
3 Kommentare
  David Hill
      
      
 am 5 Sep. 2020
				If your matrix is not too large, this will work fine.
for k=1:size(yourMatrix,3)
  for n=1:size(yourMatrix,4)
    for m=1:size(yourMatrix,5)
      if nnz(yourMatrix(:,:,k,n,m))==0
        yourMatrix(:,:,k,n,m)=nan;
      end
    end
  end
end
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

