EDA365电子论坛网

标题: 关于函数返回的矩阵循环赋值 [打印本页]

作者: Smartk    时间: 2020-2-25 18:17
标题: 关于函数返回的矩阵循环赋值
原本使用                function f=myfun(x)
8 M/ _0 p1 X7 ^% W                             f=sin(x(1))+*cos(x(2))/ @# A) ~2 k  [# e/ l
对其用[x,fval]=fminsearch(@myfun,[-1 -1])便会返回x=【值  值 】一个1*2矩阵  和 fval=【值】一个1*1矩阵
2 n" s$ F8 N" \! j( x) Q' ]- Y4 |/ J. o" u; s
现在加入循环          function f=myfun(x,a)
$ Q. m0 l( Z9 ]% P6 k: }                             f=sin(x(1))+a.*cos(x(2))% N+ G" x4 M7 e/ C

6 p5 v* F, F: X0 v. d                              fval=zeros(1,2);
2 {# y# Y9 p/ ]                               for a=1:2
6 O+ j) l* p2 v: {, q- T                              [x,fval(a)]=fminsearch(@(x)myfun(x,a),1000)
- y4 r# E7 Q( z2 F1 f9 A) M6 r$ r$ N1 a1 }' ]
                              end3 U% ^, t6 _& ?
便可以把两次循环的fval的值存起来,但用相同方法,由于x=【值  值 】返回一个1*2矩阵便会无法执行赋值3 C) \: j: m4 M/ \1 o2 q+ P: U4 l
请问有没有什么好的解决方法8 h( s& p9 `! b- k! E" V

$ B3 i& z+ p* T" R  a+ e* t- \
9 }% y" @& q" P8 M! r2 s) s% v1 ~, M( Q9 `3 E

作者: ExxNEN    时间: 2020-2-26 17:44
不能多循环一遍吗




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2