在matlab中输入以下代码求复杂网络节点的度 度的分布曲线 ,运行出错出错提示为:Strings passed to EVAL cannot contain function declarations.输入代码为:function [DeD,aver_DeD]=Degree_Distribution(A)%% 求网络图中
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 16:56:56
在matlab中输入以下代码求复杂网络节点的度 度的分布曲线 ,运行出错出错提示为:Strings passed to EVAL cannot contain function declarations.输入代码为:function [DeD,aver_DeD]=Degree_Distribution(A)%% 求网络图中
在matlab中输入以下代码求复杂网络节点的度 度的分布曲线 ,运行出错
出错提示为:
Strings passed to EVAL 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)==0
disp('该网络图只是由一些孤立点组成');
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菜鸟级别啊,荣获赐教、感激涕零
错误提示::
Input argument 'A' is undefined.
Error in ==> C:\MATLAB6p5\work\Degree_Distribution.m
On line 7 ==> N=size(A,2);
在matlab中输入以下代码求复杂网络节点的度 度的分布曲线 ,运行出错出错提示为:Strings passed to EVAL cannot contain function declarations.输入代码为:function [DeD,aver_DeD]=Degree_Distribution(A)%% 求网络图中
程序没有错!是你用错了,函数的.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之后即可
我试过了,程序没问题,运行结果有两张图