数学建模社区-数学中国

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

作者: xiangpeng395    时间: 2014-8-30 15:53
标题: 每个节点的生成树数目程序
  1. c=[1 1 0 0 0 0 0;
    - h8 g1 |; ]/ b4 p( j5 Z
  2. -1 0 -1 1 0 0 0;0 d0 V% U3 c( Z5 t& @/ Y: @
  3. 0 -1 1 0 1 1 0;! j( t% R1 R$ ~4 d: K4 j% h
  4. 0 0 0 -1 -1 0 -1;4 u% p% g8 x& G0 y/ [& d3 b8 v
  5. 0 0 0 0 0 -1 1 ]
    % Q: y  O6 n+ C& `  k
  6. for i=1:5* K2 c% J5 U) F' L# T) Q! K( b; E
  7. a=c;- e% z; A0 s9 |$ ?; z, i3 y4 K. A
  8. b=a(i,:)
    ' K- b0 f2 C2 t1 p" K
  9.      for j=1:4
    1 r8 [  e- r, M( L7 }
  10.         b(i,j);
    / R. g& X- s5 r7 F2 `2 B
  11.             if b(i,j)~=0
    ! H1 Y3 m8 [2 d' \' T0 `2 s
  12.                a(:,j)=[]: W: b" `2 Y+ L# b  |1 w) g0 }5 n
  13.             end$ o/ o; ]9 Q) i
  14.      end
    / Z2 z4 O6 I5 Z9 v) g6 c1 ^, D
  15. a(i,:)=[]
    ( r* Y( p% J/ J1 d0 ~
  16. end
复制代码
为什么总是超出维度啊
! D: ^; r* Y; D0 G我想求出依次删除某一行以及与该行中非零元素的列,然后求det(a*a'),并输出结果,怎么搞?求教大神们!
8 q! |. y: o5 K. Y* @  Y! ]
/ U, J) B$ @7 i% C! r- g
作者: madio    时间: 2014-8-30 20:26
  1. c=[1 1 0 0 0 0 0;) P) {4 Q/ B2 E" J" M7 f& l. t* p
  2. -1 0 -1 1 0 0 0;4 l$ m- g! E  q! u4 @! A4 e
  3. 0 -1 1 0 1 1 0;
    5 p. T3 S* H! h* F
  4. 0 0 0 -1 -1 0 -1;# t! \( I0 U4 s; D- q+ o& m
  5. 0 0 0 0 0 -1 1 ]
    : E. {% x( q9 ~) E! J* z) s, I
  6. for i=1:5
    - F( g2 I3 o( Z1 t
  7. a=c;
    % Z& r& D! U, I) W, w+ ^
  8. b(i,:)=a(i,:)
    8 R; f/ ^0 J3 t$ q- U- P3 ?! @
  9.      for j=1:4
    9 t, Z1 @/ n! R$ q1 R
  10.         b(i,j);/ d. V) K% k' S: D6 S5 L
  11.             if b(i,j)~=0
    + |  n* p+ e7 ^$ J! r1 ^
  12.                a(:,j)=[]& W+ W8 G3 ^7 L( N. v% r
  13.             end
    + V4 L' L5 t, T) N% z
  14.      end
      _. b/ G% z7 L! v! [
  15. a(i,:)=[]- E1 r0 M% V6 @; P. x+ O
  16. end
复制代码
改成这样的就可以运行了
作者: xiangpeng395    时间: 2014-8-30 21:07
madio 发表于 2014-8-30 20:26
9 M1 V' J) W* R3 ]' P& x改成这样的就可以运行了

0 V) S# h8 U3 M1 X  L  x不好意思,我给j的赋值搞错了,j=1:7,我运行了下,还是维度有错啊,怎么办
作者: madio    时间: 2014-8-30 21:15
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。
  1. c=[1 1 0 0 0 0 0;
    : I$ i$ c5 Q) c& y5 y
  2. -1 0 -1 1 0 0 0;+ J/ p" l; c, c" t  f' q  s5 I) r
  3. 0 -1 1 0 1 1 0;
    * A- f/ f. m$ l) W# b
  4. 0 0 0 -1 -1 0 -1;
      _1 Y* r1 m8 ^
  5. 0 0 0 0 0 -1 1 ]
    4 i. r6 s% t" |! t" c: C" U
  6. for i=1:5$ |% H! O# _4 w! @  A. K4 f
  7. a=c;9 _# z( r! d0 n! @- O" {
  8. b=[];& I' i# E" Y. W
  9. del_col=[];
    6 ]9 g8 H+ k& O9 ]
  10. b(i,:)=a(i,:)
    0 M* K1 m) T' u# \
  11.      for j=1:7
    ) y' Q# a! W/ A2 l3 L8 h
  12.         b(i,j);; D( O! d  l1 J8 ]
  13.          if b(i,j)~=0
    % n0 ~" H, D3 s* b
  14.            del_col=[del_col,j];
    5 e5 ?" v1 d+ ?) |, b
  15.          end
    , n7 x: i% k1 U! q0 r- O+ l4 O
  16.      end, H/ r. O2 p( u8 I4 A
  17.      a(:,del_col)=[]2 j; P, P* P, f. S. ?* X+ }
  18. end
复制代码

作者: xiangpeng395    时间: 2014-8-30 21:22
madio 发表于 2014-8-30 21:15
* k% B+ M7 L! X- D2 K你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。
- \4 J/ h; v; ]/ g& V& m! g4 V
好的,谢谢了,
作者: xiangpeng395    时间: 2014-8-30 21:27
madio 发表于 2014-8-30 21:15
$ ^9 m2 ~1 C; Q; J& T+ M你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。

- g2 t! M* Q$ F可以了,就是没有删除对应行,我加了一句,现在可以了,十分感谢!!!




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