养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Mathematica基础——处理简单的图论问题

时间:2024-10-25 21:14:50

这里,介绍一下用Mathematica处理数论问题的内容!

Mathematica基础——处理简单的图论问题

工具/原料

电脑

Mathematica

基础

1、绘制一个没有明确方向的图:Graph[{1<->2,2<->3,3<->1}]图里的顶点分别是3,但是省略了标签!

Mathematica基础——处理简单的图论问题

2、再来绘制一个有向图:Graph[{1->2,2->3,3->1}]

Mathematica基础——处理简单的图论问题

3、改变边和顶点的样式:Graph[{1<->2,2<->3,3<->1,1<->5},VertexStyle->Orange,EdgeStyle->Green]Vertex是顶点的意思,Edge是边的意思!

Mathematica基础——处理简单的图论问题

4、还可以把样式封装起来:Graph[{1,2,Style[3,Red],Style[6,Green],Style[5,Blue]},{2<->3,Style[3<->1,Blue],Style[5<->1,Yellow],Style[6<->2,Red],Style[2<->1,Green]}]

Mathematica基础——处理简单的图论问题

5、给图的顶点和边添加标签,还可以对标签设置不同的样式!Graph[{1<->2,2<->3,Labeled[3<->1,Style["这是边的标签",Red,Opacity[0.5]]],1<->5},VertexStyle->Yellow,EdgeStyle->Green,VertexLabels->"Name"]Opacity是透明度的意思!

Mathematica基础——处理简单的图论问题

应用一例

1、求前100个数字的平方,除以17的余数,并把这个映射画成图!先做列表:Table[i->Mod[i^2,17],{i,100}]再构造图:Graph[%]

Mathematica基础——处理简单的图论问题

Mathematica基础——处理简单的图论问题

2、这是换了一个除数的结果:Graph[Table[i->Mod[i^2,69],{i,100}]]

Mathematica基础——处理简单的图论问题

3、我们可以给出各顶点的标签,这样看着容易一些:Graph[Table[i->Mod[i^2,69],{i,100}],VertexLabels->"Name"]

Mathematica基础——处理简单的图论问题

应用二例

1、列举以plot开头的所有英文单词:words=DictionaryLookup["plot*"]

Mathematica基础——处理简单的图论问题

2、把相互之间比较接近的单词,用箭头连起来:Flatten[Map[(Thread[#\[DirectedEdge]DeleteCases[Nearest[words,#,3],#]])&,words]]

Mathematica基础——处理简单的图论问题

3、作图,并显示标签:Graph[%,VertexLabels->"Name",ImageSize->365]

Mathematica基础——处理简单的图论问题

© 一点知识