【发布时间】:2015-04-11 14:46:43
【问题描述】:
我正在将我的代码从 Python 翻译成 Mathematica。我正在尝试定义一个矩阵,其值取决于用户选择的变量kappa。
在 Python 中,代码如下所示:
def getA(kappa):
matrix = zeros((n, n), float)
for i in range(n):
for j in range(n):
matrix[i][j] = 2*math.cos((2*math.pi/n)*(abs(j-i))*kappa)
n = 5
return matrix
到目前为止,我在 Mathematica 中所做的是以下代码:
n = 5
getA[kappa_] :=
A = Table[0.0, {n}, {n}];
For[i = 0, i < n, i++,
For[ j = 0, j < n, j++,
A[[i, j]] = 2*Cos[(2*pi/n)*(abs (j - i))*kappa]]];
b = getA[3]
但是当我尝试评估这个矩阵的值 kappa 等于 3 时,我收到以下错误:
Set::partd: "Part specification A[[i,j]] is longer than depth of object.
我该如何解决?
【问题讨论】:
标签: python matrix wolfram-mathematica