|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
原本使用 function f=myfun(x)
6 }6 u. c$ t P. r# `! t* R" M f=sin(x(1))+*cos(x(2))* i! p: i+ f) K
对其用[x,fval]=fminsearch(@myfun,[-1 -1])便会返回x=【值 值 】一个1*2矩阵 和 fval=【值】一个1*1矩阵
# r9 Q G) {0 D/ B$ h4 m
/ ~; e2 |: u+ O/ w! _! o现在加入循环 function f=myfun(x,a)
7 E% Y: u# X( u1 n; C: [, \9 c f=sin(x(1))+a.*cos(x(2))
h- i9 k. \0 J% B5 L; b$ r4 B- Q! w {8 `
fval=zeros(1,2);
+ _/ V' \* _: s3 _7 X3 r, t9 B V$ q" j for a=1:2; Y4 q( R+ o- V; \, z
[x,fval(a)]=fminsearch(@(x)myfun(x,a),1000)
, u' d. e* [" R, c6 O5 D6 Z) R% X- n% q P ?' ]4 ]& f# x$ ?: M9 A
end5 V# S( ^+ N' H2 [5 Q6 H5 R. }
便可以把两次循环的fval的值存起来,但用相同方法,由于x=【值 值 】返回一个1*2矩阵便会无法执行赋值
. R9 y! s, ^- j& ]请问有没有什么好的解决方法6 ~& q6 k$ _! Q# K- L# G: D
# t" b2 N- B/ n$ O* q7 {8 M1 @- d: L6 ^$ k$ W# J. r
; W; o/ d# P) ]
|
|