How do I replace/convert all zeros in 3rd-dimension to NaN

1 Ansicht (letzte 30 Tage)
NA
NA am 5 Sep. 2020
Kommentiert: NA am 5 Sep. 2020
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.

Akzeptierte Antwort

David Hill
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
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation of 2-D Selections in 3-D Grids finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by