How to add values from if statements to a column

24 views (last 30 days)
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

Accepted Answer

Turlough Hughes
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
  1 Comment
jacob Mitch
jacob Mitch on 9 Oct 2019
Perfect this is exactly what i was looking for.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by