|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
原本使用 function f=myfun(x)
) `1 t' h/ K' v% m4 }/ b h) ~ f=sin(x(1))+*cos(x(2))
8 R+ m1 L3 P5 O8 N" K$ S" I* M对其用[x,fval]=fminsearch(@myfun,[-1 -1])便会返回x=【值 值 】一个1*2矩阵 和 fval=【值】一个1*1矩阵
2 p5 e: h* x. b- a" h; Q; m
: |8 t/ q9 G Q! J/ ^! ^+ y- `" ~现在加入循环 function f=myfun(x,a)7 d: v' q/ J2 S3 {! l* b; i
f=sin(x(1))+a.*cos(x(2))
: c3 }1 ]4 z7 k& J% C% p2 L# h/ J2 H% b( j5 ~1 J) A' ^ k
fval=zeros(1,2);
4 F6 ?+ k9 B8 ^1 A7 X) f for a=1:2
+ v0 x" p2 U+ E [x,fval(a)]=fminsearch(@(x)myfun(x,a),1000)4 S/ n, B3 u% j" F2 T
% B' j: u% Q( ]
end, u/ U6 ~) Z7 }, K
便可以把两次循环的fval的值存起来,但用相同方法,由于x=【值 值 】返回一个1*2矩阵便会无法执行赋值
8 Y& ~5 L& E- ^4 a请问有没有什么好的解决方法7 \* U5 i; {( u; z/ Y
. n4 ~4 N- ?# \
, e* z1 L+ j) G- U# h& w6 c. T W# S: v- V
|
|