python代码转换为matlab代码

6视图(30天)
乌斯曼Taya”class=
乌斯曼Taya 2020年4月5日
编辑: 乌斯曼Taya2020年4月6日
我需要下面的python代码转换为Matlab。谁能帮我将以下代码。
我在范围(0,PopSize):
# pos(我:)= checkBounds (pos(我:),磅,乌兰巴托)
j在范围(暗):
pos (i, j) = numpy。剪辑(pos(我,j),磅(j),乌兰巴托(j])
#计算目标函数为每个粒子
健身= objf (pos [i:])

答案(1)

埃米尔哈姆萨”class=
埃米尔哈姆萨 2020年4月5日
像这样的东西
pos(销售点<磅)=磅;
pos (pos >乌兰巴托)=乌兰巴托;
健身= 0 (1、PopSize);
我= 1:PopSize
健身(i) = objf (pos(我:))
结束
同时,看到这个在MATLAB基础课程开始: //www.tatmou.com/learn/tutorials/matlab-onramp.html
3评论
乌斯曼Taya”class=
乌斯曼Taya 2020年4月6日
编辑:乌斯曼Taya 2020年4月6日
完整代码。
def 算法 ( objf , , 乌兰巴托 , 昏暗的 , PopSize , iter ):
#算法参数
昏暗的= 2
iter = 200
Vmax = 6
PopSize = 50 #人口规模
wMax = 0.9
wMin = 0.2
c1 = 2
c2 = 2
-10磅= (-10)
乌兰巴托= 10 [10]
年代 = 解决方案 ()
韦尔 = numpy 0 (( PopSize , 昏暗的 ))
pBestScore = numpy 0 ( PopSize )
pBestScore 填满 ( 浮动 ( “正” ))
pb = numpy 0 (( PopSize , 昏暗的 ))
gb = numpy 0 ( 昏暗的 )
gBestScore = 浮动 ( “正” )
pos = numpy 0 (( PopSize , 昏暗的 ))
范围 ( 昏暗的 ):
pos (:, ] = numpy 随机 统一的 ( 0 , 1 , PopSize ) * ( 乌兰巴托 ( ] - - - - - - ( ]) + ( ]
convergence_curve = numpy 0 ( iter )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
打印 ( “PSO优化 \” + objf __name__ + \” )
timerStart = 时间 时间 ()
年代 开始时间 = 时间 strftime ( “Y % - % - % d % H - % - % S” )
l 范围 ( 0 , iter ):
范围 ( 0 , PopSize ):
j 范围 ( 昏暗的 ):
pos ( , j ] = numpy 剪辑 ( pos ( , j ), ( j ), 乌兰巴托 ( j ])
#计算目标函数为每个粒子
健身 = objf ( pos ( :])
如果 ( pBestScore ( ] > 健身 ):
pBestScore ( ] = 健身
pb ( ,: = pos ( ,:]。 复制 ()
如果 ( gBestScore > 健身 ):
gBestScore = 健身
gb = pos ( ,:]。 复制 ()
#更新算法的W
w = wMax - - - - - - l * (( wMax - - - - - - wMin ) / iter );

登录置评。

类别

找到更多的在从MATLAB调用Python帮助中心文件交换

社区寻宝

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

开始狩猎!

翻译的