私は1901 gの値を持っています。私は他のコードによって生成された上記のQQで最大数を見つけてください。 matlabで
xr=[qq] ; %Training and Anomaly Samples in sequence
z=numel(xr);
N=100;
t=zeros(1,z-N+1);
for n5=0:z-N;
x=xr(1+n5:N+n5);
d=max(x);
m1=numel(x);
y=zeros(d,1);
p=zeros(d,d);
for k=1:m1-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;
b2=sum(log(p(p~=0)));
[~,~,idx] = unique(x);
q=prod(hist(idx,1:max(idx))/numel(x));
l=log(q);
g1=b2+l;
t(n5+1)=g1; %log value
end
としてトンで、それを蓄積し、100から1の間の整数を持っています、QQの長さはここに2000年である私はそれが、その後max(t)
をやっているときtは1901の長さを持っています答えを示しています。最初の400回の反復の中で最大値を見つける方法。それは誤り
Subscript indices must either be real positive integers or logicals. so how his error occurs.
あなたのインデックスは1から始まっていますか?私はコードを実行し、それは私のために働く。唯一の問題は、1:60のインデックスの一部に値がないことです。 – Harjatin
t(n + 1)= g、nは0から始まり、tは1からの値を持ち、すべてのインデックスが存在します。 –
質問を完全なコードで更新できますか?私はここで問題を解決することはできません。これは、nが整数であり、すべてのインデックスが存在する場合にうまくいきます。 – Harjatin