数学建模社区-数学中国

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

作者: 菠萝饭    时间: 2013-6-23 14:00
标题: matlab问题 求大家指点
想要优化一个函数,程序如下:
- p% |/ m8 `/ M& p%给定初值
; F# E5 X+ r, J+ P& |2 }5 L* tcm=3;
- U* [2 M+ c6 T2 r# V2 n: d5 Rcp=5;8 z1 r" G, Z7 x$ m! C
l=20;6 p, T; d0 @! Z# T' _
h=0.05;5 {% H- M: t% W! Q' S3 n( i
p0=1/h;
' [. q$ a. f$ ^  e6 ^q0=2*l/h;% R% j3 z. P7 L: H$ B8 }  Q" M& g
nn=0;% a- l/ c. p3 w1 V: L) e
cc=cm*l*l
- f7 ]! ~/ Z3 \" c" I. {%主程序2 J4 l0 @: m' q$ ~  {* }$ g
for p=1:h:p0
8 K/ p6 ^) R7 @6 n" |( [; U. V% T    for q=1:h:q07 T$ ?8 T& W5 W" d
        a=p*h;
# E* f/ d3 A, \3 J; L9 l        b=q*h;( q+ R' b) V$ K" |+ {% u* P
        for n=1:12*l/b) %行向量
8 ?+ |) z) j, ]# x: V            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 X3 U1 \. a; i( ~: n6 _! ?! F
            if c(2)>=c(1)+ g+ X5 X6 o4 ]& V) Z/ Z9 W
                nn=1;& W; y4 {2 M# Z' M9 e8 V, }
            elseif c(2*l/b)-c(2*l/b-1)<=0
; A+ }, o( D! v                nn=2*l/b;
" B# `! c2 T, P: h2 D7 X; n            else, i- `4 L9 N6 E. T+ w4 ~: @! U; A
                for k=1:12*l/b)
( d& ~3 W  H6 c% |$ A                    if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)8 M& R: H7 X  L  ~4 y4 T; s
                        nn=k;
5 O9 p1 E7 j0 H. N# r9 |7 E: T                    end
4 }- \& o8 y' h3 x7 _                end- G- M5 S0 Z. L5 P5 r
            end
: T, W% w( Q+ M& x6 f; b5 l        end
+ G7 v2 {+ ~$ y. {2 L  q: M        if(c(nn)<cc). b  k6 J3 o) A7 m
            n=nn;
) c4 h2 ?. H8 @# `8 ~5 A            aa=a;& X% H8 X# {  j7 d9 j
            bb=b;
" ~) h+ p* i1 u1 s% \$ T           cc=c(nn)/ J% f0 ]9 ^' k2 H1 G3 S; C8 j
        end6 L6 U$ C' u- Y: q2 ]  ]1 f' q' L
    end
0 S% h, Y/ C0 @6 z2 A$ |$ Mend
: s# C, I" w( W# ]fprinft('%d',n)/ P1 i  d4 P8 d$ C  l) `. l
fprintf('%d',cc)  f! M: _: d5 @. U
fprintf('%d',aa)
; t! g  H4 _; {1 ~5 J1 afprintf('%d',bb)8 {" v5 r& Q# ~: ~' O
3 A5 g# r3 L/ @" \0 {8 I8 T( W1 n

9 a/ E( M7 p, s/ ?6 J! R; J# X运行不出来,错误提示:5 S; X" J7 V3 N' K5 q
cc =
, |# W7 J* H2 B/ B
8 {5 h) I# @' J        1200
1 j8 A. X1 B6 z0 x9 ~, v9 C
, D" ~% B5 Q* J5 e3 y??? Attempted to access c(2); index out of bounds because numel(c)=1.
! s7 D3 I5 e" `4 S; D5 i
3 {; Q3 F1 s. t
% L, J# \# R2 M5 e" P! o这是什么问题呀......




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