Logical operations on matrix
이전 댓글 표시
Hello,
I thought i had this figured but i am having trouble with logical operations on a matrix. The code is:
% Quantization stepsize
hQ = 12;
% Quantization levels
hQInt = [0:hQ:360];
% Quantization matrix
hueQuant = zeros(600,800);
for i=5:5
hueQuant(hQInt(i)< hue >hQInt(i+1)) = 1;
end
The idea: I am making quantization intervals with hQInt. I want to use a logical operation in the "for-loop", and i thought this statement said - "The index in hue where hue is larger than hQInt(i) and less than hQInt(i+1) is set to 1 in the matrix hueQuant". Just to mention it, the iteration index is set to 5 for test purpose.
The question: Am i wrong or is it possible this way? Any suggestions to how it can be solved without a massive for loop code?
댓글 수: 1
Stephen23
2016년 2월 4일
Vegard B's "Answer" moved here:
Thanks to both of you for the reply! The solution by Kelly Kearney removed the need to loop and was chosen.
채택된 답변
추가 답변 (1개)
Star Strider
2016년 2월 4일
Assuming I understand correctly what you want to do, this statement:
hueQuant(hQInt(i)< hue >hQInt(i+1)) = 1;
would likely do what you want if you restated it as:
hueQuant((hQInt(i)< hue) & (hue >hQInt(i+1))) = 1;
댓글 수: 1
Image Analyst
2016년 2월 4일
Of course hue would have to be defined first. And it's funny how they talk about a massive for loop when none of the arrays or sizes there, like 5 or 600*800, constitute "massive."
카테고리
도움말 센터 및 File Exchange에서 Dynamic System Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!