How to coding and plotting

2 views (last 30 days)
dab483
dab483 on 26 Feb 2014
Commented: dab483 on 26 Feb 2014
Hi i have this Page hinkley test
sumPH=0
for t=1:Nt
mew2=(inv(Nt)*sum((y2-xhat2)));
vari2=(inv(Nt-1)*sum((xhat2-mew2).^(2)));
sumPH= sumPH + vv/vari2*(rg12 - mean(mew2) -vv/2);
pp=max(0,sumPH);
end
Now i want to plot (t,pp) using either 1 or zero. How do i coding if i want to make maximum of pp become 1 instead its own value of sumPH ?

Accepted Answer

Mischa Kim
Mischa Kim on 26 Feb 2014
Edited: Mischa Kim on 26 Feb 2014
You mean normalize the plot?
sumPH=0
for t=1:Nt
mew2 = (inv(Nt)*sum((y2-xhat2)));
vari2 = (inv(Nt-1)*sum((xhat2-mew2).^(2)));
sumPH = sumPH + vv/vari2*(rg12 - mean(mew2) -vv/2);
pp(t) = max(0,sumPH); % save each data point
end
plot(t,pp/max(pp)) % plot normalized data
If you want to plot only 1s and 0s, then you would use
pp(t) = sumPH>0; % save each data point
...
plot(t,pp) % plot data
  3 Comments
Mischa Kim
Mischa Kim on 26 Feb 2014
Edited: Mischa Kim on 26 Feb 2014
Yep, as outlined above, use
sumPH=0
for t=1:Nt
mew2 = (inv(Nt)*sum((y2-xhat2)));
vari2 = (inv(Nt-1)*sum((xhat2-mew2).^(2)));
sumPH = sumPH + vv/vari2*(rg12 - mean(mew2) -vv/2);
pp(t) = sumPH>0; % save each data point
end
plot(t,pp,'*') % plot data
...and make sure that t and pp are both row or both column vectors. Note, with '*' parameter the data points are plotted individually using a star as the marker symbol.
dab483
dab483 on 26 Feb 2014
ok. i think i got it! thanks for your help.

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!