数学建模社区-数学中国

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

作者: 菠萝饭    时间: 2013-6-23 14:00
标题: matlab问题 求大家指点
想要优化一个函数,程序如下:  G) S- B6 m/ Z' N: o5 O* Z5 J& e& G
%给定初值
: ]  N/ _; p$ k8 `) o3 g; @! Ycm=3;" W# S0 I3 T; y- ]+ U
cp=5;" Z: o9 B9 i" h+ T& K( l
l=20;: |: J4 h9 r- O' M' W. B2 K" M
h=0.05;
8 P8 y* k- _! Lp0=1/h;
/ n% {3 f  N' r2 j# G' Dq0=2*l/h;
1 e8 [9 g+ q% G- |nn=0;, d1 n2 t( h# P- b
cc=cm*l*l0 t* d. B. @6 X/ D# v1 M
%主程序
, v( M5 n, g  d$ J- L4 wfor p=1:h:p0
# o# Z; X2 U$ `1 ]& i    for q=1:h:q0- ~, n, c% X; Y, _
        a=p*h;  p, E' T# l/ H, G
        b=q*h;
# G  ~5 q- m8 D* \! y8 u/ c$ f        for n=1:12*l/b) %行向量
  r3 B8 z3 f. U            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;) i7 t  R( ^7 I9 K# M$ G6 [' H
            if c(2)>=c(1)
1 ?2 O2 n2 I, J, f9 V9 l                nn=1;7 d( E- v, \; t& O% s
            elseif c(2*l/b)-c(2*l/b-1)<=0
# |; ~" F  V! U- @6 J0 [' a' ]                nn=2*l/b;
% p- b' F+ L' `  z            else2 l* W( E4 X* }  u& z5 y. I
                for k=1:12*l/b)* U4 i  t5 C- S5 ?0 c% t
                    if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)4 W1 {5 I/ e. s7 }
                        nn=k;
5 w. A$ W$ {$ j: T4 {$ X                    end$ }/ R/ ~, {9 r, k. d
                end
5 G% A. t  I) c% C1 G0 I            end# J- q# \) R( m5 E- b2 ?& F9 i
        end
9 L# z6 h: z# d: B. u8 r        if(c(nn)<cc)
% D' \; K' Z7 K) x( r0 J3 ~  r$ ~            n=nn;
0 P9 y+ y' z8 @# N6 T            aa=a;
& \7 A" M7 R0 o9 Q0 Z            bb=b;$ z0 ^+ x. i1 x% ^5 J7 q; `
           cc=c(nn)% r( p8 G% b" ?& W  ^: X" K
        end
- ?6 |* `- v) A2 h% `! e    end. |% }( v5 A. Y3 C- b: o/ A2 |3 L
end
5 Q7 r& K+ A9 M& l9 j- Afprinft('%d',n)
7 |1 h5 ]" I) W' n8 I8 t& }fprintf('%d',cc)
  L' B4 n2 _! D) N, d: [fprintf('%d',aa)
. ^) E9 Q8 a5 `6 o/ Xfprintf('%d',bb)+ `: Y& _  E9 s4 K. w  ?: ~
" U) l+ X3 i/ Z
3 [; Q4 Q+ n5 I9 _4 e
运行不出来,错误提示:
: m2 |  k8 r+ R2 f5 |  z, ^' Kcc =
/ u8 m8 C. N2 w: X+ S% c2 `) i* d
: [1 \# a- b/ a2 j        1200
, J- B" u2 g- X5 f3 X5 V" q( G, f) P- S# F! P& W
??? Attempted to access c(2); index out of bounds because numel(c)=1.$ U. n+ ?1 l: i% w. ^$ J

& L6 U- t8 u7 s! y( d# x# t# c2 p8 K4 b. l" H" D# y1 E
这是什么问题呀......




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