|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自定义的函数: S+ |2 Y5 f& Z$ w
function f=largejfun(x)# d& G1 t- ~ c6 L g2 G9 P
f=(x-1./1:100).^2;
1 U. y: O' R+ a' |* Iend
! P/ \8 G+ E# h' s, e" q& z7 t( u
( e# K, F; ~+ R. L- n调用函数的时候:
}, |1 B- h/ g2 b, \& T: ~clc
8 }2 D: A% }0 G, \3 d' {x0=10*ones(1,100);
2 @3 q4 Q: G% ?( i8 F5 Aoptions=optimset('display','iter','TolFun',1e-8);
7 e5 N5 ~' e* p" M8 f' s: M0 Y[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
6 H1 ?6 W0 E1 }0 D; x3 o0 U
: k+ {3 k7 S0 Q" V: k
. \6 R5 U p6 T$ u$ [* d$ C运行结果出错,出错结果显示如下:
! l4 }& U2 e- `5 H- L错误使用 fminunc (line 348)
, U" D3 Y% `+ b* F7 R- N" H/ f$ _6 A/ aSupplied objective function must return a scalar value.
6 Y& K9 I) y: L' u! Y( ^9 S" ^, f5 i
! O; H( w, L. F; z# F: m出错 fminu1 (line 4) R O% J& o2 J6 {
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
W0 N$ b1 h, q9 d Y$ [6 Y6 B' p1 M* w' F5 Y
; e5 R, {1 z' @9 S( a1 b
@! L, v! Y( k2 ~9 [, I4 X- q% m! ?, o! Y: R r5 g
& |# D0 ]! N5 k7 l! ~- m1 H
0 W5 h! s' @" p* R* y
1 R2 ?( u4 E+ s" g7 G
, ?3 H' c3 U- c! {我将自定义函数改为如下:
" m4 |4 n' `$ j m8 X! @2 hfunction f=largejfun(x)
& L/ R6 a9 F/ {# q4 J Ff=0;
( I1 t& R' H( v$ ~for i=1:1006 c, V- G4 f, d3 g$ I
f=f+(x(i)-1/i)^2;# [8 C/ Q, N( l4 E$ l2 L7 l" C' K
end
2 x; M, Y% z, M" @/ A5 d) S
, V; L ~ \. ^- c/ _# X最后运行结果没有任何问题。
+ s! U4 U5 q+ W, U那是哪里有问题呢?
- n6 S: v% o( W- F3 I1 h |
|