数学建模社区-数学中国

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

作者: 菠萝饭    时间: 2013-6-23 14:00
标题: matlab问题 求大家指点
想要优化一个函数,程序如下:
1 c- c! y# q& _% h# y$ B8 W: j: Z! U%给定初值9 V# F% x, a4 X3 d6 H
cm=3;( ^3 P" N( |$ t; L& Y
cp=5;. x4 ~4 d& \) G0 m/ v# S( v6 w5 p" ^
l=20;2 W' f# @' b! e. s1 e
h=0.05;4 `' v" S: N1 x+ W( W& l
p0=1/h;! Y( z( T/ `: v6 P: Q0 D
q0=2*l/h;! x  i% @' G: P+ o0 m3 e
nn=0;2 C1 J1 o' X7 I# s- {$ d& ]
cc=cm*l*l8 k! U3 h* Q" E  c
%主程序
4 w2 U/ j6 C' t' E' r) \1 Efor p=1:h:p07 _7 S, y) I; g, H
    for q=1:h:q0
  W# h) I3 e2 e3 C' t" K; ]% h/ ]3 f        a=p*h;
2 [- J: {# S+ \; i- I8 m, ]! n        b=q*h;9 t5 {' E, f5 `4 \% H
        for n=1:12*l/b) %行向量1 L7 x' M; w! x4 `" ~- X
            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;
8 F; R1 C2 L. q) \2 Y- `            if c(2)>=c(1)
7 f( q/ ^7 C7 L2 ^, m' n) M                nn=1;1 B5 V% c9 X( F& L8 M7 K
            elseif c(2*l/b)-c(2*l/b-1)<=0
" g. p4 Y* F8 q/ |! b1 U                nn=2*l/b;$ E! Q; ]- @! a2 R
            else2 ?% ]* ]9 O8 ^) K
                for k=1:12*l/b)
! C/ I0 v) k8 \$ @+ N                    if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)
0 t* J# ]  g) Y6 m5 O  ?                        nn=k;* O9 F. w! \" F# k  b
                    end+ t% d/ t0 O( W, k+ q% N" Z
                end$ S) n+ X$ C1 z+ ~3 \# B  d  I% R
            end1 f# F$ s2 N) V& I0 w- ^  N/ f8 g
        end% [! _% z" z, ~# ~% J' N. v
        if(c(nn)<cc)" ]+ r) ?% e/ b
            n=nn;9 E4 |) V0 Y# ^8 v9 f( y! ^* x
            aa=a;2 S% M9 G/ a4 U  g3 O6 d; T: K
            bb=b;9 M2 j7 p0 P6 T6 U
           cc=c(nn)
4 }% m* d% k: R8 N! w) c! y7 M        end
( K) }/ p2 S# L    end
) a3 Z3 ~3 F$ c% l$ N, Cend
( G% L5 o5 b( J7 a" Zfprinft('%d',n)% `* v1 j( S7 V7 n5 g: q
fprintf('%d',cc)
% a9 e9 k6 w( F, Ffprintf('%d',aa)
  S* h; A1 @9 U3 c0 W) Cfprintf('%d',bb)
7 d# l! ]6 f" c/ o5 y) d, p5 w4 }# E  A4 \

9 y! x' Q3 X  Z4 o8 t运行不出来,错误提示:
& r6 [% }- W7 q* v9 u3 E) Occ =
& w1 V* G) j/ f( v" l6 g; v. |; J: O; K1 z# e' p/ `) w
        1200
; Z8 m/ C) \1 N4 \% y1 }( h
1 d* z& F! p: F( Y  E9 A# v4 s1 x??? Attempted to access c(2); index out of bounds because numel(c)=1.: z4 V" T. l1 P& H' b

& C/ l8 T! ?5 U( R
5 Q/ S) [7 x/ Y$ C  b4 A这是什么问题呀......




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