24小时热门版块排行榜    

查看: 2674  |  回复: 33
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

[交流] 运行这段代码到出图片,你的电脑用了多久? 已有14人参与

测试一下Mathematica的效率:
CODE:
ClearAll["Global`*"];
t0 = AbsoluteTime[];
list = {{0, 0}};
last = {{0}, {0}};
GetNextPoint[pt_] := Module[{r,
   t1 = {{0.83, 0.03}, {-0.03, 0.86}}, p1 = {0, 1.5},
   t2 = {{0.2, -0.25}, {0.21, 0.23}}, p2 = {0, 1.5},
   t3 = {{-0.15, 0.27}, {0.25, 0.26}}, p3 = {0, 0.45},
   t4 = {{0, 0}, {0, 0.17}}, p4 = {0, 0}},
  r = Random[];
  If[r <= 0.85, t1.pt + p1,
   If[r <= 0.91, t2.pt + p2, If[r <= 0.99, t3.pt + p3, t4.pt + p4]]]]
For[i = 0, i < 100000, i++, last = GetNextPoint[last];
list = Append[list, First[Transpose[last]]];]
h = ListPlot[list, PlotStyle -> {PointSize[0.002], Red},
   Axes -> False];
range = First /@ Differences /@ (PlotRange /. Options[h]);
Show[h, AspectRatio -> Last@range/First@range]
Print[AbsoluteTime[] - t0]

回复此楼
ส็็็็็็็็็็็็็็็็็็็็
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chyanog

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
32楼: Originally posted by Mr__Right at 2014-10-16 20:20:46
当然...

晕,我多打了个算字!
要推荐的书我也不知道说哪个比较好,主要是我还没有认真系统地看过某一本。大概说下吧,一般国外的书比国内的好些(其实我英语很糟,凑合着看的),国内的几乎都是作为一个高级计算器来讲的,对于编程方面讲的很浅。我觉得在 mathematica.stackexchange.com可以学到不少东西,有什么不懂的地方都可以去提问,上面牛人很多
先推荐两本
MathProgrammingIntro(Mathematica programming an advanced introduction)
mathematica cookbook
33楼2014-10-16 21:04:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 34 个回答

mshwangg

至尊木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
运行这段代码到出图片,你的电脑用了多久?
牛人啊,树叶挺漂亮
还可以画别的吗?分享下
2楼2014-09-15 23:08:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
21.0682050
mshwangg 的机器是AMD的cpu?
3楼2014-09-17 08:43:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzs510

铜虫 (初入文坛)



小木虫: 金币+0.5, 给个红包,谢谢回帖
ClearAll["Global`*"];
t0 = AbsoluteTime[];
list = {{0, 0}};
last = {{0}, {0}};
GetNextPoint[pt_] := Module[{r,
   t1 = {{0.83, 0.03}, {-0.03, 0.86}}, p1 = {0, 1.5},
   t2 = {{0.2, -0.25}, {0.21, 0.23}}, p2 = {0, 1.5},
   t3 = {{-0.15, 0.27}, {0.25, 0.26}}, p3 = {0, 0.45},
   t4 = {{0, 0}, {0, 0.17}}, p4 = {0, 0}},
  r = Random[];
  If[r <= 0.85, t1.pt + p1,
   If[r <= 0.91, t2.pt + p2, If[r <= 0.99, t3.pt + p3, t4.pt + p4]]]]
For[i = 0, i < 100000, i++, last = GetNextPoint[last];
list = Append[list, First[Transpose[last]]];]
h = ListPlot[list, PlotStyle -> {PointSize[0.002], Red},
   Axes -> False];
range = First /@ Differences /@ (PlotRange /. Options[h]);
Show[h, AspectRatio -> Last@range/First@range]
Print[AbsoluteTime[] - t0]
4楼2014-09-17 10:31:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见