【发布时间】:2016-05-18 13:54:28
【问题描述】:
我有以下代码
xr=randi([1 150],1,20)
z=numel(xr);
N=10; %Window length
gAll=zeros(1,z-N+1);
for n=0:z-N;
x=xr(1+n:N+n)
d=max(x);
m=numel(x);
y=zeros(d,1);
p=zeros(d,d);
for k=1:m-1
y(x(k))=y(x(k))+1;
p(x(k),x(k+1))=p(x(k),x(k+1))+1;
end
p=bsxfun(@rdivide,p,y);
p(isnan(p)) = 0;
j=prod(p(p~=0));
[~,~,idx] = unique(x);
q=prod(hist(idx,1:max(idx))/numel(x));
s=log(j);
l=log(q);
g=s+l
gAll(n+1)=g;
end
plot(gAll)
我想要一个图,对于 gAll =-22 的阈值线,阈值线上方的图形应为红色,阈值线下方的图形应为蓝色,但图形应与这两种不同颜色连续连接,如何去做吧。
【问题讨论】:
-
而不是循环中的
y(x(k))=y(x(k))+1,而是调用tabulate (x)(在循环之前),然后取第二列。
标签: matlab plot matlab-figure figure