確かに間違えていました。
とりあえず両方をベクトルに修正することにします。
修正中に2点疑問が生まれました。
①以下のように修正した場合SVR内部での学習手順が
XTrain(1,1)→YTrain(1,1) (1行目同士)
XTrain(2,1)→YTrain(2,1) (2行目同士)
XTrain(3,1)→YTrain(3,1) (3行目同士)
・
・
・
のように逐次的になるのですか。それとも
XTrain( : ,1)→YTrain( : ,1)
のように全体的な処理手順を経ているのですか。
②もし①での処理が前者の逐次的であるならば最終的にはできれば
XTrain(1:1440,1)→YTrain(1:1440,1)
XTrain(1441:2880,1)→YTrain(1441:2880,1)
・
・
・
の手順で内部で学習が進むようにしたいのですが可能でしょうか。
%ファイルの読み込み 行列の縦がその周期内での時系列変化で横が各周期をあらわす
opts = detectImportOptions('pressure_data_Kusaka_Lab_20190326_1.xlsx','DataRange','B5');
T1=readtable('pressure_data_Kusaka_Lab_20190326_1.xlsx',opts,'ReadVariableNames',false);
T1_data = T1.Variables;
[row,~]=size(T1);
%1行N列の配列へ
for i=1:300
T1_array{i}=T1_data(1:end,i)'; %縦の数値を一塊とした新たな配列へ
end
%シーケンスの最初の90%で学習を行い残りの10%でテストする
numTimeStepsTrain = floor(0.9*numel(T1_array));
T1Train=T1_data(1:end,1:numTimeStepsTrain+1);
T1Test=T1_data(1:end,numTimeStepsTrain+1:end);
XT1Train=T1Train(:,1:end-1); %入力 エクセルファイル上ではB5~JK1444までの数値相当
YT1Train=T1Train(:,2:end); %応答 エクセルファイル上ではC5~JL1444までの数値相当
XTrain=[XT1Train(:)];
YTrain=[YT1Train(:)];
svmMdl=fitrsvm(XTrain,YTrain);