How to assign values to matrix
조회 수: 15 (최근 30일)
이전 댓글 표시
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,
채택된 답변
Tushar Behera
2023년 2월 10일
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
추가 답변 (1개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!