How to coding and plotting
2 views (last 30 days)
Show older comments
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 ?
0 Comments
Accepted Answer
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
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.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!