想要优化一个函数,程序如下:# K# I; p! J) a
%给定初值8 X8 Y( t" C# K+ ?
cm=3; " r, N" i( u4 t% A+ r/ pcp=5; ' s3 K* I+ X3 o3 Yl=20; / }& U( b2 w# O# W# \1 ~; Bh=0.05; $ q' n5 h) }0 ?5 O8 w& mp0=1/h; 0 @& F a; J4 a, d' wq0=2*l/h;1 z% M: e F) n8 g
nn=0; % d9 v( Q1 M; \6 G+ P) \cc=cm*l*l + K' ~0 ~5 }6 B1 p+ A& X1 H%主程序( N0 w* Q1 U# H8 K
for p=1:h:p0 $ M8 Z b f) [7 n( ?1 } for q=1:h:q0 4 y6 a$ c& R* C- s$ t. \ a=p*h; ! c' Y, r. I* y) i b=q*h;" R; }$ {$ s8 I5 D1 E
for n=1:12*l/b) %行向量 1 _' _7 X4 J- N# B. o 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;3 C- L/ ?1 m2 Q0 C
if c(2)>=c(1) @# ? }1 h. ]* Q' F3 m/ m) A& }) O nn=1; * a q1 M: c5 ~9 P; v! v" ^. Z7 Y elseif c(2*l/b)-c(2*l/b-1)<=0- {( a' p3 }4 J- f0 |4 G
nn=2*l/b;6 j# ~7 `) F6 ~6 \& Z
else * [; X: P+ B! G6 y* B( ` for k=1:12*l/b) ; F( t& Q; u9 g& C+ i* h& ]& R3 w if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0) : p0 X m) X9 x2 B* E' e nn=k; 6 g# n$ N; U" l4 C4 { end; K+ @! f: ?# @6 R( K
end5 r5 o' w! M1 V; B. X3 K
end3 F: }$ T7 N% {1 ]! n
end 8 h" x6 i1 ], k8 G" G* O g if(c(nn)<cc) - `; f& D* D# o5 @ n=nn;, y4 d: G1 W8 A' G/ M! n8 {' d S
aa=a;/ g% ?' Y w! e3 w8 e
bb=b; * r0 _& b; }* E- m cc=c(nn) , @. X9 \" \3 C5 M4 l end 1 v# y3 R* l- V end 3 B2 H: @8 }, Z. C7 eend% }5 t, L3 W2 ^3 k; J! w7 B$ P/ z
fprinft('%d',n) $ {( ~9 N$ U& e& k+ S! Nfprintf('%d',cc) - u) l5 w0 P! ifprintf('%d',aa) ! A$ {8 r# t' B- `) S @* L8 }fprintf('%d',bb) 2 ~5 U: M0 k2 z& \' {# I# x0 B + v } @% D, V: W9 P% W* o6 X0 E; r! V2 \: w- k+ [9 k# h7 x& Y2 K
运行不出来,错误提示: 3 f+ p: a: z) C4 icc =, v! b) I0 o" q0 O3 `& p$ Y
$ V4 u" [6 Q6 k N b, N! c 1200 $ T% K6 _$ o* g 0 t7 ^; k5 a5 ]# b1 `??? Attempted to access c(2); index out of bounds because numel(c)=1. 1 S8 b0 o8 N# Y ' }# i2 |2 @& H2 t5 A ' Q, f( \( b' Z7 e7 Y( X这是什么问题呀......