资 源 简 介
程序的绝大多数运行时间都消耗在调用Simulink模型进行仿真上。从我电脑上的情况看,运行一次仿真有时需要十几分钟,有时甚至十几个小时都没结束(与待优化的几个增益系数取值有关),而根据主程序pso的参数设置,每一代迭代就需要调用粒子群规模的次数30,最多可能迭代50代,也就是最多可能仿真1500次。这样很自然会造成【一直不停的运行】,而如果强制停止运行,很自然就是位于调用Simulink进行仿真的那行代码上。
3、对于题主现在的程序,我有几点疑问:
(1)当前的模型使用了FLS,然后用pso方法进行优化,是否有比较可信的文献支撑?仅就对这个系统进行控制来说,总感觉有点把简单问题复杂化了,应该有更简单的做法。希望题主能提供更多的一些背景资料(例如主要参考文献)。
(2)模型中存在一些比较可疑甚至错误的地方。例如,使用Derivative模块提供微分信号是不可靠的做法,而FLC模块前应该用Mux而不是Add(这个错误是致命的,可能求解时间过长的原因主要就是它,我没进一步研究)。