How to assign values to matrix
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jacob Bunyamin
le 10 Fév 2023
Commenté : Walter Roberson
le 10 Fév 2023
Good afternoon,
I have a matrix consisted of binary values (1 and 0), in which I want to assign the value of 1 to the 0 and 2 to 1 (for multiplication purposes). Is there a function to work on this problem?
Thanks,
1 commentaire
Réponse acceptée
Tushar Behera
le 10 Fév 2023
Hi jacob,
I assume you want to convert your matrix containing binary values such that 0 will be 1 and 1 will be 2.
This can be acheived in a multitude of ways. One such way will be to add each and every element of the matrix with 1. For example:
matrix = [0 1 0; 1 0 1];
b=matrix+1
%%
b =
1 2 1
2 1 2
Also, you can change the specific values in a matrix by using an element-wise comparison and assignment. Here's an example:
matrix = [0 1 0; 1 0 1];
result = (matrix == 0) + (matrix == 1) * 2
%%
result =
1 2 1
2 1 2
The resulting matrix result will have the values 1 and 2, as you required. This works by creating two logical arrays, one where the elements of matrix are equal to 0, and one where they are equal to 1. These logical arrays are then cast to numeric arrays, with zeros becoming ones and ones becoming twos. The two arrays are then added together to obtain the final result.
I hope this answers your question.
Regards,
Tushar
3 commentaires
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Data Types dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!