当前位置:首页 >> 脚本专栏

python用分数表示矩阵的方法实例

前言

在机器学习中,我们会经常和矩阵打交道。在矩阵的运算中,python默认的输出是浮点数,但是如果我们想要矩阵的元素以分数的形式显示,可以通过添加一行代码来实现。

1、函数及参数解释

set_printoptions()——控制输出方式

formatter——通用格式化输出

Fraction(x).limit_denominator(y)——返回一个分母不大于y且最接近x的分数

2、代码实现

from fractions import Fraction
import numpy as np
#设置矩阵元素输出用分数表示
np.set_printoptions(formatter={'all':lambda x: str(Fraction(x).limit_denominator())})

a = np.array([[0.8,-0.1,-0.2],[-0.5,0.5,-0.4],[-0.1,-0.3,0.8]])
print("分数形式显示原矩阵:")
print(a)

b = np.linalg.inv(a) #求逆矩阵
print("分数形式显示逆矩阵:")
print(b)


输出结果

python用分数表示矩阵的方法实例

总结