|
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 |