|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
原本使用 function f=myfun(x)/ _8 z1 z, n. L. K4 k
f=sin(x(1))+*cos(x(2))% K0 G' P' B5 X; L, @
对其用[x,fval]=fminsearch(@myfun,[-1 -1])便会返回x=【值 值 】一个1*2矩阵 和 fval=【值】一个1*1矩阵: h* N8 {4 g- p5 q3 g
8 {& _- ^/ w/ `: P
现在加入循环 function f=myfun(x,a)% p0 m% P' r+ x8 Q3 r9 p3 u# T
f=sin(x(1))+a.*cos(x(2))% J% e5 M# `. Z4 p* c) D; f& v
; ~$ p C3 y' P# ]. ~- r
fval=zeros(1,2);
2 N9 g; c9 k0 W1 `; |, w7 h for a=1:2
1 ~: G& `4 q: M [x,fval(a)]=fminsearch(@(x)myfun(x,a),1000) B5 U0 L& E" O& s* R5 A, h; O
2 j: S/ c; H% }; _4 m' U3 c
end
y' q: ]& l5 N4 G* Y. t8 N7 E便可以把两次循环的fval的值存起来,但用相同方法,由于x=【值 值 】返回一个1*2矩阵便会无法执行赋值( x' `0 T, A6 n5 K& v- N
请问有没有什么好的解决方法# W. u Y5 v6 i
- M0 k: j; a0 U: u
& Y1 f/ `% q8 g, C" n% J
- J/ C5 d a: _/ P! ?0 Z7 b% q6 N9 G |
|