Help with linspace and indexing

12 visualizaciones (últimos 30 días)
Jason
Jason el 3 de Nov. de 2015
Respondida: Image Analyst el 3 de Nov. de 2015
I have a vector of values where "roughly" the middle value is close to zero. It can be positive or negative. (these represent real locations on an fluorescent image of a regular pitched object array)
xactual=
-30.6552
-23.6552
-17.6552
-11.6552
-5.6552
0.3448
6.3448
12.3448
18.3448
24.3448
30.3448
36.3448
I want to be able to subtract this offset (0.34 in this case) off all of the values, so I tried:
xactualZero=min(abs(xactual(:)))
xactual=xactual-xactualZero;
However this doesnt handle the sign, as I said this value closest to zero can be positive or negative.
Also I want to find the index of this value (thats closest to zero) and create a linspace vector of equal length, starting with zero in the same location, but increment positively and negatively by 6 units. i.e
xreal=
-30
-24
-18
-12
-6
0
6
12
18
24
30
36
I am trying to calculate optical distortion and have the "actual locations" of my objects that I know are 6 pixels seperated I can work out the distortion as
dist=xreal-xactual.

Respuesta aceptada

Jan
Jan el 3 de Nov. de 2015
Editada: Jan el 3 de Nov. de 2015
[dummy, index] = min(abs(xactual(:)))
xactualZero = xactual(index);
xactual = xactual - xactualZero;
If your problem is almost solved by the min function, reading the documentation of this command will help you. If it is not solved by a specific option of the command, look at the "See also" line on the bottom. This is extremely useful.
  3 comentarios
Stephen23
Stephen23 el 3 de Nov. de 2015
Editada: Stephen23 el 3 de Nov. de 2015
>> 6*((1:numel(xactual))-index)
ans =
-30 -24 -18 -12 -6 0 6 12 18 24 30 36
Or do you particularly need to use linspace?
Jason
Jason el 3 de Nov. de 2015
Thats perfect, thankyou. How do I accept both of your answers?

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 3 de Nov. de 2015
You might be interested in imregionalmin() or imregionalmax().

Community Treasure Hunt

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

Start Hunting!

Translated by