how to compare elements in an array respectively

조회 수: 42 (최근 30일)
omar mahallawy
omar mahallawy 2019년 3월 4일
답변: Sulaymon Eshkabilov 2019년 7월 25일
i have a static array and 13 variable arrays, each array is the same in terms of size, but now i need to know how can i compare
element 1 with element 1
element 2 with element 2
and so on.....
then goes into an if condition
attached here is what i have so far
  댓글 수: 2
KSSV
KSSV 2019년 3월 5일
Give one example......and your expectations.
omar mahallawy
omar mahallawy 2019년 3월 5일
Max=[ 29 17 23 29] %static vector
A =7 13 16 28 %from for loop
B = 9 15 18 30 %from for loop
comparing vectors A and B to vector Max
A is accepted becasue non of it's elements exceed the specified elements in vector Max
B is rejected Becasue 30>29

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

답변 (2개)

Ramnarayan Krishnamurthy
Ramnarayan Krishnamurthy 2019년 6월 21일
If I understand correctly, you are comparing the arrays element wise and then deciding based on a condition. One approach could be the following:
% Compare elementwise between A and Max; then check if any of the values is non zero i.e. 1
any(A > Max)
% Then use the above as a condition in an if loop to accept or reject the array
if (~any(A>Max)) % then accept
Depending on how you store the 13 variable arrays (A,B, etc) you may be able to accomplish this in a loop
HTH

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2019년 7월 25일
Hi,
Here is a short anwer:
Max_vs_AB = any(Max>A & Max>B);
A_vs_B = any(A>B);
if Max_vs_AB ==1 && A_vs_B==1
fprintf('Accepted matrix is B \n')
disp(B)
elseif Max_vs_AB == 0
fprintf('Accepted matrix is Max \n')
disp(Max)
else
fprintf('Accepted matrix is A \n')
disp(A)
end

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by