用matlab实现这个程序,它提示错误,说未定义obj,这个该怎么办
function BWFit(obj,obsVec)
L = length(obsVec);
f = @(x)x./sum(x,2);
tmpTransProb = f(rand(obj.nStates));
tmpEmitProb = f(rand(obj.nStates,obj.nObserve));
tmpInitProb = f(rand(1,obj.nStates));
obj.isCache = 1;
while obj.getModelDiff(tmpTransProb,tmpEmitProb,tmpInitProb) > HMMModel.ITER_TOLERENCE %判断是否收敛
obj.transProb = tmpTransProb;
obj.emitProb = tmpEmitProb;
obj.initProb = tmpInitProb;
gammaCache = zeros(obj.nStates,L);
kasaiCache = zeros(obj.nStates,obj.nStates,L-1);
obj.refreshCache(obsVec);
for t = 1:L
for s = 1:obj.nStates
gammaCache(s,t) = obj.calGammaProb(obsVec,t,s);
if t < L
for m = 1:obj.nStates
kasaiCache(s,m,t) = obj.calKasaiProb(obsVec,t,s,m);
end
end
end
end
[tmpTransProb,tmpEmitProb,tmpInitProb] = obj.calNewModelParam(obsVec,gammaCache,kasaiCache);
end
obj.transProb = tmpTransProb;
obj.emitProb = tmpEmitProb;
obj.initProb = tmpInitProb;
obj.isCache = 0;
obj.refreshCache(obsVec);
end