|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
原本使用 function f=myfun(x)
9 `- N( O/ e# F4 X8 t f=sin(x(1))+*cos(x(2))
; E# N1 j# w) @2 W( l( |4 q: z对其用[x,fval]=fminsearch(@myfun,[-1 -1])便会返回x=【值 值 】一个1*2矩阵 和 fval=【值】一个1*1矩阵
9 O$ j5 u, o; A" r% z, ^+ P9 z5 ~5 g) w9 ^! E) }7 t
现在加入循环 function f=myfun(x,a)
' K; K$ j! E- c! [6 j f=sin(x(1))+a.*cos(x(2))
+ P# H: G' Q$ i, A, k: p
7 w) I! C$ l2 u4 {: m* f fval=zeros(1,2);
* @6 |: F2 e4 I: z0 v for a=1:2: T8 y+ h9 Q3 A+ x5 E
[x,fval(a)]=fminsearch(@(x)myfun(x,a),1000)
# d) g T2 W% t2 k4 Q& w# t2 Y% S2 u
end4 w! n4 U! B' I# D- A6 h9 ~! Z- T
便可以把两次循环的fval的值存起来,但用相同方法,由于x=【值 值 】返回一个1*2矩阵便会无法执行赋值6 p3 S" q8 t9 }7 p( {, s: t
请问有没有什么好的解决方法- X! @' e2 z! o
8 E( h" K0 _+ d1 @* R) R2 a# g+ O; e
! ?1 Q# A2 `( S! W, i0 P" D& p4 p; `3 s9 v3 A5 i. t
|
|