How to assign values to matrix
18 views (last 30 days)
Show older comments
Jacob Bunyamin
on 10 Feb 2023
Commented: Walter Roberson
on 10 Feb 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 Comment
Accepted Answer
Tushar Behera
on 10 Feb 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 Comments
More Answers (1)
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!