如何在numpy中创建包含分数的矩阵

时间:2018-04-05 13:30:56

标签: python numpy matrix

我想制作包含分数的矩阵,比如1/4,作为元素。

我做了以下矩阵:

import numpy as np

alpha = 10
B = np.array([ [0, -0.25, -1/20, alpha/40], [1/(alpha+3), 0, -1/(alpha+3), -(alpha-1)/(alpha+3) ], [ 1/(2*alpha+2), 1/(alpha+1), 0, 1/(10*alpha+10) ], [ -1/2, -9/20, 0, 0 ] ])

print(B)

然而,输出是这样的:

[[ 0.   -0.25 -1.    0.  ]
 [ 0.    0.   -1.   -1.  ]
 [ 0.    0.    0.    0.  ]
 [-1.   -1.    0.    0.  ]]

我的问题是:为了计算和功能,如何将分数保留在矩阵内? 如果它不是变量alpha,我会将值转换为小数。

修改

标记的dublicate线程似乎没有解决这个问题:

这里矩阵中的元素是从头开始手动分配的。而在链接的线程中,元素以等式的形式分配给矩阵。我觉得这让事情变得混乱。

1 个答案:

答案 0 :(得分:0)

显然有些事情做错了。然而,

B = np.array([ [0, -1/4, -1/20, alpha/40], [1/(alpha+3), 0, -1/(alpha+3), -(alpha-1)/(alpha+3) ], [ 1/(2*alpha+2), 1/(alpha+1), 0, 1/(10*alpha+10) ], [ -1/2, -9/20, 0, 0 ] ])
print(B)

现在提供有效输出。