how to formulate if statement for a vector?

3 views (last 30 days)
A=[-3,-2,-1,1,2,3]
B=[-3,-2,-1,2,3,4]
i have 4 condition and have to slect only one when it satisfies.
  1. negative A negative B i.e. A=[-3,-2,-1,0,0,0] B=[-3,-2,-1,0,0,0]
  2. negative A positive B .
  3. positive A negative B.
  4. positive A positive B.
How can i select only one condition if input is in vector.
  4 Comments
Steven Lord
Steven Lord on 15 Oct 2018
The elements at some of the locations of your vectors satisfy your first condition. Others satisfy the fourth condition. Do you want to choose one of those conditions at random and apply it to the entire A and B vectors, or do you want to apply the condition that each pair of corresponding elements satisfies to that element of the result?
What do you want to do if none of the conditions are satisfied?
A = zeros(1, 6);
The elements of A are neither positive nor negative.
Shubham Mohan Tatpalliwar
Shubham Mohan Tatpalliwar on 16 Oct 2018
each pair of corresponding elements satisfies to that element of the result?
What do you want to do if none of the conditions are satisfied?
it would not happen.
also if the one condition does not satisfy the answer would be zero

Sign in to comment.

Accepted Answer

Torsten
Torsten on 15 Oct 2018
Edited: Torsten on 15 Oct 2018
if A<=0 & B<=0
...
elseif A<=0 & B>=0
...
elseif A>=0 & B<=0
...
elseif A>=0 & B>=0
...
end
  9 Comments
Jan
Jan on 17 Oct 2018
If A and B are vectors, the expression
if A<=0 & B<=0
is converted internally to:
if all(A(:)<=0 & B(:)<=0) & ~isempty(A) & ~isempty(B)
Writing this explicitly is less confusing in my opinion. Array-valued conditions of if commands are a frequent source of bugs.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!