EDA365电子论坛网
标题:
用for循环的嵌套进行参数优化有没有什么改进方法
[打印本页]
作者:
ax639082
时间:
2020-8-28 15:53
标题:
用for循环的嵌套进行参数优化有没有什么改进方法
最近在做多参数的优化,但是尝试了多个全局优化函数后总是得不到全局最优解让我不敢相信结果,如果使用for循环的嵌套因为参数过多没法求出结果,所以想问问大神们对于多个for循环的嵌套是否有方法改进:
* h' L, w1 j& ~* b# ~
syms a b c d e f g h k l
) \5 I2 m/ h1 P1 L
dmf_min=inf;
! n, |% V/ W3 _+ Y
for kesi_1=0:0.001:0.999
# d9 N4 r; @# C* ]8 _( d$ Q
for kesi_2=0:0.001:0.999
" I! E/ r+ }$ P4 I# @* Q
for kesi_t=0:0.001:0.999
# e' f/ ^0 g4 C7 R5 l0 Q
for f1=0:0.001:10
. T/ n9 K: N2 R4 o2 ?6 }
for f2=0:0.001:10
& k7 j T$ Y+ J3 e$ V! ]" v
Y=kesi_1+kesi_2+kesi_t+f1+f2; %%%%中间的式子太复杂就简写成了这么个简单运算
2 k4 a- k0 S* j" C4 ~3 v8 q
dmf=Y;
- x9 B5 }$ i, y* X
if dmf<=dmf_min
: _6 d0 m* K7 s& m' P1 L
dmf_min=dmf;
|- G2 x) V' G) Y" Y, ^+ b
t_1=f1;
7 b" W+ I8 `, _& v/ Z
t_2=f2;
% q* o. p, d d$ @% b/ s
t_3=kesi_1;
5 |- S: G8 _% R- E
t_4=kesi_2;
' e3 ?+ s" l, x6 ]0 `1 [; x" y( D
t_5=kesi_t;
7 ~1 o0 E5 D& z# m3 S
else
* B2 `$ W/ ^1 u0 @! N% q( ]
continue
8 O3 U$ `: F( w! b! d9 z; y" z
end
& J; _9 ]! V* d0 l& \ K
end
5 K- e% M( S/ r3 Z+ k' a
end
9 D+ A* X1 m% E( P8 V# R
end
1 N# M; }: z+ O8 A
end
4 h3 \ i& U% t
end
作者:
modengxian111
时间:
2020-8-28 16:41
效率低的话,就算不出来
作者:
vincent92
时间:
2020-8-30 14:32
用matlab多久了?这代码风格还是c的,没领悟矩阵运算的妙处。
2 [8 @0 G$ S9 l
那些for可以用矩阵运算部分或者全部完成;然后找最小值用min就可以了
5 C7 f4 X5 s1 L
唯一的问题,矩阵有点大可能算不过来,要想办法分块
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2