a b/Frequency-domain_Complex_network/LPVG-F.m
1
function [adjmatrix] = LPVG(time_series,L)
2
[num,len,~] = size(time_series);
3
time_series = abs(fft(time_series))/len;
4
min_value=min(time_series);
5
if (min_value<0)
6
    time_series = time_series+abs(min_value);
7
end
8
adjmatrix = zeros(len,len);
9
xlmatrix = zeros(len,len);
10
for i = 1:len
11
    for j = i:len
12
        xlmatrix(i,j)=(time_series(j)-time_series(i))/abs(i-j);
13
    end
14
end
15
min_matrix=min(min(xlmatrix));
16
for k = 1:len
17
    Y = ones(1,L+1);
18
    Y = min_matrix*Y;
19
    for l = k+1:len
20
        if abs(k-l)<=L+1
21
            adjmatrix(k,l)=1;adjmatrix(l,k)=1;
22
            if Y(1,1)<xlmatrix(k,l) 
23
               Y(1,1)=xlmatrix(k,l);
24
               Y=sort(Y);
25
            end   
26
        elseif Y(1,1)<xlmatrix(k,l)
27
            adjmatrix(k,l)=1;adjmatrix(l,k)=1;
28
            Y(1,1)=xlmatrix(k,l);
29
            Y=sort(Y);
30
        else    
31
            adjmatrix(k,l)=0;adjmatrix(l,k)=0;
32
        end
33
    end
34
end