24小时热门版块排行榜    

查看: 1273  |  回复: 0

renesmee

新虫 (初入文坛)

[求助] matlab计算数据的邻接矩阵

将数据序列看作网络节点,利用matlab计算网络邻接矩阵,再用netdraw画图,方法是lacasa的可视图算法,将时间序列某时刻点数据看成是网络中的节点,当任意两点的数据(ta,ya)与(tb,yb)之间任何一点(tc,yc)都满足:yc<yb+(ya-yb)*((tb-tc)/(tb-ta)),表明(ta,ya)与(tb,yb)没有任何点阻碍其相互可见,二者之间存在可视线,即两节点之间存在关系边。据此将时间序列转化为复杂网络。以下数据是我模拟的,只是试着看能不能运行。
现在问题是运行后无论怎么改矩阵数据,都显示相同结果,拜托大家帮我看看哪里有错。
edge= [1 2 3 4 5 6 7 8 9 10];
%定义邻接矩阵
n=10;
a=zeros(n, n);
%初始化邻接矩阵,0代表两顶点之间无直接通路
for i=1:n
    for j=2:n-i
        f1=(edge(i+j)-edge(i))/j;
        cont1=0;
        for u=1:j-1
            f2=(edge(i+u)-edge(i))/u;
            if(f2>f1)
                cont1=1;
                cont2=1;
                a(i,i+j)=0;
                a(i+j,i)=0;
                break;
            end
        end   
       if (cont1==0)
        a(i,i+j)=1;
        a(i+j,i)=1;
        cont2=0;
       end
    end
end
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 renesmee 的主题更新
信息提示
请填处理意见