Approximately equal or egual to +- error

11 Ansichten (letzte 30 Tage)
Stefan
Stefan am 8 Jun. 2011
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.

Antworten (4)

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

Paulo Silva
Paulo Silva am 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 Kommentar
Manjur Hossain
Manjur Hossain am 7 Mai 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.

Melden Sie sich an, um zu kommentieren.


Stefan
Stefan am 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 Kommentare
Paulo Silva
Paulo Silva am 8 Jun. 2011
use the find function
doc find
Jan
Jan am 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.

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by