How to add values from if statements to a column

24 views (last 30 days)
jacob Mitch on 9 Oct 2019
Commented: jacob Mitch on 9 Oct 2019
say I have
function [x,y]=valuesof(data)
input= data;
t=length(data);
for z=2:t
if input(z-1)>input(z) && input (z)<input(z+1);
x= 'the values of the indices' i.e z
y= 'the input values of the sequence that satisfies the condition' input(z)
end
end
end
how would I create a new colum for each value that satifies my if statement. The 1st column for the indice that the if statement is valid and the 2nd column for the value of input(z)
so for example if I have data of a column as
1
-3
1
0
-1
3
it would store the values of x
as
2
5
and y as
-3
-1
I would not like to use any built in matlab functions such as diff, sign and find etc. Thanks for the help

Turlough Hughes on 9 Oct 2019
Edited: Turlough Hughes on 9 Oct 2019
You just have to make an index for every time your if statement is satisfied. See the modified code.
function [x,y]=valuesof(data)
c=1; % new index
input= data;
t=length(data);
for z=2:t
if input(z-1)>input(z) && input(z)<input(z+1);
x(c,1)=z;
y(c,1)=input(z);
c=c+1;
end
end
end
jacob Mitch on 9 Oct 2019
Perfect this is exactly what i was looking for.