Path: news.mathworks.com!not-for-mail
From: "Bruno Luong" <b.luong@fogale.findmycountry>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Vectorizing data lookback?
Date: Fri, 5 Sep 2008 07:40:20 +0000 (UTC)
Organization: FOGALE nanotech
Lines: 34
Message-ID: <g9qnp4$aev$1@fred.mathworks.com>
References: <g9db32$oq6$1@fred.mathworks.com> <d3e32ef1-ba0b-4789-a5b1-220c64ee361c@25g2000hsx.googlegroups.com>  <74aae18b-e091-4486-8e7c-d8a6e912952b@m44g2000hsc.googlegroups.com>
Reply-To: "Bruno Luong" <b.luong@fogale.findmycountry>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1220600420 10719 172.30.248.35 (5 Sep 2008 07:40:20 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Fri, 5 Sep 2008 07:40:20 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 390839
Xref: news.mathworks.com comp.soft-sys.matlab:488720



heiko_marx@hotmail.com wrote in message
<74aae18b-e091-4486-8e7c-d8a6e912952b@m44g2000hsc.googlegroups.com>...

> 
> Try it! Do! :-)

Your algorithm does not work as specified:

n=25;
data=[10 zeros(1,98) 1];

% original algo
for ii =n+1:length(data)
    if data(ii) > max(data(ii-n:ii-1));
        output(ii) = 1;
    else
        output(ii) = 0;
    end
end

% Heiko's algo
m = max(data(1:n-1));
for ii = n:length(data)
    if data(ii) > m 
        output2(ii) = 1; 
        m = data(ii); 
    else
        output2(ii) = 0;
    end
end

isequal(output, output2) % not equal

% Bruno