如何在python 2.7中定义一个float矩阵

时间:2018-08-03 10:52:29

标签: python-2.7 numpy matrix

我正在尝试使用python 2.7中的以下代码定义浮点矩阵:

import numpy as np
A=np.array([[1/16,1/8,1/16],[1/8,1/4,1/8]])
print A

结果矩阵是底值矩阵(int值矩阵):

[[0 0 0]
[0 0 0]]

如何将其固定到浮动martix?

谢谢:)

2 个答案:

答案 0 :(得分:1)

表达式1/16是一个整数表达式。将整数1除以整数16,得到整数0

请改用浮点值,例如1.0 / 16.0

答案 1 :(得分:0)

正如某位编程人员所指出的那样,错误在于您对矩阵的定义:Python <3执行整数除法,因此numpy正确地假设数据类型为int并创建一个int数组。

除了通过将1/16替换为1./16.来解决此问题之外,您还可以始终强制numpy使用某种数据类型:

A = np.array([0, 1, True], dtype=float)