# Build new matrix from look up table

조회 수: 1(최근 30일)
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 2019년 9월 6일
C=CD( interp1(B,1:numel(B),A,'nearest') );
##### 댓글 수: 4표시숨기기 이전 댓글 수: 3
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.

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

### Community Treasure Hunt

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

Start Hunting!

Translated by