|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
自定义的函数:2 x/ D; v" X- d" _) K) L
function f=largejfun(x)
2 `$ X! j* J9 |1 v6 ?/ {9 lf=(x-1./1:100).^2;
3 {/ U9 O( e3 N4 w/ r6 b* q( Oend H D! a. F2 Q. H
8 n5 }% ~, a7 L: r0 b$ {; N% x
调用函数的时候:
% b# P2 _4 b3 P4 e, @- Fclc
7 K8 g! m2 X/ n* Xx0=10*ones(1,100);. _' {/ b+ Y- _
options=optimset('display','iter','TolFun',1e-8);
6 Y) b4 m& g4 ^: k[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
! J4 Q3 c4 |2 W2 m1 m+ i8 c* p$ o5 ?! ^
: O0 [) a5 \1 V8 n
运行结果出错,出错结果显示如下:
# N- i; N& C6 X) A7 _# ]错误使用 fminunc (line 348)2 v6 O. e3 G+ t5 l
Supplied objective function must return a scalar value.
9 b/ V2 u; s6 y, m& C( r; ]0 \ V" s7 L. f2 Z* I4 U& E) v$ R I
) Q5 T0 Z- f! {. {出错 fminu1 (line 4)0 c% X. Q& |+ }: Y7 ~1 {! X
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)- p9 ] F# r0 R1 k1 c' f7 R
" W% b. r% B- {; r h
( Q5 V8 s: p+ x0 d, m" z7 Z0 S: ~
9 X+ Q; q& E% T) |/ n. [
0 S) T9 H2 f2 N6 p
! `8 |4 \5 g$ x0 O& a" \" @
4 W* Z/ S( d8 L: A. y5 P# B7 s5 m+ s& z: j
/ _' J9 W0 L2 z- I我将自定义函数改为如下:( @7 n9 g7 J! i( s
function f=largejfun(x)
8 m: K' C; A2 ~( T j% qf=0;
* r. v5 e* |! B5 |; n* M, K5 t5 G4 @; mfor i=1:100
: b4 c E" n$ N7 K f=f+(x(i)-1/i)^2;' N. m1 O- F0 Q( J: {9 w; m7 P
end9 V! k' G" K' Y7 b/ a( h |
% w0 E; M1 S% u( k6 w+ _最后运行结果没有任何问题。
4 F+ }! N% o/ j那是哪里有问题呢?
: B0 d2 e' C, U' q |
|