xiangpeng395 发表于 2014-8-30 15:53

每个节点的生成树数目程序

c=[1 1 0 0 0 0 0;
-1 0 -1 1 0 0 0;
0 -1 1 0 1 1 0;
0 0 0 -1 -1 0 -1;
0 0 0 0 0 -1 1 ]
for i=1:5
a=c;
b=a(i,:)
     for j=1:4
        b(i,j);
            if b(i,j)~=0
               a(:,j)=[]
            end
     end
a(i,:)=[]
end为什么总是超出维度啊,
我想求出依次删除某一行以及与该行中非零元素的列,然后求det(a*a'),并输出结果,怎么搞?求教大神们!

madio 发表于 2014-8-30 20:26

c=[1 1 0 0 0 0 0;
-1 0 -1 1 0 0 0;
0 -1 1 0 1 1 0;
0 0 0 -1 -1 0 -1;
0 0 0 0 0 -1 1 ]
for i=1:5
a=c;
b(i,:)=a(i,:)
     for j=1:4
        b(i,j);
            if b(i,j)~=0
               a(:,j)=[]
            end
     end
a(i,:)=[]
end改成这样的就可以运行了

xiangpeng395 发表于 2014-8-30 21:07

madio 发表于 2014-8-30 20:26 static/image/common/back.gif
改成这样的就可以运行了

不好意思,我给j的赋值搞错了,j=1:7,我运行了下,还是维度有错啊,怎么办

madio 发表于 2014-8-30 21:15

你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。c=[1 1 0 0 0 0 0;
-1 0 -1 1 0 0 0;
0 -1 1 0 1 1 0;
0 0 0 -1 -1 0 -1;
0 0 0 0 0 -1 1 ]
for i=1:5
a=c;
b=[];
del_col=[];
b(i,:)=a(i,:)
     for j=1:7
        b(i,j);
         if b(i,j)~=0
           del_col=;
         end
     end
     a(:,del_col)=[]
end

xiangpeng395 发表于 2014-8-30 21:22

madio 发表于 2014-8-30 21:15 static/image/common/back.gif
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。

好的,谢谢了,

xiangpeng395 发表于 2014-8-30 21:27

madio 发表于 2014-8-30 21:15 static/image/common/back.gif
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。

可以了,就是没有删除对应行,我加了一句,现在可以了,十分感谢!!!
页: [1]
查看完整版本: 每个节点的生成树数目程序