How to assign values to matrix

18 次查看(过去 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
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 个评论
Jacob Bunyamin
Jacob Bunyamin 2023-2-10
Hi Tushar,
Another question, I trie dto multiply my matrix , one is uint8 and one is uint 16 files. I could not use mtimes function because both are integers,
Do you know how to fix this issue?
Thanks

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2023-2-10
YourMatrix + 1
satisfies that mapping

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by