How to define visibility graph criterion in matlab code

Dear colleagues,
Could you give me assistances? How to define visibility graph criterion in matlab code? Many thanks!

Answers (1)

There is a Fortran code for the Horizontal Visibility Graph at
and the code below for regular visibilty graph which I have not tried but looks incomplete
function varargout=visgraph(varargin)
[k,logP]=visgraph(x)
%Generate Conway Series
N=1000;
a=ones(N,1);
out=ones(N,1);
for n=3:N
a(n)=a(a(n-1))+ a(n-a(n-1));
out(n)= a(n) - (n/2);
end
%Generate Surrogate Data
nS=5;
S=surrogate(out,nS);
subplot(3,1,1)
plot(out);title('Conway Series')
subplot(3,1,2)
plot(S(:,1),'r');title('Amplitude Adjusted Surrogate Data')
%Calculate visibility graph for all series
[k,logP]=visgraph(out);
subplot(3,1,3)
plot(k,logP);hold on;grid on
for n=1:nS
[k,logP]=visgraph(S(:,n));
subplot(3,1,3)
plot(k,logP,'r');
end

Asked:

on 14 Apr 2016

Edited:

on 10 Sep 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!