Info

This question is closed. Reopen it to edit or answer.

replace some elements to zero if they are not NaN

1 view (last 30 days)
summyia qamar
summyia qamar on 5 Aug 2018
Closed: summyia qamar on 5 Aug 2018
I have a matrix
A=[2 3 NaN NaN 3 NaN NaN 9 9 9;
3 4 NaN NaN 3 NaN NaN 9 5 8;
1 2 NaN NaN 4 NaN NaN 8 7 9]
I want to replace 30% of non zero elements in each row to 0.. for example, 30% of non-zero elements is 2.I want to replace each row with 2 zeros
A=[0 3 NaN NaN 3 NaN NaN 9 0 9;
3 4 NaN NaN 0 NaN NaN 9 0 8;
1 0 NaN NaN 4 NaN NaN 8 0 9]
how can I do this? I have done some but for that case no Nan is available in matrix but in this case I want that Nan remains and rest is replaced. Please guide.
  2 Comments
jonas
jonas on 5 Aug 2018
Edited: jonas on 5 Aug 2018
30% of 6 is not 2. Do you round off any decimals? Also, do you want to select those two numbers randomly?
Jan
Jan on 5 Aug 2018
Edited: Jan on 5 Aug 2018
If no NaNs are available, you want to keep the NaNs and the rest is replaced? This sounds confused. What exactly are 30%, if the number of columns is not a multiple of 10?

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!