数学建模社区-数学中国

标题: matlab问题 求大家指点 [打印本页]

作者: 菠萝饭    时间: 2013-6-23 14:00
标题: matlab问题 求大家指点
想要优化一个函数,程序如下:
9 e4 a0 {6 \4 e2 @# H%给定初值7 O7 y: s5 h. [3 i8 j
cm=3;+ {  K: v( J* Q  H
cp=5;
8 E( L9 h# o  j& }+ ]8 w4 il=20;
' T0 Z$ F7 L( Y1 ?/ S- J, Ph=0.05;7 D. c- w5 _9 Q2 J  W. ?
p0=1/h;
) i) d4 T0 V: {/ l* ~4 ]q0=2*l/h;7 Z" u" l$ n1 H1 w5 Z2 |) i( R
nn=0;
! x5 u3 }& e- D/ X5 m9 ^2 ~cc=cm*l*l
  ]% q, ~, `" Q: N: g# d( \# r%主程序4 [, s' F+ V+ Y# ]
for p=1:h:p0( m+ d7 L- V9 W5 `' B
    for q=1:h:q0
2 i6 w3 u; G+ G1 _, V1 K: ~        a=p*h;
* T% V5 y- i, ~7 Z/ t- D        b=q*h;9 e( E* `$ f' c" f# \" ?" a1 L
        for n=1:12*l/b) %行向量+ s/ C3 V; a5 t
            c(n)=cm*b*b/4*((1-a^n)/(1-a)+2*n/(1-a)-2*(1-a^n)/(1-2*a+a*a))+cm*(a^n*(l-n*b/2)*(l-n*b/2)+(1-a^n)*b*(l-n*b/2)/(1-a))+n*cp;
* U6 d$ I, c5 P2 {  o            if c(2)>=c(1)
1 A! a8 L2 u* }6 U" x2 j                nn=1;+ q. C- V) N6 d& D0 K
            elseif c(2*l/b)-c(2*l/b-1)<=0. m& A9 i, q! Q: C$ H! K  o
                nn=2*l/b;* W/ r* L& x- Z4 C  G& M+ ^
            else( u* m) O% _4 N9 q9 N3 p; E1 s
                for k=1:12*l/b)6 Z* }& S0 T9 `+ d5 H
                    if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)  h' Q, v4 k& x( p& _
                        nn=k;
. j1 F7 @7 `7 y5 L' T2 b7 w: b( m' b                    end' d6 K( u0 \9 a, `6 m$ H9 |
                end
0 L5 W% M0 `. D            end
* t' t: W  h. Q6 _        end
' j, X* J7 D' I, D- H$ ]        if(c(nn)<cc)
! r& G! K5 y8 H5 ]* \0 P            n=nn;8 R* F! b+ l: D+ p$ h
            aa=a;
1 m, a6 R$ K8 K4 p            bb=b;# o) E9 d4 W8 z, b3 ~6 g
           cc=c(nn)
) s5 N% o! O4 r8 m9 W        end
( }: ]9 \3 M0 ~1 g2 g    end
9 g4 e1 H* o8 n/ L, ^" U5 `2 T5 y9 N3 R. Eend: J! P! b1 ~( C4 N8 P
fprinft('%d',n)
- ?+ ^3 X- c! r7 U! U/ [8 y4 X9 Vfprintf('%d',cc)
' k: v% R: T% F" M$ x- `0 F* S' Vfprintf('%d',aa)
! n+ @* ~$ R6 |, D8 Bfprintf('%d',bb)
( B# G4 l5 s3 n
% h  O" ?, P6 Q- e) }0 U* L' P3 |* p  c$ f( A) i, Q! O% u
运行不出来,错误提示:+ }% R' A) Q) ]1 ~1 _$ s" h* J
cc =
) C1 F2 }" u- l6 q6 y
( J% ^/ s% v2 C* K& K: X2 y3 v        12000 Y: Q! k1 ]; ?! W2 e8 I: I3 G, d

  T! Y- j% u6 g* t) H0 n5 l??? Attempted to access c(2); index out of bounds because numel(c)=1.. L7 T4 Z: }$ m& d( q1 p
6 q1 R' K4 }5 e3 G* p( a$ F( l6 y) g, x
0 r) X. M! ~; y( ?/ I
这是什么问题呀......




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