数学建模社区-数学中国

标题: 每个节点的生成树数目程序 [打印本页]

作者: xiangpeng395    时间: 2014-8-30 15:53
标题: 每个节点的生成树数目程序
  1. c=[1 1 0 0 0 0 0;4 o/ E% o5 o' R2 V9 [7 l
  2. -1 0 -1 1 0 0 0;& W2 _+ T  M( \1 E& u
  3. 0 -1 1 0 1 1 0;' S( l, w4 y& I6 u% P
  4. 0 0 0 -1 -1 0 -1;
      f4 g; M- L3 @7 ~- Y( Q9 T0 L: r
  5. 0 0 0 0 0 -1 1 ]
    . Q  `* I$ E! _
  6. for i=1:5  Y7 h5 M9 I  ?% V" a& M" z
  7. a=c;! p& e  D8 f, C3 C
  8. b=a(i,:)( \: ^8 j' g' @# g
  9.      for j=1:4- Z, V6 g4 h- S: C+ K3 o* U
  10.         b(i,j);
    ! P/ a& J9 ?$ A
  11.             if b(i,j)~=07 e1 l) }# |, n- j# J) l
  12.                a(:,j)=[]5 z, I6 ]# j% e5 A4 M
  13.             end% ~" [1 r  q1 S9 P6 X
  14.      end5 \$ Q3 i; r" \# s5 @/ w& s  l
  15. a(i,:)=[]
    5 v  ~& h: ?2 d1 {
  16. end
复制代码
为什么总是超出维度啊
  {# _; L4 N" h/ A& c我想求出依次删除某一行以及与该行中非零元素的列,然后求det(a*a'),并输出结果,怎么搞?求教大神们!$ b8 K8 m7 a0 o
% j  q, v/ [" e: g

作者: madio    时间: 2014-8-30 20:26
  1. c=[1 1 0 0 0 0 0;
    4 e- C/ {5 h, |. o
  2. -1 0 -1 1 0 0 0;+ c' C5 K3 E4 r& g
  3. 0 -1 1 0 1 1 0;
    . x+ c( H3 p' g0 V' u- X
  4. 0 0 0 -1 -1 0 -1;& a0 ~9 a* W+ |4 p- U$ s
  5. 0 0 0 0 0 -1 1 ]" q9 I5 K' \" Y- H/ d3 ?/ Q
  6. for i=1:5
    1 M) `" Z( `. @( s  ?
  7. a=c;! N: x6 g/ e6 \8 w8 U4 _
  8. b(i,:)=a(i,:)7 E0 F9 z8 j, N. V2 b
  9.      for j=1:4# V2 \9 I8 P2 C% D9 Z4 C
  10.         b(i,j);
    7 P# x* D) R. ^
  11.             if b(i,j)~=0
    ( |: \9 ]2 m& m6 t, H
  12.                a(:,j)=[], o; v. Q  w- c5 w' t# t! l
  13.             end. j' d6 f/ G. M% q6 k
  14.      end0 t' \( R/ Q  A( C
  15. a(i,:)=[]
    " N$ V; L& c- l2 k9 w7 Y7 A6 u- J9 M
  16. end
复制代码
改成这样的就可以运行了
作者: xiangpeng395    时间: 2014-8-30 21:07
madio 发表于 2014-8-30 20:26
/ s+ n; S6 l9 K3 K6 d8 {改成这样的就可以运行了

9 B9 ^8 o4 h; }1 [# p不好意思,我给j的赋值搞错了,j=1:7,我运行了下,还是维度有错啊,怎么办
作者: madio    时间: 2014-8-30 21:15
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。
  1. c=[1 1 0 0 0 0 0;  S) t/ i1 r( i
  2. -1 0 -1 1 0 0 0;
    , x9 k/ q7 E$ v0 x# B
  3. 0 -1 1 0 1 1 0;6 H* X2 Q8 M+ w) s
  4. 0 0 0 -1 -1 0 -1;
      N* b1 j" w' y( e, H
  5. 0 0 0 0 0 -1 1 ]$ a" u+ a+ p5 Y' X
  6. for i=1:5/ N1 e7 J5 t9 V4 r2 G
  7. a=c;3 z: s$ o5 P. z: J
  8. b=[];
    & r4 R3 d/ N9 O8 C) K- T
  9. del_col=[];. T$ ~; H7 N6 @
  10. b(i,:)=a(i,:)
    : f, g6 ?7 v2 L" S! U" J3 x% b7 d
  11.      for j=1:75 `. {- B* @% s, v4 e
  12.         b(i,j);
    * t1 a: p* U+ J& P1 _
  13.          if b(i,j)~=0! R7 @' S6 \& G2 I# @5 F
  14.            del_col=[del_col,j];
    3 v) B: e! z% W8 j! K0 Z  g" j( _7 D
  15.          end
    7 K0 V7 F2 P( N, Z, H% Y
  16.      end7 D! f7 J* j/ i$ G* Y" f
  17.      a(:,del_col)=[]/ b; V0 h3 m% J& z8 Q% p
  18. end
复制代码

作者: xiangpeng395    时间: 2014-8-30 21:22
madio 发表于 2014-8-30 21:15 6 h9 k$ P& F* X) }1 r1 {
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。

) p. W+ v- O% H好的,谢谢了,
作者: xiangpeng395    时间: 2014-8-30 21:27
madio 发表于 2014-8-30 21:15
0 o# Q1 Z; G* b( {" A你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。

2 O& C" t/ r7 j5 j; B  O1 ^2 s  P  t可以了,就是没有删除对应行,我加了一句,现在可以了,十分感谢!!!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5