MATLAB Answers

How can I default an array to show either 0's or 1's?

1 view (last 30 days)
onamaewa
onamaewa on 4 Mar 2019
Answered: Guillaume on 4 Mar 2019
I have an array that is defined by:
pict(i, j) = pict(i, j) + (sum1^2 - sum2)/32;
The array is a 41 x 41 double, and yields the result:
untitled_1.jpg
I'm plotting this figure using:
image(Rx, (Ry-40), pict, 'CDataMapping', 'scaled')
The area (in yellow) at -11 on the y-axis is my maximum point in the image. Is there a way for me to manipulate my array to make a range of maximum values 1 and everything else 0?
  2 Comments
onamaewa
onamaewa on 4 Mar 2019
The values in the image go from 0 to 17, so a range a maximum values would be, for example, 16.5 to 17.

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 4 Mar 2019
If I understood correctly,
wantedarray = pict >= 16.5; %everything above 16.5 becomes 1, everything else 0
%or
wantedarray = double(pict >= 16.5); %if an array of double instead of logical is required

More Answers (1)

Steven Lord
Steven Lord on 4 Mar 2019
If you're using release R2018a or later use the normalize function to normalize your data.

Community Treasure Hunt

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

Start Hunting!

Translated by