finding nearest number in matrices

1 次查看(过去 30 天)
hi I have 2 matrices A and B.
A=[0 0.375 0.405 0.452 0.500 0.530 0.577 0.623 0.639 0.670 0.701 0.717 0.748 0.779]
B=0:01:end
I want to find nearest number of A to 0.1 and then to 0.2 and then to 0.3 and ...
in this case the nearest numbers to 0.1 and 0.2 is 0.but I want a program that find the nearest number to 0.1 and put that number away and then find the nearest number to 0.2 and so on.
can you help me?
  1 个评论
Jan
Jan 2014-7-14
编辑:Jan 2014-7-14
What have you tried so far?
"B = 0:01:end" is no valid Matlab syntax. Please edit the question and replace it by what you really want.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2014-7-14
What's the purpose of B? What is "end"?
Anyway, using A, try this:
clc;
A=[0 0.375 0.405 0.452 0.500 0.530 0.577 0.623 0.639 0.670 0.701 0.717 0.748 0.779]
for k = 1 : length(A)
[~, nearestIndex(k)] = min(abs(A - k/10));
end
% Display in command window:
nearestIndex
  5 个评论
Image Analyst
Image Analyst 2014-7-14
k is an index. Indexes can't start from 0 since they have to be integers starting at 1. However you can make another variable that is just k-1 if you want.
But anyway, that code doesn't use B like my latest code, so it's not right anyway.
sajad
sajad 2014-7-14
I used your first code.
thanks

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2014-7-14
编辑:Jan 2014-7-14
A = [0 0.375 0.405 0.452 0.500 0.530 0.577 0.623 0.639 0.670 0.701 0.717 ...
0.748 0.779]
B = 0:0.1:1; % Did you menat this?!
[value, index] = min(abs(bsxfun(@minus, A, B')))
  1 个评论
sajad
sajad 2014-7-14
No. thanks but previous answer is the thing I want.
I explained the exact thing in comment
thanks again

请先登录,再进行评论。

类别

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