-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpwa_recreg.m
More file actions
50 lines (43 loc) · 1.12 KB
/
pwa_recreg.m
File metadata and controls
50 lines (43 loc) · 1.12 KB
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
40
41
42
43
44
45
46
47
48
49
50
function R = pwa_recreg(X,GridInfo)
% Input:
% GridInfo.Domain Domain of interest
% GridInfo.GR Grid resolution
% X Data points
%
% Output
% R Regions corresponding to X
Domain = GridInfo.Domain;
GR = GridInfo.GR;
n = length(Domain);
if size(X,1)==n && size(X,2)~=n,
X = X';
elseif size(X,2)~=n,
if n>1,
error(['X should have ' num2str(n) ' columns.']);
else
error(['X should have ' num2str(n) ' column.']);
end
end
p = size(X,1); % Number of data points
Ind = pwa_index(GR);
NR = size(Ind,2); % Number of regions
GridPoints = cell(n,1);
for i=1:n,
GridPoints{i}=linspace(Domain{i}(1),Domain{i}(end),GR(i)+1);
end
for i=1:p,
R{i} = [];
for r=1:NR,
GP = Ind(:,r);
Yes = zeros(n,1);
for j=1:n,
Xjbounds = GridPoints{j}([GP(j),GP(j)+1]);
if Xjbounds(1)<= X(i,j) && X(i,j) <= Xjbounds(2),
Yes(j) = 1;
end
end
if all(Yes),
R{i} = [R{i}; r];
end
end
end