Approximately equal or egual to +- error
이전 댓글 표시
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.
답변 (4개)
Andrei Bobrov
2011년 6월 8일
u(abs(v - u)<=e)
index
idx = find(abs(v - u)<=e)
Paulo Silva
2011년 6월 8일
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
Manjur Hossain
2021년 5월 7일
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.
Stefan
2011년 6월 8일
0 개 추천
댓글 수: 2
Paulo Silva
2011년 6월 8일
use the find function
doc find
Jan
2011년 6월 8일
"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.
카테고리
도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!