MATLAB Answers

Naime
0

change a value in matrix

Asked by Naime
on 2 Apr 2019
Latest activity Answered by Guillaume
on 2 Apr 2019
A=[1,0,5,3,0;2,0,6,0,9;0,0,5,3,1];
idx = randperm(size(A,1),1);
[~,col,val]=find(A(idx,:));
changed=val+0.5*rand;
I want to make a new_A according to changed value. if
idx=2, changed=[2.11,6.11,9.11];
new_A should be
new_A=[1,0,5,3,0;2.11,0,6.11,0,9.11;0,0,5,3,1];

  0 Comments

Sign in to comment.

1 Answer

Guillaume
Answer by Guillaume
on 2 Apr 2019
 Accepted Answer

Note that
idx = randi(size(A, 1));
would make more sense than randperm with just one element output. Anyway,
randomrow = randi(size(A, 1)); %better name than idx as well.
A(randomrow, :) = A(randomrow, :) + 0.5 * rand * (A(randomrow, :) ~= 0)

  0 Comments

Sign in to comment.