Iterating through 2 Arrays and Performing a Calculation
조회 수: 11 (최근 30일)
이전 댓글 표시
A1 = [5 10 15 20 25 30 35 40]
A2 = [ 7 22 38]
Goal: Iterate through A2 and subtract from appropriate value in A1, store this value in a separate array.
Example:
7 in A2 is between 10 and 5 where
t1= 5
t2 = 10
Subtract A2 from t1.
7-5 = 2 (store this value in a separte array.
Move on to the second element in A2, 22. 22 is between 20 and 25. Substract (22-20) = 2; store this value
댓글 수: 4
답변 (1개)
Sindar
2020년 3월 6일
loop version:
for ind=1:length(A2)
idx = find(A1 < A2(ind),1,'last');
A3(ind) = A2(ind) - A1(idx);
end
Another (probably much worse) way of looking at it for smallish arrays:
A1 = [3 10 15 20 25 30 35 40];
A2 = [ 7 22 38];
% create a matrix of all combinations of A1(i)-A2(j)
tmp = A2-A1';
% set any less than zero to infinity
tmp(tmp<0)=Inf;
% find the minimum for each column
A3 = min(tmp)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!