Comapring Values in one Matrix to another

조회 수: 1 (최근 30일)
Chris Stout
Chris Stout 2020년 8월 8일
댓글: Alan Stevens 2020년 8월 8일
I have two matrixes
A = [373 383 393 403 413 420 451 485 499] ; B = [373 453 457 461 464]
I want two compare each value of A to every value of B and create a new matrix which is a collection of all the values of A which are bigger than at least one value in B
For example, I want to compare 383 from A to every value in B, and since its bigger than 373 in B I want to store it in a new matrix say called C.
I want to do this for every element in A
How can I do this?
Any help appreciated.

답변 (3개)

Stephen23
Stephen23 2020년 8월 8일
편집: Stephen23 2020년 8월 8일
The simple MATLAB way:
>> A = [373,383,393,403,413,420,451,485,499];
>> B = [373,453,457,461,464];
>> C = A(A>min(B))
C =
383 393 403 413 420 451 485 499

Alan Stevens
Alan Stevens 2020년 8월 8일
What about:
A = [373 383 393 403 413 420 451 485 499] ; B = [373 453 457 461 464];
k = 1;
for i = 1:length(A)
t = A(i);
if any(t>B)
C(k) = t;
k = k+1;
end
end

Star Strider
Star Strider 2020년 8월 8일
Another approach:
A = [373 383 393 403 413 420 451 485 499];
B = [373 453 457 461 464];
C = ones(numel(B),1)*A; % Expand ‘A’
C = C.' .* (A(:)>B); % Multiply By Logical Array
C = unique(C); % Create Vector Of Unique Values
.

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by