m0_59759448 2021-11-11 18:20 采纳率: 100%
浏览 276
已结题

matlab串联矩阵维数不一致。

img

变量- ARIMA Forcas
       Forcast
6x1double

img

变量-ARIMA Predict
 ARMA Predict
36x1double

代码如下:
r=[14.94 14.22 12.19 10.78 10.53 11.25 11.95 13.71 14.43 14.61 13.62 13.76 12.93 12.22 12.92 12.94 12.84 12.10 14.94 17.33 21.02 29.43 30.78 31.40 33.19 35.13 34.60 32.82 28.65 31.54 36.17 37.87 36.07 31.42 30.48 33.57];

tr=r';
data=tr;
step=6;
TempData=data;
output=data;
TempData=detrend(TempData);
TrendData=data-TempData;
[H,PValue,TestStat,CriticalValue]=adftest(TempData);
difftime=0;
SaveDiffData=[];
whileH
SaveDiffData=[SaveDiffData,TempData(1,1)];
TempData=diff(TempData); difftime=difftime+1;
[H,PValue,TestStat,CriticalValue]=adftest(TempData);
end
test=[];
for p=0:5
for q=0:5
if(p+q
=0)
m=armax(TempData,[p q]);
AIC=aic(m);
test=[test;p q AIC];
end
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
m=armax(TempData,[p_test q_test]);
ARIMA_Predict=predict(m,TempData,step);
ARIMA_Forcast=forecast(m,TempData,step);
PreR=[ARIMA_Predict 'ARIMA_Forcast'];错误使用 horzcat要串联的数组的维度不一致。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-11-11 19:06
    关注

    你好同学,你粘贴代码的最后一句改成:

    PreR=[ARIMA_Predict; ARIMA_Forcast];
    

    即可,因为'ARIMA_Forcast'是个字符串,不是原来的ARIMA_Forcast变量,而ARIMA_Forcast和ARIMA_Predict都是1列若干行,所以中间用分号就能合并
    如有帮助,还望题主给个宝贵的采纳支持一下答主答题哟,谢谢啦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月11日

悬赏问题

  • ¥15 gis中用栅格计算器或加权总和后图层不显示,值也明显不对
  • ¥15 python使用python-pptx如何给幻灯片添加只读密码。
  • ¥15 深度神经网络传递自变量损失
  • ¥15 删除s的前驱节点,但是不知道错哪里了
  • ¥15 oracle数据库备份表如何操作
  • ¥15 软件定义网络mininet和onos控制器问题
  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com