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)


输出结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43760844/article/details/112394076