how to formulate if statement for a vector?

1 次查看(过去 30 天)
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 个评论
Steven Lord
Steven Lord 2018-10-15
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
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

请先登录,再进行评论。

采纳的回答

Torsten
Torsten 2018-10-15
编辑:Torsten 2018-10-15
if A<=0 & B<=0
...
elseif A<=0 & B>=0
...
elseif A>=0 & B<=0
...
elseif A>=0 & B>=0
...
end
  9 个评论
Jan
Jan 2018-10-17
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by