0

以下在 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,所以我不熟悉编码语言,非常感谢任何提示)

4

1 回答 1

1

在python中访问数组是用方括号完成的,即Cf[i,j]迭代你可以像在matlab中那样做,但是从0开始计数而不是1,例如C[0:10,5]。你还需要从 numpy.imports 导入 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]
于 2021-01-07T23:54:15.890 回答