Filter löschen
Filter löschen

comparing numbers on the same vector

2 Ansichten (letzte 30 Tage)
jean claude
jean claude am 6 Apr. 2016
Kommentiert: jean claude am 7 Apr. 2016
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))

Akzeptierte Antwort

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

Weitere Antworten (1)

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

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by