Build new matrix from look up table

조회 수: 1 (최근 30일)
Tapashree Roy
Tapashree Roy 2019년 9월 6일
댓글: Tapashree Roy 2019년 9월 20일
Hello,
I have a column vector A, corresponding to which I need to fill a vector C, the same size as A.
The value of C would be assigned from the "look up" table B-CD.
For the closest matching value of B to each element in A, the corresponding CD will be filled in to C.
So for the example below, for A= 0.35, 0.95, the C should be 200, 400.
How do I assign correct values to C?
%This code does not really work
A=[0.35 0.95];
C = zeros(length(A),1);
B=[0.1 0.4 0.8 1];
CD=[100 200 300 400];
minDiff =0.5;
for ii = 1:length(B)
diff = abs(B(ii) - A);
if(diff < minDiff)
B_index = ii;
minDiff = diff;
C=CD(B_index)
end
end

채택된 답변

Catalytic
Catalytic 2019년 9월 6일
C=CD( interp1(B,1:numel(B),A,'nearest') );
  댓글 수: 4
Tapashree Roy
Tapashree Roy 2019년 9월 6일
Stephen, better still! Thanks!
Tapashree Roy
Tapashree Roy 2019년 9월 20일
Hi, Follow up question: Now that C is found, how can I find the corresponding B?
i,e.: for this example, when C = 200 400, BC=B would be BC= 0.4 1.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by