我需要使用matlab mex编码器将matlab中的递归函数转换为C.递归matlab函数如下所示。
function [ cycle ] = f_cycle( adj_N, vect ,k )
cycle = [];
for i = 1: size(adj_N,1)
l_v= size(vect,2);
if(adj_N(vect(l_v),i)==1 )
if(size(find(vect==i),2)==0)
c1 = f_cycle(adj_N,[vect i],k);
elseif(i==k && vect(l_v-1)~=k)
c1 = [vect k];
else
c1 = [];
end
if(size(c1,1)==1 && size(c1,2) ~=0)
c1 = [c1 zeros(1,size(adj_N,1)+1-size(c1,2))];
end
cycle = [cycle;c1];
end
end