Info

此问题已关闭。 请重新打开它进行编辑或回答。

replace some elements to zero if they are not NaN

1 次查看(过去 30 天)
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 个评论
jonas
jonas 2018-8-5
编辑:jonas 2018-8-5
30% of 6 is not 2. Do you round off any decimals? Also, do you want to select those two numbers randomly?
Jan
Jan 2018-8-5
编辑:Jan 2018-8-5
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?

回答(0 个)

产品

Community Treasure Hunt

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

Start Hunting!

Translated by