|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
这个程序中的eval和feval一些用法不好理解,请高手解释一下。
function prediction = predict(model,Xt,n, simfct, args)
if size(Xt,2)~=1 & size(Xt,1)~=1,
error('prediction only implemented for the one-dimensional autonomous case');
end
eval('model = initlssvm(model{:});',' ');
eval('xdim = model.x_dim;','xdim = max(size(Xt)); ');
eval('n; alle=0;','n=length(Xt)-xdim; alle=1;');
Xt = Xt(1:xdim);
Xt = reshape(Xt,length(Xt),1);
eval('simfct;','simfct=''simlssvm'';');
eval('model = trainlssvm(model);');
xdelays = length(Xt);
prediction = zeros(xdelays+n,1);
prediction(1:xdelays) = Xt;
% closed loop
eval('for i=1:n, prediction(xdelays+i) = feval(simfct,model, prediction(i-1+(1:xdelays))'',args); end',...
'for i=1:n, prediction(xdelays+i) = feval(simfct,model,prediction(i-1+(1:xdelays))''); end');
if ~alle,
prediction = prediction(xdelays+1:end);
end |
|