以下内容用于Matlab代码。
Cf=zeros(17,17);
Cf=C; Cf(1:16,17)=C(1:16,16); Cf(17,1:16)=C(16,1:16); Cf(17,17)=C(16,16);
我想把上面的代码翻译成python编码语言。因此,我从以下链接使用OMPC:http://ompclib.appspot.com/m2py并输出以下结果:
Cf = zeros(17, 17)
Cf = C
Cf(mslice[1:16], 17).lvalue = C(mslice[1:16], 16); print Cf
Cf(17, mslice[1:16]).lvalue = C(16, mslice[1:16])
Cf(17, 17).lvalue = C(16, 16)
我的问题是我不熟悉mslice[]或它的用途。我从未在python中见过这种情况,python给了我一个无效的语法错误。我知道OMPC有点过时了,所以有人能告诉我如何将上面粘贴的Matlab代码部分翻译成python语言吗?(我从未使用过Matlab,所以我不熟悉编码语言,任何提示都非常感谢(
在python中访问数组是用方括号(即Cf[i,j]
(完成的,要进行迭代,可以用与matlab中相同的方式进行,但从0开始计数,而不是从1开始计数,例如C[0:10,5]
。您还需要从numpy导入zeros函数。
我想你想做的就是
import numpy as np
Cf = np.zeros([17,17])
Cf = C
Cf[0:15,16]=C[0:15,15]
Cf[16,0:15]=C[15,0:15]
Cf[16,16]=C[15,15]