Matlab到python的转换mslice[]

2024-10-03 02:48:14 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个在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,因此我不熟悉编码语言,非常感谢任何提示)


Tags: 代码com语言http编码链接zeroscf
1条回答
网友
1楼 · 发布于 2024-10-03 02:48:14

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]

相关问题 更多 >