粒子群优化问题

4视图(30天)
跑
2019年8月18日
你好所有的,
我试图使用PSO求解一个非线性超越方程组中使用她PWM。
以下是我使用的代码来解决
有趣= @(α)pwm_equations_multilevel_pso (alpha0, 1、2、谐波)
据nvar = 3;
磅=(0,0,0);乌兰巴托=[函数(90),函数(90),函数(90)];
选择= optimoptions (“particleswarm”,“SwarmSize”,200,“MaxStallIterations”,200)
选择= optimoptions(选项,“PlotFcn”,@pswplotbestf);
[x, fval exitflag、输出]= particleswarm(乐趣,据nvar磅、乌兰巴托、期权)
“pwm_equations_multilevel_pso”只是如下在哪里
函数F_dot = pwm_equations_multilevel_pso(α,M, harmonic_cancellation谐波)
F (1) = cos(谐波(1)*α(1))+ cosα(谐波(1)* (2))- cosα(谐波(1)* (3));
F (2) = cos(谐波(2)*α(1))+ cosα(谐波(2)* (2))- cosα(谐波(2)* (3));
F (3) = (cos(α(1))+ cos(α(2))- cos(α(3)))- M;
F_dot =点(F, F)
结束
所以返回标量值F与自身的点积。我想减少F_dot为零,但当我使用PSO得到下面的结果
不幸的是算法不收敛到零,它不做任何事情在我的例子中。
显然我做错了什么,但我不确定
任何帮助将不胜感激!
6个评论
跑
2019年8月18日
好的,我已经发现了一些基于PSO的约束。
谢谢你的帮助,现在我的算法。

登录置评。

答案(1)

Nishma赛
Nishma赛 2021年1月22日
你可以提供整个代码作为我对代码有错误吗
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年1月22日
你可以把你的尝试和错误消息,我们可以帮助您调试问题。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!