|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自定义的函数:
( J) R1 O4 H. k; Ufunction f=largejfun(x)
: B! h3 e5 g- J7 E6 Ef=(x-1./1:100).^2;
) V. Q/ E2 B. Aend) S2 d3 Y: P' L* n2 G
) Y: N9 L' |3 r a
调用函数的时候:5 I. T5 J2 O- `1 ^9 C7 T" }
clc- f+ R& `7 n! ]1 X8 ]2 Y1 N" }
x0=10*ones(1,100);
$ e6 C/ w3 _1 h$ m+ Goptions=optimset('display','iter','TolFun',1e-8);: J- d- u( `( O. r
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)2 t: ?0 }. T! s2 Z* u
' O) x& W2 _9 m; n) B1 b1 ^$ W$ d
7 ^8 q( H: t: G! ^9 }运行结果出错,出错结果显示如下:
/ m( j3 h' L0 f, o3 E+ Z" u错误使用 fminunc (line 348)
" J# _! W" s6 r+ J) fSupplied objective function must return a scalar value.) P. d% l" ^0 }4 @6 Q2 ^( u
* e; V1 B. y& Q' O7 H" F) c; H) T U( j* y( z
出错 fminu1 (line 4)8 s" }7 x( q) d" h* E+ T1 ?4 F
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
6 }+ x0 j+ s) y i4 o1 r
5 j. E. }! g7 ?% I2 E- K
f- A, H- F' \8 L' Q- q: j5 W+ A6 W8 f( A, `- @
+ z2 v4 I; ]; I: J
; Y( d; o( P$ r; R( \: s! c
- O' s9 M: [5 W+ O g# B$ l5 z. F8 y1 @! k3 L- Y: e
; v8 J: ~/ Y+ j0 K) P
我将自定义函数改为如下:# e( u3 @# I4 r1 K/ r X4 g; e* w
function f=largejfun(x)
9 M% a- {/ B2 L) uf=0;' M' p9 u2 G8 Y1 R" `, }
for i=1:100- e8 Z6 L2 a4 l; b" B
f=f+(x(i)-1/i)^2;6 c2 }7 s/ T$ H! @6 U: {
end2 w. ^3 P1 w# P3 W6 q8 G
5 }' ]+ m: K) q5 ]! a7 ~8 e1 b$ q最后运行结果没有任何问题。
5 @( j3 a' D4 ?那是哪里有问题呢?
' w& Z+ E1 b2 I# ^0 X/ b6 U7 o( z |
|