数学建模社区-数学中国

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

作者: xiangpeng395    时间: 2014-8-30 15:53
标题: 每个节点的生成树数目程序
  1. c=[1 1 0 0 0 0 0;7 f( S0 S: q) W# I* G- p
  2. -1 0 -1 1 0 0 0;/ @, G/ W/ D" t4 n& W
  3. 0 -1 1 0 1 1 0;8 d0 [% @+ V3 n# S4 l( g
  4. 0 0 0 -1 -1 0 -1;* y9 C$ @4 a: }' }% `# \' t; ?
  5. 0 0 0 0 0 -1 1 ]
    - H+ @+ R+ z& `( o& ]9 ^) j+ k
  6. for i=1:5
    . a' }5 U* |5 N9 K6 ]9 }
  7. a=c;9 u+ \% b- j( I5 M$ e+ {7 d- k6 J* ]
  8. b=a(i,:)
    6 {$ E4 Q! ?; y( g4 t+ O1 b. O) Y9 @
  9.      for j=1:4
    ) V: X# h* N; O+ x9 ~* f- l0 J) U
  10.         b(i,j);3 M9 V- Q! U( y; s0 M# ^7 j
  11.             if b(i,j)~=0
    + N* x  z' O) f# U9 a5 [
  12.                a(:,j)=[]
    8 R* T7 l9 C" M' |7 o+ W- ^
  13.             end8 \7 @" Z3 A. m) N; l+ [% o# W! h
  14.      end
    + ]+ O- W: Q. U6 y3 ~
  15. a(i,:)=[]
    9 l! C% f& Z: F# V  c/ ^  V
  16. end
复制代码
为什么总是超出维度啊5 S6 h; `- z3 u$ p
我想求出依次删除某一行以及与该行中非零元素的列,然后求det(a*a'),并输出结果,怎么搞?求教大神们!
- T: u- B, w( \/ l0 W6 n
( |  D, U% U# T, c0 J: c1 @1 u
作者: madio    时间: 2014-8-30 20:26
  1. c=[1 1 0 0 0 0 0;
    - R( [/ V* ~3 G2 o6 g9 X
  2. -1 0 -1 1 0 0 0;6 r2 |: t, f8 D6 P( @$ v& O
  3. 0 -1 1 0 1 1 0;
    % [3 b) c' ]& }6 j" @  N5 Q. f
  4. 0 0 0 -1 -1 0 -1;
    ) l7 L: ^1 b  k% U% U7 K. T
  5. 0 0 0 0 0 -1 1 ]) ?8 U! ~) D5 b( @2 z6 Y
  6. for i=1:5  M6 s$ ]5 X( v1 ], r
  7. a=c;) I3 W' g& [/ m
  8. b(i,:)=a(i,:)
    0 Q" @, l! h! a9 M; d& ]! D
  9.      for j=1:4. M. [' n5 |4 r; W0 |6 b9 {' k
  10.         b(i,j);
    2 F; g) c3 R( f! ^  Y% S! ^1 F
  11.             if b(i,j)~=0
    5 j0 q1 |) q' G* D, S
  12.                a(:,j)=[]
    * x3 v0 R0 E# J8 s. N
  13.             end! U! k+ l3 \; k& `% _
  14.      end
    0 j  u2 V. d9 \  f( ^
  15. a(i,:)=[]
    8 v5 ^3 E, v. i/ p/ t. h$ X
  16. end
复制代码
改成这样的就可以运行了
作者: xiangpeng395    时间: 2014-8-30 21:07
madio 发表于 2014-8-30 20:26
) y# c1 Y! {  k7 c改成这样的就可以运行了

; P" C1 q# `2 i* s+ f1 |9 q9 t/ B不好意思,我给j的赋值搞错了,j=1:7,我运行了下,还是维度有错啊,怎么办
作者: madio    时间: 2014-8-30 21:15
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。
  1. c=[1 1 0 0 0 0 0;
    , f8 I( e/ D- d8 \: w4 X
  2. -1 0 -1 1 0 0 0;
    & F0 j' N, a% ^
  3. 0 -1 1 0 1 1 0;9 g7 F, K& I* d
  4. 0 0 0 -1 -1 0 -1;
    3 G2 G8 `& I3 V+ t$ C3 M
  5. 0 0 0 0 0 -1 1 ]+ A, X: ^2 `: U$ H: N
  6. for i=1:5
    , {5 ~+ _* j8 y1 F" S
  7. a=c;
    & N7 [4 i: n9 A1 y3 A" A
  8. b=[];( g: J$ p) `$ V" a/ b( W
  9. del_col=[];# i$ l+ a, w- _* ~+ R% V- V
  10. b(i,:)=a(i,:)+ R2 G+ B. Y* T$ w0 A
  11.      for j=1:7
    / T$ d/ e; A8 ^8 r1 M
  12.         b(i,j);8 H4 [9 p3 C* K- v0 }
  13.          if b(i,j)~=02 t3 I/ ?4 l7 k/ V% g
  14.            del_col=[del_col,j];
    ; Q; J4 X/ b3 A! _
  15.          end
    4 p' P9 B5 x2 F9 z: a6 \1 v- Y
  16.      end
    - m9 M; n! M& u% y7 f
  17.      a(:,del_col)=[]7 H* b9 K# g. x1 G2 z
  18. end
复制代码

作者: xiangpeng395    时间: 2014-8-30 21:22
madio 发表于 2014-8-30 21:15 5 s7 Q1 l4 s& }7 Z; T
你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。
4 N" m% u7 V, m0 @1 A0 ?
好的,谢谢了,
作者: xiangpeng395    时间: 2014-8-30 21:27
madio 发表于 2014-8-30 21:15
  s' q0 |) ^! S! H: @, X. l' e你这个删除代码写的有问题,不能这样实现,我给你改了一下,你看看结果对不对。

6 Q" @, l, k7 @可以了,就是没有删除对应行,我加了一句,现在可以了,十分感谢!!!




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