matlab编程问题:ARMA和MUSIC

matlab编程问题:ARMA和MUSIC,第1张

主要问题包括:

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)

希望能帮到你指禅弯!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12516148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存