数学建模社区-数学中国
标题:
matlab问题 求大家指点
[打印本页]
作者:
菠萝饭
时间:
2013-6-23 14:00
标题:
matlab问题 求大家指点
想要优化一个函数,程序如下:
G) S- B6 m/ Z' N: o5 O* Z5 J& e& G
%给定初值
: ] N/ _; p$ k8 `) o3 g; @! Y
cm=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- _! L
p0=1/h;
/ n% {3 f N' r2 j# G' D
q0=2*l/h;
1 e8 [9 g+ q% G- |
nn=0;
, d1 n2 t( h# P- b
cc=cm*l*l
0 t* d. B. @6 X/ D# v1 M
%主程序
, v( M5 n, g d$ J- L4 w
for 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:1
2*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
else
2 l* W( E4 X* } u& z5 y. I
for k=1:1
2*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- A
fprinft('%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/ X
fprintf('%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, ^' K
cc =
/ u8 m8 C. N2 w: X+ S% c2 `) i* d
: [1 \# a- b/ a2 j
1200
, J- B" u2 g- X5 f
3 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