Borrar filtros
Borrar filtros

How to separate all negative and all positive values of a vector?

80 visualizaciones (últimos 30 días)
Hello, I baffled by one task in Matlab, namely I need to create two vectors that contains all positive and all negative values of an initial vector. I would like to get a general answer to my question. Here is my script (unfinished): for i=1:numel(x) if x(i) > 0 & x(i)==0 P(i)=????????(all positives) end end disp('The postive vector is:')
Sergey

Respuesta aceptada

Stephen23
Stephen23 el 23 de Sept. de 2015
Editada: Stephen23 el 23 de Sept. de 2015
You don't need a loop, because logical indexing is much simpler and faster:
>> X = [1,2,-3,-4,5,-6,7,-8,9];
>> idx = X<0; % create logical index
>> neg = X(idx)
neg =
-3 -4 -6 -8
>> pos = X(~idx)
pos =
1 2 5 7 9
  5 comentarios
Walter Roberson
Walter Roberson el 20 de Mzo. de 2023
Do we understand correctly that there should be 11 different outputs?
  1. element in first vector and second vector are both positive
  2. element in first vector is positive, element in second vector is zero
  3. element in first vector is positive, element in second vector is negative
  4. element in first vector is zero, element in second vector is positive
  5. element in first vector is zero, element in second vector is zero
  6. element in first vector is zero, element in second vector is negative
  7. element in first vector is negative, element in second vector is positive
  8. element in first vector is negative, element in second vector is zero
  9. element in first vector is negative, element in second vector is negative
  10. element exists in first vector but you have run out of elements in the second vector
  11. element exists in second vector but you have run out of elements in the first vector
Or should the cases where you have run out of elements in one of the vectors each be split into the negative / zero /positive, leading to a total of 15 different cases?

Iniciar sesión para comentar.

Más respuestas (1)

RAM MANOHAR
RAM MANOHAR el 23 de Jul. de 2019
I have used for , if --else loops but i have got positive and 0 in place of negative.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by