Approximately equal or egual to +- error

24 views (last 30 days)
Stefan
Stefan on 8 Jun 2011
Commented: Manjur Hossain on 7 May 2021
Hi,
I have two vectors where each has a column with approximately equal values like this:
Vector1 Vector2
1.11111 1.2222
1.12111 1.2238
... ...
1.2223 1.4446
Since the value of Vector1: 1.2223 is not exactly equal to the value of Vector2: 1.2222 I cannot use the equal to command to find the value 1.2223 in vector2.
What I'm looking for is a command or a way to find a value in vector2 that is approximately equal to a value from vector1 within some limits.
It could look like this:
find(vector2(:,1))=vector1(1,?)+-0.0001
Where +-0.0001 would be the limits. But you can't write it like this.
I'm thankful for any hint.

Answers (4)

Andrei Bobrov
Andrei Bobrov on 8 Jun 2011
u(abs(v - u)<=e)
index
idx = find(abs(v - u)<=e)

Paulo Silva
Paulo Silva on 8 Jun 2011
Adapt this code to your purpose:
v=[1.1 2.2 3.3]' %vector 1
u=[1.2 2.6 6]' %vector 2
e=0.1 %error
u(u<=v+e & u>=v-e) %values in vector 2 that are inside the limits
%it only compares values in the same index number
  1 Comment
Manjur Hossain
Manjur Hossain on 7 May 2021
Thank you Mr. Paulo Silva. You have post it at very earlier but I have implemented it today for my own work. Thank you for solution for nearest value.

Sign in to comment.


Stefan
Stefan on 8 Jun 2011
Alright, that works great!
Now, I would like to get the index where it found the values.
In the example above that would be the first value in the first column: (1,1)
Instead of returning the actual value that it found, how can I get out the index?
  2 Comments
Paulo Silva
Paulo Silva on 8 Jun 2011
use the find function
doc find
Jan
Jan on 8 Jun 2011
"L = abs(v - u)<=e" is the logical index, "find(L)" is the numerical index.
This is explained in the "Getting Started" chapters of the documentation.

Sign in to comment.


Stefan
Stefan on 8 Jun 2011
You guys are awesome! Thanks a lot!

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!