How made the code as easy?

1 Ansicht (letzte 30 Tage)
VIJAY
VIJAY am 8 Nov. 2018
Bearbeitet: madhan ravi am 8 Nov. 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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephan
Stephan am 8 Nov. 2018
Bearbeitet: Stephan am 8 Nov. 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))=[]

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by