Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Is there a way to replace a specific NaN elements by integer where isnan would not work with steps greater than 1?

1 Ansicht (letzte 30 Tage)
Hello All,
Could you please help with this problem
I have this matrix
hh=[NaN 1 2 3 4;3 5 66 NaN 6;NaN 3 4 7 NaN; 9 NaN 8 2 NaN];
and I want to replace only the NaN in some places to an integer. I have tried this hh(isnan(hh(1:2:4,1)))=1; which should replace the NaN in element (3,1) by 1 but did not work

Antworten (1)

Walter Roberson
Walter Roberson am 4 Jul. 2017
mask = isnan(hh(:, 1)); mask(2:2:end) = false;
hh(mask) = 1;
  2 Kommentare
Abdulaziz Abutunis
Abdulaziz Abutunis am 4 Jul. 2017
Thank you Walter, I tried your example and it will replace all the NaN in the first column. Best
Walter Roberson
Walter Roberson am 5 Jul. 2017
isnan(hh(1:2:4,1)) is true for hh(1,1) so you have indicated that you do want hh(1,1) to be replaced.

Community Treasure Hunt

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

Start Hunting!

Translated by