Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab到python的转换mslice[]_Python_Matlab - Fatal编程技术网

Matlab到python的转换mslice[]

Matlab到python的转换mslice[],python,matlab,Python,Matlab,下面是一个在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:它输出以下结果: Cf = zeros(17, 17) Cf = C Cf(mslice[1:16], 17).lvalue = C(mslice[1:16], 16); print Cf Cf(17,

下面是一个在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:它输出以下结果:

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函数

我猜你想做的事情会变成

将numpy导入为np
Cf=np.零([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]

什么是
C
?为什么要先将C复制到整个Cf,然后只复制其中的一部分?