-
Notifications
You must be signed in to change notification settings - Fork 0
/
macierzA.m
35 lines (34 loc) · 1.28 KB
/
macierzA.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function [] = macierzA(numofdays,P)
lprob = 96; % liczba probek w ciągu doby
if (numofdays>5) % wymiary powstającej macierzy
k=2*numofdays;
j=12;
else
k=4*numofdays;
j=6;
end
[lw,lk] = size(P); % rozmiar wektora obciążeń
xnum = floor(((lw-((numofdays*lprob)+lprob))/lprob)+1); %liczba par
sizeu = ceil(5*xnum/6); % liczba par uczących
sizet = xnum-sizeu; % liczba par testujących
xu = zeros(k,j,1,sizeu);
xt = zeros(k,j,1,sizet);
xtemp = zeros(k,j,1,xnum); % pary tymczasowe
dtemp = [];
du = [];
dt = [];
count=1;
for i = (numofdays*lprob+1):lprob:lw-lprob+1 % tworzenie par
d = P(i:lprob/24:i+lprob-1)';
x = reshape(P(i-1:-lprob/24:i-numofdays*lprob),k,j);
xtemp(:,:,1,count) = x;
dtemp = [dtemp;d];
count = count+1;
end
idx = randperm(xnum); % wektor losowych wartości z przedziału 1:xnum
xu = xtemp(:,:,1,idx(1:sizeu)); % tworzenie losowych par uczących i testujących
xt = xtemp(:,:,1,idx(sizeu+1:end));
du = dtemp(idx(1:sizeu),:);
dt = dtemp(idx(sizeu+1:end),:);
siec_cnn_regr(xu,xt,du,dt) % przejście do funkcji, w której stworzona została sieć neuronowa
end