Rounding off components of a matrix
2 次查看(过去 30 天)
显示 更早的评论
Hello, I am new to matlab and I got stuck at a particular point.
I have a 256 x 904 matrix with entries between -1 and 1. I need to round it off in such a way that for entries less than or equal to 0, the output should be -1 and for entries greater than 0, the output should be 1.
So, I named this matrix X.
How do I denote X = (xij) in Matlab?
I was thinking of the following code:
if xij < = 0 xij= -1 else xij = 1 end
Could someone please help me?
0 个评论
回答(2 个)
the cyclist
2012-6-19
This particular operation is easy to do across the entire matrix at once:
x = sign(x);
Even if there had not been a simple function that happened to do exactly what you needed, you can often do rounding operations cleverly on the whole matrix.
3 个评论
Walter Roberson
2012-6-19
X(i,j)
However, you do not need that representation for this purpose: sign(X) will do the entire matrix at once.
Walter Roberson
2012-6-19
roundedX = (X > 0) * 2 - 1;
This will do the entire matrix at one time.
Another approach:
roundedX = ones(size(X));
roundedX(X <= 0) = -1;
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!