就是将Tval(i)的最后的sum改成max,其余不变,因为是多元,所以不知道怎么运行,这是其中的一部分程序,求大家给个提示什么的,方法
climit = zeros(1, kmax);
[Tval] = deal(climit);
runlength = kmax;
weight = (win(i)-1):(-1):0;
weight = (1-lambda).^weight';
wm = repmat(weight, 1, dim)
Tval(i) = sum((sum(wm.*(rankMat((cidx-win(i)+1):cidx, :)-(cidx+1)/2), 1)).^2)/(sd(i)^2)
icount = 1;
nbound=10000;
permT = zeros(1, nbound);
permT1 = zeros(1,kmax);
if i == 1
while icount <= nbound
per = randperm(cidx)
pRank = rankMat(per,:)
permT(icount) = sum((sum(wm.*(pRank((cidx-win(i)+1):cidx, :)-(cidx+1)/2), 1)).^2)/(sd(i)^2);
icount = icount + 1
end
climit(i) = quantile(permT, 1-alpha)
else
p=1
while p<2
per = randperm(cidx)
dsample=rawSample(per,:)
pRank=rankMat(per,:)
k=max(1,i-win(i)+1)
q=1
while q<2
if k>i-1;
weight = (win(i)-1):(-1):0;
weight = (1-lambda).^weight';
wm = repmat(weight, 1, dim);
climit(i) = sum((sum(wm.*(pRank((cidx-win(i)+1):cidx, :)-(cidx+1)/2), 1)).^2)/(sd(i)^2)
p=2
break
else
for r = 1 : dim
esample = dsample(1:k+m0,:);
[b,rdx] = sort(esample(1:k+m0,r));
kRank(rdx, r) = 1:k+m0
end
weight = (win(k)-1):(-1):0;
weight = (1-lambda).^weight';
wm = repmat(weight, 1, dim)
permT1(k) = sum((sum(wm.*(kRank((m0+k-win(k)+1):m0+k, :)-(m0+k+1)/2), 1)).^2)/(sd(k)^2)
v=climit
if permT1(k)>climit(k)
q=1
k=k+1
else
p=2