MATLAB Answers

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

2 views (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

  0 Comments

Sign in to comment.

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.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by