数学建模社区-数学中国

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

作者: 菠萝饭    时间: 2013-6-23 14:00
标题: matlab问题 求大家指点
想要优化一个函数,程序如下:+ b( H9 ?! ]! J' ^9 A; I
%给定初值
. v+ d; ~, ?$ n! r: g! l8 mcm=3;
0 G! O) _3 q6 [$ ncp=5;% {% |6 ?  m) Q9 a0 y& _8 `$ q
l=20;
0 D% I: L5 Q9 D' \( w: z4 q! ^h=0.05;$ m9 I) P2 e) t( e+ A
p0=1/h;: G2 `1 W+ G( a
q0=2*l/h;
- S, A  S; u; E% W7 v) x4 G9 tnn=0;
# H, }. i' D) J4 K/ ?) _cc=cm*l*l
0 s, }1 Y$ n  l4 X4 B* ?%主程序
( B8 ^. G) s# F2 lfor p=1:h:p0
; y; `* Q( q5 g. |) i. X  a    for q=1:h:q0
& O" p' G! t* ~. S, X        a=p*h;
& S! I! P* P* {% W' o        b=q*h;  N# m% W0 W* V  w5 y& s" U3 T. ]
        for n=1:12*l/b) %行向量8 S! F$ f: b9 U0 ^! ?
            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;7 V. Q0 f( L+ E) g
            if c(2)>=c(1)
3 m$ g- F0 B, q( _3 {+ }                nn=1;) \6 J3 d* u2 Q
            elseif c(2*l/b)-c(2*l/b-1)<=04 m+ `6 h* |) X/ \+ i8 C0 l6 S
                nn=2*l/b;
' ?9 B6 S: |/ \9 `            else
- b3 O4 t/ f" O1 }% u( O                for k=1:12*l/b)+ ^5 ~8 k4 D6 R+ ^& b& J3 B6 C
                    if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)/ N1 C4 n2 h( E  k
                        nn=k;
* a6 [9 z% z( o8 x                    end" y" ^3 t  s1 C7 l# _
                end! W6 J3 M/ x$ S- ]6 @' ?
            end0 O' X! g0 w3 J& m4 H! _: l
        end
6 _+ @  ]. \) o8 }6 [, M+ z        if(c(nn)<cc)
+ x5 B0 \: b$ A. X" @            n=nn;* A0 G+ \1 L; q/ |& p
            aa=a;' z, U+ Q; Y" j# a/ C4 Y
            bb=b;
- {6 z9 _) `4 q           cc=c(nn)
$ w  s& e* Y3 V, W: X3 R        end
( O1 m' E$ w1 C    end
' g. d- v+ P7 A6 U3 x8 S! vend$ u1 Q  a, _& W. i0 e0 y# d' X
fprinft('%d',n)
( v  z/ X' |0 ?# h  L( |fprintf('%d',cc)
" Z* X4 L' z! m( {fprintf('%d',aa)5 }* o- d6 q3 [
fprintf('%d',bb)1 b0 n8 t, o( j( {

) C9 T( l# ^8 u& o" G4 l$ Y+ |+ N
运行不出来,错误提示:5 y3 E( b. M& f' y8 M
cc =5 G5 W, E! D) K+ w- I

6 v4 t  h* k7 F- C+ t, G  |        1200- i9 r9 H7 I. b

- o2 a2 E! @/ w5 P  n??? Attempted to access c(2); index out of bounds because numel(c)=1.
+ f' ~, N, t( \4 n1 ^8 P0 w6 T6 _/ q. z, v& s; F3 H$ ]) O

- ?! Y1 p' E/ q3 j+ d* Z这是什么问题呀......




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