Approximately equal or egual to +- error

14 vues (au cours des 30 derniers jours)
Stefan
Stefan le 8 Juin 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.

Réponses (4)

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

Paulo Silva
Paulo Silva le 8 Juin 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 commentaire
Manjur Hossain
Manjur Hossain le 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.

Connectez-vous pour commenter.


Stefan
Stefan le 8 Juin 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 commentaires
Paulo Silva
Paulo Silva le 8 Juin 2011
use the find function
doc find
Jan
Jan le 8 Juin 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.

Connectez-vous pour commenter.


Stefan
Stefan le 8 Juin 2011
You guys are awesome! Thanks a lot!

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by