|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自定义的函数:
+ F9 M; C" P* ^8 K# X) c4 Jfunction f=largejfun(x)3 I1 p# r! Z! e8 q$ @$ V
f=(x-1./1:100).^2;
0 ?! q9 T6 u5 o# a Z! d3 Gend/ b3 g6 w) f; E' O
: A* [; W( [2 U) D5 @/ h
调用函数的时候:
3 A) B8 ?- J C6 g2 J! bclc
1 E6 s8 e, t" m0 u) J9 b4 ex0=10*ones(1,100);
8 L( O& ?: m: _% ]0 loptions=optimset('display','iter','TolFun',1e-8);, L! ?# Z& ?5 }3 l5 j
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
/ `) R9 s* R3 j7 j7 ?/ f; r, b* U7 C/ h6 ^+ Q' K: @0 N$ \7 P. f9 J) ?
- X$ A! ^1 q/ H; m7 e" h- d
运行结果出错,出错结果显示如下:
) z- w, l7 `3 a- b$ ^3 N错误使用 fminunc (line 348)4 {# X3 D( @) S( g* V' \% R( o
Supplied objective function must return a scalar value.; q/ _: p4 g1 w- Y1 @) X* ^
0 k8 w+ q2 d2 t" N0 ^4 i& d
' |8 E, _( }- o2 y$ r! s( E7 H3 @出错 fminu1 (line 4)
; O; m: [2 c1 H* b! P6 F, ^$ h[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
8 v8 v7 h |& g3 S
) I# y- @* D- E* y1 C) c6 {3 M6 m* w# D9 M$ @! W9 f
7 G$ B$ Z5 Q" s7 Y' L
, c* ?& V! o1 L; _
. Y* S8 R$ h: O- P* c# X
$ ^* P4 ~7 |+ H" D
4 T- B/ r$ S3 t; I# K. k+ f
' u% \. B( [/ ], A2 \+ M我将自定义函数改为如下:' R$ _5 g; C3 x N
function f=largejfun(x)1 \9 _+ T9 Q' B$ K: w4 R0 v; v% L; Y
f=0;
* Z# k3 A- z, V: i9 Ofor i=1:100$ u; R$ Z8 x K/ W% V" F% \
f=f+(x(i)-1/i)^2;- r) G* e$ q3 g( o+ G2 b7 s! p1 C
end. w& M# f" d' B' E4 F
6 F! }" o. f' \' k; ?# X最后运行结果没有任何问题。
9 r4 j" L; F7 Y' p0 S4 R5 r6 @) z( l那是哪里有问题呢?
/ \* u! n, D- w8 O9 ~ |
|