在matlab中输入以下代码求复杂网络节点的度度的分布曲线
在matlab中输入以下代码求复杂网络节点的度 度的分布曲线 ,运行出错 2011-03-30 20:27 提问者: titidance8 |浏览次数:1383 次 出错提示为: ??? Strings passed to cannot contain function declarations. 输入代码为: function [DeD,aver_DeD]=Degree_Distribution(A) %% 求网络图中各节点的度及度的分布曲线 %% 求解算法:求解每个节点的度,再按发生频率即为概率,求 P(k) %A————————网络图的邻接矩阵 %DeD————————网络图各节点的度分布 %aver_DeD———————网络图的平均度 N=size(A,2); DeD=zeros(1,N); for i=1:N% DeD(i)=length(find((A(i,:)==1)));DeD(i)=sum(A(i,:)); end aver_DeD=mean(DeD); if sum(DeD)==0disp( 该网络图只是由一些孤立点组成 );return; else figure; bar([1:N],DeD); xlabel( 节点编号 n );ylabel( 各节点的度数 K );title( 网络图中各节点的度的大小分布图 ); end figure; M=max(DeD); for i=1:M+1; %网络图中节点的度数最大为 M,但要同时考虑到度为 0 的节 点的存在性N_DeD(i)=length(find(DeD==i-1)); end P_DeD=zeros(1,M+1); P_DeD(:)=N_DeD(:)./sum(N_DeD); bar([0:M],P_DeD, r ); xlabel( 节点的度 K ); ylabel( 节点度为 K 的概率 P(K) ); title( 网络图中节点度的概率分布图 ); 哪位大侠指教下,本人 matlab 菜鸟级别啊,荣获赐教、感激涕零问题补充: 错误提示:: ??? argument A is undefined. Error in ==> C:\MATLAB6p5\work\Degree_Distribution.m On line 7 ==> N=size(A,2); 我来帮他解答 满意回答 2011-04-13 15:09 程序没有错!!是你用错了,函数的.m 文件不是直接运行,要在 workplace 中 调用或则其他程序调用,例如,你在 workplace 输入:A=[0 1 1 1;1 0 1 1;1 1 0 1;1 1 1 0];enter 后再输入: [DeD,aver_DeD]=Degree_Distribution(A) enter 之后即可 我试过了,程序没问题,运行结果有两张图 3| 评论(1) 求助知友 ccfeng2010 | 当前分类:4 级 擅长 C/C++ :4 级 提问者对回答的评价: 非常感谢 按默认排序|按时间排序 其他回答 共4条 2011-03-31 20:19mcn12rz| 当前分类:4 级 et figure(gcf); echo on pause clc p=zscore(data);%biaozhunhua pause clc plot3(p(:,1),p(:,2),p(:,3), * ); axis([0 1 0 1]);title( data ); pause clc net=newsom([0 1;0 1],[9]); pause clc net.trainParam.epochs=100; net=train(net,p); pause clc figure; w=net.IW; %IW 是输入层到第一层的权值矩阵 %LW 是中间层和输出层,也就是神经元到神经元的权值 %b 是第 Ni 层的偏向向量 plotsom(net.IW,net.layers.distances); pause clc a=sim(net,[0.6;0.8]) echo off 追问 运行不起来哎,??? Undefined function or variable et . Error in ==> C:\MATLAB6p5\work\dufenbu.m On line 1 ==> et 0| 评论 2011-04-01 12:34 热心网友 et figure(gcf); echo on pause clc p=zscore(data);%biaozhunhua pause clc plot3(p(:,1),p(:,2),p(:,3), * ); axis([0 1 0 1]); title( data ); pause clc net=newsom([0 1;0 1],[9]); pause clc net.trainParam.epochs=100;net=train(net,p); pause clc figure; w=net.IW; %IW 是输入层到第一层的权值矩阵 %LW 是中间层和输出层,也就是神经元到神经元的权值 %b 是第 Ni 层的偏向向量 plotsom(net.IW,net.layers.distances); pause clc a=sim(net,[0.6;0.8]) echo off