-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmacierzC.m
39 lines (37 loc) · 1.34 KB
/
macierzC.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
36
37
38
39
function [] = macierzC(numofdays,P)
lprob = 96; % liczba probek w ciągu doby
if (numofdays>5) % wymiary 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);
for l=2:2:k
x(l,:) = fliplr(x(l,:));
end
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