Is there any way to normalize any matrix values to be between (-1) and (1)?

2 visualizaciones (últimos 30 días)
Hello,
Is there any way to normalize any matrix values to be exactly between (-1) and (1)? I attached the matrix.
regards,

Respuesta aceptada

Image Analyst
Image Analyst el 12 de En. de 2019
You can use mat2gray(), which normalizes data from 0-1 then just scale and subtract 1 to get into the range -1 to +1:
M = 2*mat2gray(M)-1;
A nice single-line solution.
  4 comentarios
Sarah A
Sarah A el 13 de En. de 2019
No it is still between -1.0000 and 1.0000, is there any way to fix that ?
Walter Roberson
Walter Roberson el 13 de En. de 2019
They would display as -1.0000 and 1.0000 especially with short format in effect, but if you take 1-max(M(:)) and min(M(:))+1 then you will see non-zero residues.

Iniciar sesión para comentar.

Más respuestas (2)

madhan ravi
madhan ravi el 12 de En. de 2019
Editada: madhan ravi el 12 de En. de 2019
a=-1;
b=1;
N=100; % number of points
A=(b-a).*rand(N,1)+a; % creates numbers inbetween -1 and 1

Steven Lord
Steven Lord el 12 de En. de 2019
Use the normalize function with the 'range' method if you're using release R2018a or later.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by