数学建模社区-数学中国
标题:
matlab问题 求大家指点
[打印本页]
作者:
菠萝饭
时间:
2013-6-23 14:00
标题:
matlab问题 求大家指点
想要优化一个函数,程序如下:
, C. Z9 J9 ~" q% ]; @
%给定初值
2 R0 {2 J H5 W$ R5 l; _
cm=3;
) L3 ^' ?6 F- J7 E( I$ K' q2 F
cp=5;
- P: b7 U/ [4 M- q1 N$ T9 R
l=20;
; R/ w" w& d. p# K' ]# k! y
h=0.05;
` C% j* r% |3 |. i: ]1 \" p
p0=1/h;
- ]1 t7 t! l9 b+ I) h( D4 c
q0=2*l/h;
$ b2 W a- K. Z3 v+ |9 D
nn=0;
0 X% k) T4 j0 e/ E
cc=cm*l*l
% k: v# T7 y1 d: ]
%主程序
! b' ^: o$ S% P% p: q: V ~
for p=1:h:p0
8 O' c5 x1 g) W5 A6 J5 A0 v2 ]
for q=1:h:q0
6 B5 o. V# T* s+ p3 U
a=p*h;
4 a# {6 w2 ~) t, h$ V; {# Z' f l
b=q*h;
8 K I7 g. D' J! i8 ]
for n=1:1
2*l/b) %行向量
( N, B( `+ Y7 J0 K& y2 j
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;
1 w5 E4 ]5 Z: z# j( v' Y
if c(2)>=c(1)
% M3 \: M5 I4 a: d. Z6 A+ y
nn=1;
: o" o$ M! q$ I; k9 \0 O1 w; @
elseif c(2*l/b)-c(2*l/b-1)<=0
% z. q1 q+ `/ ]; U' t; Z% P2 m
nn=2*l/b;
- D" y3 K! d4 y; e
else
6 \4 A6 u+ K" x: O- K
for k=1:1
2*l/b)
" X7 w4 b5 ^7 F
if (c(k)-c(k-1)<=0 && c(k+1)-c(k)>=0)
6 v9 G' B* \0 K
nn=k;
0 {* D g- ]# a
end
: Z9 d# ^9 |% U- v9 q, X
end
; v+ m" W. h& j/ L/ @4 J, d8 }8 O+ ^
end
5 |* u+ u2 c2 i" |
end
" d/ I( j# m( O$ g2 n" x
if(c(nn)<cc)
& H/ ^+ x' X! e0 [5 E
n=nn;
& `( W1 T& C/ }2 j- S6 Y8 D* E
aa=a;
5 {2 X W. d* ]
bb=b;
1 S- }6 E* b3 M
cc=c(nn)
5 E, N1 h- o m4 `
end
' M- f9 T- H3 N5 }) z$ e
end
& j$ d6 q/ |7 y
end
. M* a( j( y3 F, V9 G' J8 w5 K
fprinft('%d',n)
. U$ T: t, Z, i7 i y( h Y
fprintf('%d',cc)
; \4 |) }: H. w: R2 r7 D
fprintf('%d',aa)
8 J% ^/ p3 W" q2 q$ k
fprintf('%d',bb)
2 I* T- N y+ {0 c- n
3 d! k% A, u" D+ e8 J9 H
! m0 I6 z* s1 c+ i2 Z$ Q
运行不出来,错误提示:
' F1 Q% G9 R0 j; v' w' L# A0 {" A7 _
cc =
% ^7 G% Z" S1 B; Y4 T5 C
0 T& U/ Z! U, j$ _
1200
+ f/ I' R7 L, P3 Z8 h, K9 X
4 q5 H$ L( K/ T# I, [) J
??? Attempted to access c(2); index out of bounds because numel(c)=1.
/ m! S( ], G- E4 x) P
$ K: e( l* j; L
U0 ^$ z) l) V- L" m" [
这是什么问题呀......
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5