主要问题包括:
1、变量x未定义。
2、函数MUSIC里面:
S=[S(257:512)S(1:256)]应为
S=[S(257:512) S(1:256)]另外,clearR未定义,不知道干什么用的,可闭告以直枣庆接删掉。
3、函数ARMA里面,调用的Burg未定凳态握义。
满意请采纳%下面要对差分以虚腊后的序列进行拟合和预测,求出最好的阶数
z=[DXzeros(12,1)]
z=iddata(z)
test=[]
for p=1:12
for q=1:12
m=armax(z(1:200),[p q])
AIC=aic(m)
test=[testp q AIC]
end
end
for k=1:size(test,1)
if test(k,3)==min(test(:,3))
p_test=test(k,1)
q_test=test(k,2)
break
end
end
%拟合
m1=armax(z(1:200),[p_test q_test])
figure(5)
e = resid(m1,z)
plot(e)
set(gca,'Xlim',[0 ls])
figure(6)
subplot(2,1,1)
autocorr(e.outputdata)
subplot(2,1,2)
parcorr(e.outputdata)
set(gca,'Xlim'闭搏,[0 ls])
%预测过程
pr=predict(m1,z,12)
po=pr.outputdata
figure(7)
plot(po,'r'轿誉祥)
hold on
plot(y,'b')
set(gca,'Xlim',[0 ls])
我也刚做过,不知道是和你的一样不。仿真模型输出数据Y直接在matlab里编程
z=iddata(Y)
armax(z,'na',na,'nc',nc)
就这两条语句就ok,其唯闷中na,nc是你自己需要的阶次,自己输入。比如,我想要阶次为10,就袭困写成armax(z,'na',10,'nc',10)
希望能帮到你指禅弯!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)