Remove number from a matrix within a for loop

2 views (last 30 days)
Elijah L
Elijah L on 18 Sep 2020
Answered: Gaurav Garg on 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 Comments
Walter Roberson
Walter Roberson on 19 Sep 2020
Have you considered findpeaks of the negative of the data ?
Elijah L
Elijah L on 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

Sign in to comment.

Answers (1)

Gaurav Garg
Gaurav Garg on 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!