Comapring Values in one Matrix to another

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.

Antworten (3)

Stephen23
Stephen23 am 8 Aug. 2020
Bearbeitet: Stephen23 am 8 Aug. 2020

1 Stimme

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 am 8 Aug. 2020

0 Stimmen

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 am 8 Aug. 2020

0 Stimmen

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
.

Gefragt:

am 8 Aug. 2020

Kommentiert:

am 8 Aug. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by