Changing numbers in a matrix with new numbers

3 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Walter Roberson
Walter Roberson il 1 Feb 2014
A(logical(A)) = [6 7 8 8.6 8.1];
  3 Commenti
Walter Roberson
Walter Roberson il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by