Help with linspace and indexing

12 vues (au cours des 30 derniers jours)
Jason
Jason le 3 Nov 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.

Réponse acceptée

Jan
Jan le 3 Nov 2015
Modifié(e) : Jan le 3 Nov 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 commentaires
Stephen23
Stephen23 le 3 Nov 2015
Modifié(e) : Stephen23 le 3 Nov 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 le 3 Nov 2015
Thats perfect, thankyou. How do I accept both of your answers?

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 3 Nov 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