矩阵输出格式 - 如何在矩阵输出前面添加科学记数法作为矩阵乘数

Matrix output formatting - how to add scientific notation as a matrix multiplier in front of matrix output

提问人:universitystudent218 提问时间:8/22/2023 最后编辑:Spektreuniversitystudent218 更新时间:8/22/2023 访问量:27

问:

理想输出的屏幕截图:

SCREENSHOT OF IDEAL OUTPUT

我目前正在制作向量和矩阵,并希望格式化它们,以便打印的矩阵在每个矩阵元素中的小数点前仅显示一位数字(例如 x.2、x.8 而不是 xyz.2 或 xyz.8)。下面的 Jupyter 代码显示了它们当前的格式,屏幕截图(上面的链接)显示了我希望代码的格式。因此,我想自动放置一个科学记数法矩阵乘数(例如 1 x 10^x...或者用 Python 术语“1ex”)在输出矩阵的前面。如果可能的话,我希望在代码的开头设置此设置,以便它可以应用于 x 数量的矩阵,而无需调用实现此目的的函数。非常感谢。

JUPYTER 代码输出:

[[  888888.8888889        0.         1333333.3333333        0.               0.               0.       ]
 [       0.        33333333.3333333        0.               0.               0.               0.       ]
 [ 1333333.3333333        0.         2666666.6666667        0.               0.               0.       ]
 [       0.               0.               0.               0.               0.               0.       ]
 [       0.               0.               0.               0.               0.               0.       ]
 [       0.               0.               0.               0.               0.               0.       ]]

我尝试在np.set_printoptions下的 Jupyter 笔记本开始时设置格式选项

数学 矩阵 向量 科学记数法

评论

0赞 Mike 'Pomax' Kamermans 8/22/2023
请记住正确格式化您的帖子
0赞 duffymo 8/22/2023
将 LaTeX 添加到您的笔记本中,并使用它来格式化数据。可能难以一概而论。你的“理想”只适合小母科生。
0赞 Robert Dodier 8/22/2023
有趣的想法,我知道 Matlab 前端将应用这种启发式方法。至于如何在 Jupyter 中获得这种效果,我的建议是在特定于 Jupyter 的论坛上提问(我不知道那可能是什么)。另外,我认为你需要说出你正在使用的语言(Python、R 等)。
0赞 Spektre 8/22/2023
找到然后计算乘数为 并简单地将矩阵除以并打印元素,而无需像 C++ 格式样式那样使用科学记数法......x = max(abs(matrix elements));mmexp = ceil(log10(x)); m=10^mexp;m%.4lf

答: 暂无答案