Я нашел функцию скользящего окна онлайн,
function output = createRollingWindow(vector, n)
% CREATEROLLINGWINDOW returns successive overlapping windows onto a vector
% OUTPUT = CREATEROLLINGWINDOW(VECTOR, N) takes a numerical vector VECTOR
% and a positive integer scalar N. The result OUTPUT is an MxN matrix,
% where M = length(VECTOR)-N+1. The I'th row of OUTPUT contains
% VECTOR(I:I+N-1).
l = length(vector);
m = l - n + 1;
output = vector(hankel(1:m, m:l));
end
Из этой функции я пытаюсь включить в свой код два цикла for,
%Out of sample attempt
clear;
clc;
kk=1;%to help with recording
for q = 1:3;
for w = 1:6;
data(:,1) = [ 0.824178794 0.320861779 0.544464994 0.443415606 0.881589471 0.126930695 0.10758006 0.64661864 0.186043513 0.113938139 0.397832754 0.245128803 0.601561899 0.702804161 0.868598731 0.896887742 0.315118703 0.652750644 0.442618269 0.414916628 0.091210459 0.778660087 0.477795261 0.170882616 0.358117319 0.952619704 0.299335988 0.672694952 0.659587974 0.116092814 0.354043427 0.558700934 0.383720179 0.497181625 0.220384304 0.918564103 0.83692923 0.091426279 0.748032692 0.632857627 0.711075772 0.116125763 0.597741796 0.514174441 0.615460425 0.645151999 0.226984236 0.12237818 0.699570062 0.114368326 0.846111165 0.695035952 0.23948643 0.599922736 0.306768402 0.067744491 0.783072298 0.087849296 0.85992126 0.242326707 0.707444842 0.708394112 0.648583229 0.881334696 0.822010696 0.482946533 0.973389017 0.99451342 0.396172299 0.885790819 0.6547881 0.435092468 0.982999085 0.082579592 0.282836873 0.281771702 0.659658085 0.628989875 0.653124888 0.158068163 0.72719761 0.204252699 0.417000233 0.883864326 0.54291388 0.923703895 0.092945717 0.635086879 0.849531721 0.235541373 0.37923794 0.104290602 0.012590039 0.487503652 0.199704805 0.594050564 0.9801534 0.978849296 0.187787141 0.964071808 0.139609956 0.814162483 0.30894139 0.812033217 0.142302294 0.055008992 0.400725294 0.619958465 0.228309428 0.606736617 0.065623529 0.987751722 0.88678899 0.693903646 0.89933127 0.4640739 0.96584424 0.644626537 0.701417614 0.586577243 0.984983184 0.141416031 0.348001281 0.646667949 0.696233019 0.40711813];
data(:,2) = [0.601312801 0.567678926 0.010228683 0.819126718 0.374199446 0.752227144 0.692009283 0.160297793 0.41729925 0.004383375 0.391805283 0.727950395 0.042412421 0.702262491 0.46841405 0.335453208 0.846544411 0.022669174 0.93789211 0.628081132 0.922873091 0.794009152 0.398190721 0.146860091 0.276906047 0.040990629 0.885172725 0.995618555 0.081377375 0.673312607 0.507802794 0.507211426 0.864098858 0.618331858 0.497025625 0.199872624 0.680890254 0.733198925 0.073351847 0.535303576 0.037211143 0.256505612 0.076706486 0.209499708 0.20674952 0.591840692 0.816632191 0.870881906 0.795427041 0.206113399 0.383909285 0.917927405 0.868804777 0.839985866 0.346596048 0.750367231 0.960418228 0.001626573 0.613545782 0.343902168 0.011611464 0.516205321 0.21196681 0.885751081 0.415271144 0.621481833 0.791477412 0.894585662 0.79669597 0.056652307 0.914691669 0.567923067 0.086743503 0.384397699 0.795918739 0.339847836 0.96086507 0.218898901 0.593647285 0.861695814 0.210231592 0.899967064 0.897346931 0.330684285 0.110565195 0.878917027 0.32734661 0.997426716 0.766167074 0.993337315 0.454428456 0.835946458 0.69975433 0.983277113 0.868033073 0.551361664 0.565948465 0.383959861 0.915339748 0.165000585 0.598434963 0.469557418 0.997527846 0.731639315 0.074477013 0.829399281 0.72211419 0.110424513 0.942230634 0.031584519 0.844465109 0.117074378 0.093737687 0.609404299 0.807640005 0.048202653 0.782269274 0.659084731 0.488254063 0.032889558 0.947366815 0.787888171 0.456713783 0.155336211 0.93715265 0.515620832];
data(:,3) = [0.601312801 0.567678926 0.010228683 0.819126718 0.374199446 0.752227144 0.692009283 0.160297793 0.41729925 0.004383375 0.391805283 0.727950395 0.042412421 0.702262491 0.46841405 0.335453208 0.846544411 0.022669174 0.93789211 0.628081132 0.922873091 0.794009152 0.398190721 0.146860091 0.276906047 0.040990629 0.885172725 0.995618555 0.081377375 0.673312607 0.507802794 0.507211426 0.864098858 0.618331858 0.497025625 0.199872624 0.680890254 0.733198925 0.073351847 0.535303576 0.037211143 0.256505612 0.076706486 0.209499708 0.20674952 0.591840692 0.816632191 0.870881906 0.795427041 0.206113399 0.383909285 0.917927405 0.868804777 0.839985866 0.346596048 0.750367231 0.960418228 0.001626573 0.613545782 0.343902168 0.011611464 0.516205321 0.21196681 0.885751081 0.415271144 0.621481833 0.791477412 0.894585662 0.79669597 0.056652307 0.914691669 0.567923067 0.086743503 0.384397699 0.795918739 0.339847836 0.96086507 0.218898901 0.593647285 0.861695814 0.210231592 0.899967064 0.897346931 0.330684285 0.110565195 0.878917027 0.32734661 0.997426716 0.766167074 0.993337315 0.454428456 0.835946458 0.69975433 0.983277113 0.868033073 0.551361664 0.565948465 0.383959861 0.915339748 0.165000585 0.598434963 0.469557418 0.997527846 0.731639315 0.074477013 0.829399281 0.72211419 0.110424513 0.942230634 0.031584519 0.844465109 0.117074378 0.093737687 0.609404299 0.807640005 0.048202653 0.782269274 0.659084731 0.488254063 0.032889558 0.947366815 0.787888171 0.456713783 0.155336211 0.93715265 0.515620832];
%This is what we are trying to forecast
createRollingWindow(data(:,q), w);%This uses the function saved as createRollingWindow
sum(ans,2); %This sums the rows in the matrix, which is what I need
%YF(kk,:)=(ans);
%kk=kk+1;
end
end
Что мне идеально нужноявляется вектором, который включает в себя результаты циклов for,
Я пытался назвать этот вектор YF в приведенном выше коде,
Мой вопрос ...
КакМогу ли я сохранить выходные данные обоих циклов в матрице с именем YF
Т.е. для каждого скользящего окна 1: 6 и для каждого набора данных 1: 3.
Заранее спасибо!
ОБНОВЛЕННЫЙ КОД ИЗ ПОПРОБНЫХ ПРЕДЛОЖЕНИЙ В КОММЕНТАРИИ, ЕЩЕ НУЖНА ПЕРВАЯ ФУНКЦИЯ
%Out of sample attempt
clear;
clc;
%kk=1;%to help with recording
YF = [];
for q = 1:3;
for w = 1:6;
data(:,1) = [ 0.824178794 0.320861779 0.544464994 0.443415606 0.881589471 0.126930695 0.10758006 0.64661864 0.186043513 0.113938139 0.397832754 0.245128803 0.601561899 0.702804161 0.868598731 0.896887742 0.315118703 0.652750644 0.442618269 0.414916628 0.091210459 0.778660087 0.477795261 0.170882616 0.358117319 0.952619704 0.299335988 0.672694952 0.659587974 0.116092814 0.354043427 0.558700934 0.383720179 0.497181625 0.220384304 0.918564103 0.83692923 0.091426279 0.748032692 0.632857627 0.711075772 0.116125763 0.597741796 0.514174441 0.615460425 0.645151999 0.226984236 0.12237818 0.699570062 0.114368326 0.846111165 0.695035952 0.23948643 0.599922736 0.306768402 0.067744491 0.783072298 0.087849296 0.85992126 0.242326707 0.707444842 0.708394112 0.648583229 0.881334696 0.822010696 0.482946533 0.973389017 0.99451342 0.396172299 0.885790819 0.6547881 0.435092468 0.982999085 0.082579592 0.282836873 0.281771702 0.659658085 0.628989875 0.653124888 0.158068163 0.72719761 0.204252699 0.417000233 0.883864326 0.54291388 0.923703895 0.092945717 0.635086879 0.849531721 0.235541373 0.37923794 0.104290602 0.012590039 0.487503652 0.199704805 0.594050564 0.9801534 0.978849296 0.187787141 0.964071808 0.139609956 0.814162483 0.30894139 0.812033217 0.142302294 0.055008992 0.400725294 0.619958465 0.228309428 0.606736617 0.065623529 0.987751722 0.88678899 0.693903646 0.89933127 0.4640739 0.96584424 0.644626537 0.701417614 0.586577243 0.984983184 0.141416031 0.348001281 0.646667949 0.696233019 0.40711813];
data(:,2) = [0.601312801 0.567678926 0.010228683 0.819126718 0.374199446 0.752227144 0.692009283 0.160297793 0.41729925 0.004383375 0.391805283 0.727950395 0.042412421 0.702262491 0.46841405 0.335453208 0.846544411 0.022669174 0.93789211 0.628081132 0.922873091 0.794009152 0.398190721 0.146860091 0.276906047 0.040990629 0.885172725 0.995618555 0.081377375 0.673312607 0.507802794 0.507211426 0.864098858 0.618331858 0.497025625 0.199872624 0.680890254 0.733198925 0.073351847 0.535303576 0.037211143 0.256505612 0.076706486 0.209499708 0.20674952 0.591840692 0.816632191 0.870881906 0.795427041 0.206113399 0.383909285 0.917927405 0.868804777 0.839985866 0.346596048 0.750367231 0.960418228 0.001626573 0.613545782 0.343902168 0.011611464 0.516205321 0.21196681 0.885751081 0.415271144 0.621481833 0.791477412 0.894585662 0.79669597 0.056652307 0.914691669 0.567923067 0.086743503 0.384397699 0.795918739 0.339847836 0.96086507 0.218898901 0.593647285 0.861695814 0.210231592 0.899967064 0.897346931 0.330684285 0.110565195 0.878917027 0.32734661 0.997426716 0.766167074 0.993337315 0.454428456 0.835946458 0.69975433 0.983277113 0.868033073 0.551361664 0.565948465 0.383959861 0.915339748 0.165000585 0.598434963 0.469557418 0.997527846 0.731639315 0.074477013 0.829399281 0.72211419 0.110424513 0.942230634 0.031584519 0.844465109 0.117074378 0.093737687 0.609404299 0.807640005 0.048202653 0.782269274 0.659084731 0.488254063 0.032889558 0.947366815 0.787888171 0.456713783 0.155336211 0.93715265 0.515620832];
data(:,3) = [0.601312801 0.567678926 0.010228683 0.819126718 0.374199446 0.752227144 0.692009283 0.160297793 0.41729925 0.004383375 0.391805283 0.727950395 0.042412421 0.702262491 0.46841405 0.335453208 0.846544411 0.022669174 0.93789211 0.628081132 0.922873091 0.794009152 0.398190721 0.146860091 0.276906047 0.040990629 0.885172725 0.995618555 0.081377375 0.673312607 0.507802794 0.507211426 0.864098858 0.618331858 0.497025625 0.199872624 0.680890254 0.733198925 0.073351847 0.535303576 0.037211143 0.256505612 0.076706486 0.209499708 0.20674952 0.591840692 0.816632191 0.870881906 0.795427041 0.206113399 0.383909285 0.917927405 0.868804777 0.839985866 0.346596048 0.750367231 0.960418228 0.001626573 0.613545782 0.343902168 0.011611464 0.516205321 0.21196681 0.885751081 0.415271144 0.621481833 0.791477412 0.894585662 0.79669597 0.056652307 0.914691669 0.567923067 0.086743503 0.384397699 0.795918739 0.339847836 0.96086507 0.218898901 0.593647285 0.861695814 0.210231592 0.899967064 0.897346931 0.330684285 0.110565195 0.878917027 0.32734661 0.997426716 0.766167074 0.993337315 0.454428456 0.835946458 0.69975433 0.983277113 0.868033073 0.551361664 0.565948465 0.383959861 0.915339748 0.165000585 0.598434963 0.469557418 0.997527846 0.731639315 0.074477013 0.829399281 0.72211419 0.110424513 0.942230634 0.031584519 0.844465109 0.117074378 0.093737687 0.609404299 0.807640005 0.048202653 0.782269274 0.659084731 0.488254063 0.032889558 0.947366815 0.787888171 0.456713783 0.155336211 0.93715265 0.515620832];
%This is what we are trying to forecast
createRollingWindow(data(:,q), w);%This uses the function saved as createRollingWindow
sum(ans,2); %This sums the rows in the matrix, which is what I need
YF = [YF, ans]
%kk=kk+1;
end
end