comparing numbers on the same vector

hi, i have vector
x=[1 ;5; 20; 10; 15 ;30];
i want to have
y=[1 ;1;1;0;0;1];
such that if the number is bigger than the maximum number (before him) i get 1 else i get 0
here is my try
for i=x(:)
if i> max(x(1:i-1))
y(i)=1 ;
else y(i)=0 ;
end
end
but i know that something wrong with max(x(1:i-1))

 Accepted Answer

y(1) = true;
for k = 2:length(x)
y(k) = (max(x(1:k-1))<x(k));
end
y = double(y);

More Answers (1)

out = all(bsxfun(@ge,x,x') + triu(ones(numel(x)),1),2);

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Tags

Community Treasure Hunt

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

Start Hunting!