How made the code as easy?

1 visualización (últimos 30 días)
VIJAY
VIJAY el 8 de Nov. de 2018
Editada: madhan ravi el 8 de Nov. de 2018
P=[1 32 3 78 5 6 7 8 9 10] ;P is my original array which has the size is 1*10; I have Q=[2 4 7];I want delete in Q array value in P array; My expect output is P=[ 1 3 5 6 8 9 10] by using for loop only because of the size of Q array may be change ;P(:,[Q(1) Q(2) Q(3)])=[] this command use only the size of Q array is 1*3 .So I need for loop logic which is common of any array size.

Respuesta aceptada

madhan ravi
madhan ravi el 8 de Nov. de 2018
Editada: madhan ravi el 8 de Nov. de 2018
P(Q)=[] %edited after Jan's comment
  13 comentarios
Jan
Jan el 8 de Nov. de 2018
You can omit the square brackets and 1:end :
P(Q)=[]
madhan ravi
madhan ravi el 8 de Nov. de 2018
+1 @Jan cool

Iniciar sesión para comentar.

Más respuestas (1)

Stephan
Stephan el 8 de Nov. de 2018
Editada: Stephan el 8 de Nov. de 2018
If you want to delete the values at the indicies in P, that are specified in Q use the answer from Madhan above. If you need to delete the values in P specified in Q use:
P(ismember(P,Q))=[]
  1 comentario
madhan ravi
madhan ravi el 8 de Nov. de 2018
+1 another way of approach

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by