Remove number from a matrix within a for loop

8 vues (au cours des 30 derniers jours)
Elijah L
Elijah L le 18 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 commentaires
Walter Roberson
Walter Roberson le 19 Sep 2020
Have you considered findpeaks of the negative of the data ?
Elijah L
Elijah L le 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

Connectez-vous pour commenter.

Réponses (1)

Gaurav Garg
Gaurav Garg le 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

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by