Remove number from a matrix within a for loop

2 Ansichten (letzte 30 Tage)
Elijah L
Elijah L am 18 Sep. 2020
Beantwortet: Gaurav Garg am 21 Sep. 2020
This script outputs an 1x3 matrix (timeszmn2). I want to make it so that this script removes the 3rd number in this matrix within the 'for' loop. How can I do this?
I would assume that I need to make it so that zmndynarray2 doesn't have this third value?
zmn2 = zpoint';
d =[diff(zmn2) 0];
zmndynarray2 = [];
for i=1:(length(d)-1)
if d(i)*d(i+1)< 0 && d(i+1) > 0
zmndynarray2 = [zmndynarray2 (i+1)];
end
end
zmn2 = zpoint(zmndynarray2)
timeszmn2 = times(zmndynarray2)
  4 Kommentare
Walter Roberson
Walter Roberson am 19 Sep. 2020
Have you considered findpeaks of the negative of the data ?
Elijah L
Elijah L am 19 Sep. 2020
Yes, I know I could easily use findpeaks or islocalmin but I would like to use a for loop as my algorithim

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Gaurav Garg
Gaurav Garg am 21 Sep. 2020
Hey Elijah,
You can replace the third element by [ ] in the script.
Example -
a = [1 2 3];
a(3)
a(3) = [ ]
What you would get is -
ans =
1 2

Community Treasure Hunt

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

Start Hunting!

Translated by