Changing numbers in a matrix with new numbers

1 view (last 30 days)
I have a matrix A:
A=
0 0 1 0 0
1 0 0 0 1
0 0 1 0 1
Then with some functions I find the coordinates of the 1 in the matrix and apply a code, after that those ones wont be ones anymore, will be a different number. How can I put the new numbers in the matrix, changing the ones with the new numbers?
In other words, I would like something like this:
B=
0 0 7 0 0
6 0 0 0 7.6
0 0 8 0 8.1
I am going to put my code for easier understanding. Thank you!

Accepted Answer

Walter Roberson
Walter Roberson on 1 Feb 2014
A(logical(A)) = [6 7 8 8.6 8.1];
  3 Comments
Walter Roberson
Walter Roberson on 1 Feb 2014
A = A.';
A(logical(A)) = [2 2.2 2.3 2.4];
A = A.';
MATLAB always goes down columns when assigning multiple values, not across rows.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!