Azzera filtri
Azzera filtri

comparing numbers on the same vector

2 visualizzazioni (ultimi 30 giorni)
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))

Risposta accettata

Roger Stafford
Roger Stafford il 6 Apr 2016
y(1) = true;
for k = 2:length(x)
y(k) = (max(x(1:k-1))<x(k));
end
y = double(y);

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 7 Apr 2016
out = all(bsxfun(@ge,x,x') + triu(ones(numel(x)),1),2);

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by