数学建模社区-数学中国

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

作者: 菠萝饭    时间: 2013-6-23 14:00
标题: matlab问题 求大家指点
想要优化一个函数,程序如下:
+ N! [- o, I( C, a- w' H: z! W%给定初值. q) N& I* w$ A- q( d  t
cm=3;/ l9 p" S$ h% S2 _$ F
cp=5;
3 ^5 j% a; {* u  M" w$ w  m0 U6 Gl=20;
4 T6 y3 r: s( bh=0.05;- O, F1 o; `8 E8 Z. X
p0=1/h;
' s; a7 l% s( y: e1 O7 H2 tq0=2*l/h;
+ e7 z( M8 Z1 e1 A5 L) k$ Nnn=0;: F6 U) \( F: G0 o
cc=cm*l*l" c5 k/ ~8 b$ {# h2 p: z  B
%主程序
, @' [8 P+ P  e4 v2 S) U8 c+ Kfor p=1:h:p0
$ a! q9 t6 e5 l% k" }' X    for q=1:h:q0  y! j9 P! m4 }7 ]: v
        a=p*h;
! N. g& s7 ?% V  C! h        b=q*h;
. C3 S/ z2 e+ K4 @" E/ O        for n=1:12*l/b) %行向量
, M$ _1 q8 M* H9 q            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;
+ u0 t8 s2 `5 _+ {. x) w0 y6 o" u            if c(2)>=c(1)
5 p0 h- l- N% X- C* _# e0 [                nn=1;3 C% L5 G# w3 v$ F2 O9 T, G- R
            elseif c(2*l/b)-c(2*l/b-1)<=0
7 C2 J. I" @7 F7 O                nn=2*l/b;1 W9 L9 j1 D# [
            else! @+ P4 z- J) C" k' _1 S9 q9 d( H
                for k=1:12*l/b)
5 V* l; z: b' t0 ^                    if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)2 E3 A) w1 ~2 q! O( b/ x
                        nn=k;
4 h9 z" e* |: C* b( M9 U- N                    end
/ [8 A: m! I5 T8 |' ]- }' Z                end; R3 g1 `, d" n5 `/ M2 I
            end: L% k1 c" b5 I1 ~  O
        end6 \& P9 R( B' N6 z
        if(c(nn)<cc)
: G4 w; i: c- w0 O" c# K            n=nn;
# f% r. G& n0 X5 Y* e3 i5 I* d            aa=a;3 p- U( [. P0 {- X, E7 I
            bb=b;
  b' q" N0 V; [6 a, x           cc=c(nn)) p9 |) V  e  B8 a+ ]9 m# O
        end; ~9 M! r# I' f9 E1 t
    end% N1 v. Q8 _; {3 p0 G- U
end( T  o; H' ]1 h/ z0 C
fprinft('%d',n)
9 p) M/ [1 Z6 x3 e9 C* `( V1 y- [& dfprintf('%d',cc)
' u' C0 E/ L: k, W+ Vfprintf('%d',aa)
0 V8 r$ D+ s& n9 Q/ H6 Bfprintf('%d',bb)
) ^7 Z) ]! _( A# d, }* Y, k8 r' Z  V6 V
5 ]& B$ p! ]1 r  S7 N: m# F* m
运行不出来,错误提示:
7 d" O8 K9 X, u% M2 L2 j! @* N, hcc =+ `0 p. q4 r; x6 {) t/ ]
' `: R) Y8 g$ E. J5 W4 L" P
        1200
8 \) z1 [* b$ y6 ~% C
7 `, p, X/ z0 g0 [) I??? Attempted to access c(2); index out of bounds because numel(c)=1.
$ K8 l7 g7 K& x+ t3 s3 ?4 w6 k- O+ q: s6 J

. W$ D/ W! B: w: h* v% M% L9 _5 B这是什么问题呀......




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