comparing floating point numbers

10 次查看(过去 30 天)
Dear all,
I have two arrays A and B consisting of floating point numbers. The size of array A is [104,1] and B is [641,1]. I want to compare each element of A with every element of B.
[A]=[0
2.527947992282320e-04
1.809924379782077e-04
....
]
[B]=[0
0.005
0.010
0.015
.....
]
Kindly help me.
Thanks in advance.
  1 个评论
Image Analyst
Image Analyst 2018-4-10
What does "compare" mean to you? Do you want to check for "equality"? Do you want to know which is greater or lesser? Do you want to know the distance (difference) between corresponding (or all) elements from each other? Please define "compare".

请先登录,再进行评论。

回答(3 个)

KSSV
KSSV 2018-4-10
Read about ismemebrtol

A Mackie
A Mackie 2018-4-10
编辑:Guillaume 2018-4-10
A-B'
will generate a 104x641 matrix where each row is a value of A minus each individual value of B.
The ' operator takes the transpose of the vector B, allowing you to use implicit expansion. This will only work with later versions of MATLAB I believe.
  5 个评论
Abhinav Srivastava
Abhinav Srivastava 2018-4-10
Yes I am trying to find index of k of B for which A(i) lies between B(k) and B(k+1). I think for that we need to check whether A(i) lies between B(k) and B(k+1)
Guillaume
Guillaume 2018-4-10
"Yes I am trying to find index..."
Then I have answered that...

请先登录,再进行评论。


Guillaume
Guillaume 2018-4-10
编辑:Guillaume 2018-4-10
If you're trying to find at which k index of B the value A(i) is between B(k) and B(k+1), then:
[~, idx] = histc(A, B) %in R2013. Newer versions of matlab have much better functions for that

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by