matlab中调用函数,如何知道被调用函数的其他变量的值

有如下代码:function[G,Gval,t]=edgereduce(G,Gval,order,data,t,lamda)iforder==0%计算0阶互信息fori=... 有如下代码:
function [G,Gval,t]=edgereduce(G,Gval,order,data,t,lamda)

if order==0 %计算0阶互信息
for i=1:size(G,1)-1
for j=i+1:size(G,1)
if G(i,j)~=0 %如果i,j两点间存在连接
cmiv=cmi(data(i,:),data(j,:)); %计算出i,j的条件互信息
Gval(i,j)=cmiv; Gval(j,i)=cmiv; %将条件互信息的值存入Gval中
if cmiv<lamda %如果cmiv小于阈值lamda,则将邻接矩阵图的值置为0
G(i,j)=0;G(j,i)=0;
end
end
end
end
t=t+1;
else %计算高阶互信息
for i=1:size(G,1)-1
for j=i+1:size(G,1)
if G(i,j)~=0

adj=[] ;
for k=1:size(G,1) %size(G,1)表示基因的个数
if G(i,k)~=0 && G(j,k)~=0
adj=[adj,k] ;
end
end %如果基因k与基因i,j均相邻,则将其放入数组adj中,adj表示邻居节点个数
if size(adj,2)>=order %判断邻居数是否大于阶数
combntnslist=combntns(adj,order); %找出邻居节点的order阶互信息的所有可能组合形式
combntnsrow=size(combntnslist,1); %总的组合个数
cmiv=0;
v1=data(i,:);
v2=data(j,:); %v1是节点i的信息,v2是节点j的信息
for k=1:combntnsrow
vcs=data(combntnslist(k,:),:); %第k种可能组合方式的信息数
a=cmi(v1,v2,vcs) ; %计算出所有的order阶互信息
cmiv=max(cmiv,a); %找出最大的order阶互信息值
end

Gval(i,j)=cmiv; Gval(j,i)=cmiv;
if cmiv<lamda
G(i,j)=0; G(j,i)=0;
end
t=t+1;
end
end

end
end

end
end

我定义个上述的函数,然后在另一个文件中调用这个函数,但是我也想知道这个函数中的v1,v2,vcs的值,请问怎么求解,谢谢!
展开
 我来答
百度网友a80de005
2016-07-29 · 知道合伙人游戏行家
百度网友a80de005
知道合伙人游戏行家
采纳数:208 获赞数:1410
就读于陕西理工学院,学士学位。乐观开朗、敬业奉献。

向TA提问 私信TA
展开全部
有如下代码:
function [G,Gval,t]=edgereduce(G,Gval,order,data,t,lamda)

if order==0 %计算0阶互信息
for i=1:size(G,1)-1
for j=i+1:size(G,1)
if G(i,j)~=0 %如果i,j两点间存在连接
cmiv=cmi(data(i,:),data(j,:)); %计算出i,j的条件互信息
Gval(i,j)=cmiv; Gval(j,i)=cmiv; %将条件互信息的值存入Gval中
if cmiv<lamda %如果cmiv小于阈值lamda,则将邻接矩阵图的值置为0
G(i,j)=0;G(j,i)=0;
end
end
end
end
t=t+1;
else %计算高阶互信息
for i=1:size(G,1)-1
for j=i+1:size(G,1)
if G(i,j)~=0

adj=[] ;
for k=1:size(G,1) %size(G,1)表示基因的个数
if G(i,k)~=0 && G(j,k)~=0
adj=[adj,k] ;
end
end %如果基因k与基因i,j均相邻,则将其放入数组adj中,adj表示邻居节点个数
if size(adj,2)>=order %判断邻居数是否大于阶数
combntnslist=combntns(adj,order); %找出邻居节点的order阶互信息的所有可能组合形式
combntnsrow=size(combntnslist,1); %总的组合个数
cmiv=0;
v1=data(i,:);
v2=data(j,:); %v1是节点i的信息,v2是节点j的信息
for k=1:combntnsrow
vcs=data(combntnslist(k,:),:); %第k种可能组合方式的信息数
a=cmi(v1,v2,vcs) ; %计算出所有的order阶互信息
cmiv=max(cmiv,a); %找出最大的order阶互信息值
end

Gval(i,j)=cmiv; Gval(j,i)=cmiv;
if cmiv<lamda
G(i,j)=0; G(j,i)=0;
end
t=t+1;
end
end

end
end

end
end

我定义个上述的函数,然后在另一个文件中调用这个函数,但是我也想知道这个函数中的v1,v2,vcs的值,请问怎么求解,谢谢!
可以在之后添加一个输出函数,例如在C语言中就可以加,printf(“d%d%d%”,v1,v2,vcs);
当然各个程序差不多,您可以采取类似的方式。
TableDI
2024-07-18 广告
仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击16步自动完成表格匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
tourkpu
推荐于2018-04-05 · TA获得超过743个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:222万
展开全部
% 1 将函数内的变量增加为输出变量;
% 2 将函数内的变量设为全局变量;
% 总之一句话,必须编辑函数代码。
追问
什么意思,能否具体点
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式