在mathematica中很好地打印出一个矩阵

发布于 2024-10-16 19:34:08 字数 96 浏览 1 评论 0原文

我在mathematica中有一个列表(矩阵)列表。我想很好地打印出来,每行的最大值都以粗体显示。如何做到这一点?

或者更进一步,在这个最大值之外的圆,这可能吗?

I have a list of lists (matrix) in mathematica. I want to print it out nicely, with the max in every row in bold. How to do this?

Or maybe even further, with a circle outside such max, is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千里故人稀 2024-10-23 19:34:08

您可以使用 MatrixForm 很好地打印出矩阵:

data = RandomInteger[100, {5, 5}];

data // MatrixForm

产量

MatrixForm image

您可以在周围画一个圆圈每行的最大值如下:

Map[# /. m : Max[#] :> Framed[m, RoundingRadius -> 1000]  &, data] //
  MatrixForm

产生

matrix with Circles

RoundingRadius ->; 1000 使用一个大得离谱的参数来获取圆圈。您可能需要根据显示器的比例调整常数。

如果您喜欢粗体,可以将 Framed[m...] 更改为 Style[m, Bold]

You can use MatrixForm to print out matrices nicely:

data = RandomInteger[100, {5, 5}];

data // MatrixForm

yields

MatrixForm image

You can draw a circle around the maximum in each row as follows:

Map[# /. m : Max[#] :> Framed[m, RoundingRadius -> 1000]  &, data] //
  MatrixForm

yielding

matrix with circles

RoundingRadius -> 1000 uses a ridiculously large parameter to get circles. You may need to adjust the constant depending upon the scale of your display.

You can change Framed[m...] with Style[m, Bold] if you prefer bolding.

猫七 2024-10-23 19:34:08

网格[ ] 为您提供对显示外观的精细控制。例如:

g[a_] := Grid[a,
  Background -> {None, {{LightBlue, LightRed}}},
  Dividers -> {False, All},
  ItemStyle -> {Automatic, Automatic, 
    MapIndexed[Flatten@{#2, Ordering[#1, -1]} -> {Bold, Red} &, a]}]

g[RandomInteger[100, {10, 7}]]  

在此处输入图像描述

NB>它将仅突出显示每行一个元素

编辑

要突出显示每个最大元素,您可以执行以下操作:

g[a_] := Grid[a,
  Background -> {None, {{LightBlue, LightRed}}},
  Dividers -> {False, All},
  ItemStyle -> {Automatic, Automatic, 
    Flatten[Tuples[{First@#, Last@#}] & /@ 
       MapIndexed[{#2, Position[#1, Max[#1]]} &, a], 
      1] /. {q_, {r_}} -> ({q, r} -> {Red, Bold})}]  

“在此输入图像描述”

Grid[ ] gives you fine grain control on the display appearance. For example:

g[a_] := Grid[a,
  Background -> {None, {{LightBlue, LightRed}}},
  Dividers -> {False, All},
  ItemStyle -> {Automatic, Automatic, 
    MapIndexed[Flatten@{#2, Ordering[#1, -1]} -> {Bold, Red} &, a]}]

g[RandomInteger[100, {10, 7}]]  

enter image description here

NB> It'll highlight only one element per row

Edit

To highlight every max element, you could do for example:

g[a_] := Grid[a,
  Background -> {None, {{LightBlue, LightRed}}},
  Dividers -> {False, All},
  ItemStyle -> {Automatic, Automatic, 
    Flatten[Tuples[{First@#, Last@#}] & /@ 
       MapIndexed[{#2, Position[#1, Max[#1]]} &, a], 
      1] /. {q_, {r_}} -> ({q, r} -> {Red, Bold})}]  

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文