mathematica怎么解图论

 我来答
本命年本命年44
2017-09-01 · TA获得超过1.7万个赞
知道大有可为答主
回答量:1913
采纳率:50%
帮助的人:189万
展开全部
这里,介绍一下用Mathematica处理数论问题的内容!
工具/原料

电脑
Mathematica
基础

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

3改变边和顶点的样式:
Graph[{1 <-> 2, 2 <-> 3, 3 <-> 1,1 <-> 5}, VertexStyle -> Orange, EdgeStyle -> Green]
Vertex是顶点的意思,Edge是边的意思!
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]}]
5给图的顶点和边添加标签,还可以对标签设置不同的样式!
Graph[{1 <-> 2, 2 <-> 3, Labeled[3 <-> 1, Style[ "这是边的标签",Red,Opacity[0.5]]],1 <-> 5}, VertexStyle -> Yellow, EdgeStyle -> Green,VertexLabels -> "Name"]
Opacity是透明度的意思!
求前100个数字的平方,除以17的余数,并把这个映射画成图!
先做列表:
Table[i -> Mod[i^2, 17], {i, 100}]
再构造图:
Graph[%]

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

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

END
应用二例

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

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

作图,并显示标签:
Graph[%, VertexLabels -> "Name", ImageSize ->365]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式