You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Jupyter Notebook单元格中用init_printing打印多矩阵的问题

解决Jupyter Notebook中仅显示最后一个SymPy矩阵的问题

Jupyter Notebook单元格默认只自动输出最后一行表达式的返回结果,你写的Matrix(L)只是创建了矩阵对象,但没触发输出操作,所以只有最后一行的Matrix(b)会被显示。下面是几种可行的解决方法:

方法一:用display()主动输出每个矩阵

借助IPython的display函数,可以逐个渲染并显示矩阵,这是Jupyter里最推荐的方式:

import numpy as np 
from sympy import init_printing, Matrix
from IPython.display import display

# 初始化SymPy的美化打印(必须调用,确保矩阵格式美观)
init_printing()

L = np.array([[1, 0, 0], [2, 1, 0], [-1, 0.5, -1]])
b = np.array([2, 4, 2])

# 分别输出两个矩阵
display(Matrix(L))
display(Matrix(b))

方法二:将矩阵放在同一个容器中返回

把两个矩阵打包成元组或列表,让单元格最后一行返回这个容器,Jupyter会自动依次显示里面的每个矩阵:

import numpy as np 
from sympy import init_printing, Matrix

init_printing()

L = np.array([[1, 0, 0], [2, 1, 0], [-1, 0.5, -1]])
b = np.array([2, 4, 2])

# 用逗号分隔成元组,作为最后一行的返回值
Matrix(L), Matrix(b)

方法三:用pprint()纯文本美化打印

如果不需要富文本渲染,只是要好看的纯文本格式矩阵,可以用SymPy自带的pprint函数:

import numpy as np 
from sympy import init_printing, Matrix, pprint

init_printing()

L = np.array([[1, 0, 0], [2, 1, 0], [-1, 0.5, -1]])
b = np.array([2, 4, 2])

pprint(Matrix(L))
pprint(Matrix(b))

内容的提问来源于stack exchange,提问作者Antropolis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 17:55:56