欢迎光临散文网 会员登陆 & 注册

S4E19 概率实验难演示?(下)

2022-03-03 14:03 作者:学用数学  | 我要投稿

在先前 S4E05概率实验难演示?不存在的! 这文章中,介绍了随机转盘的制作方式,在这篇文章将来演示如何取得转盘的结果,并绘制些统计图表来显示结果。


你将学会

1. 如何用脚本记录实验结果?

2. 如何使用表格文字?

3. 如何将统计结果绘制成图表?

4. 如何用滑动杆调整坐标轴的显示。

提醒:本节前需要接续前一节 S4E05概率实验难演示?(上)


4 累计统计结果


问:我希望可统计每次的结果,那我需要什么?

答:需要一个变数来记录每个颜色出现的次数。

在此用 nums={0,0,0,0,0,0} 来记录。

问:那这个记录如何被更新呢?

答:每次按【转】这按钮时,需要触发更新的操作。

问:那该如何更新呢?

答:每次新的结果记录在变数 new={0,0,0,0,0,0} 中,其中 new 只会在这次的结果所对应的位置出现 1 ,接着再将 new 的结果更新到 nums 内。

将 转动 的【按钮】加入以下脚本:

new = Sequence(If(k==resIndex,1,0),k,1,6) #Sequence 序列

SetValue(nums, nums+new)  #SetValue 赋值

问:当执行多次后,nums 的记录越多,如何重新开始呢?

答:需要用一个按钮来,触发记录归0的设定。

新增【按钮】标题为{重置}。脚本如下:

nums = {0,0,0,0,0,0}

问:除了计算次数外,如何一并计算出现频率?

答:先取得 nums 的总次数,再用序列分别计算每个颜色出现的频率。

输入以下 snums 记录总次数,再用 freqs 计算频率。

snums = max(sum(nums),1)

freqs = Sequence(nums(k)/snums, k, 1,6) #Sequence 序列

5. 显示统计结果

问:如何显示长条图?

答:利用 BarChart 即可。

BarChart 指令的三个参数分别为 x 坐标,y坐标与宽度

BarChart({1,2,3,4,5,6},nums,0.8) #BarChart 条形图

问:这 {1,2,3,4,5,6} 是指什么

答:每一栏的 x 坐标


问:0.8 又是指什么?

答:宽度


问:那统计的数字如何显示呢?

答:利用 TableText可将多个list 以表格方式呈现,输入以下指令:

TableText(names,nums,freqs) #TableText 表格文本

问:如何加入标题?

答:先用 Append 再每一列加入标题文字,指令如下:

tnames = Append("颜色", names)

tnums = Append("次数", nums)

tfreqs = Append("频率", freqs) #Append 追加

TableText(tnames,tnums,tfreqs) #TableText 表格文本

问:如何对齐表格与条形图的位置?

答:利用 zoomin 来微调。

6. 优化显示统计


问:当长条图超出画面可以如何调整。

答:利用一个滑动条,来设定缩放比例。

建一个滑动条 yscale,范围从 1 到 4,在脚本中输入以下代码:

SetAxesRatio(1,yscale) #SetAxesRatio 设置坐标轴比例

问:是否可让每个长条图不同颜色。

答:用 barChart 来绘制时,颜色相同。需用 Sequence 来完成,才能各别上色。

输入以下六个指令,来调整六个长条图的显示。

C1s = Sequence(Circle((1,k-0.5),0.5),k,1,nums(1)) #Sequence 序列

C2s = Sequence(Circle((2,k-0.5),0.5),k,1,nums(2))

C3s = Sequence(Circle((3,k-0.5),0.5),k,1,nums(3))

C4s = Sequence(Circle((4,k-0.5),0.5),k,1,nums(4))

C5s = Sequence(Circle((5,k-0.5),0.5),k,1,nums(5))

C6s = Sequence(Circle((6,k-0.5),0.5),k,1,nums(6))

问:上面指令中的 Circle((6,k-0.5),0.5) 为何这样写呢?

答:Circle 表示圆, 第一个参数表示圆心,第二个参数表示半径 0.5。


问:在最后的 k,1,nums(1) 的作用是什么呢?

答:因为第i 个 circle 的 y 坐标为 k-0.5,k 要控制每个颜色要绘制的圆圈数。从第 1 个到 第 nums(i) 个。这个 nums(i) 就记录第 i 个颜色出现的次数。

小结

这次教学主要展示数据的记录与显示。在问题拆解的主要结构为:

1. 要记录哪些资料:每个颜色出现的次数

2. 何时触发记录:按下按钮时同时记录

3. 如何呈现资料:条形图、表格

在其他问题也可依照这个问题拆解方法,也期待你用这方法来实作其他记录模拟问题:产生随机性、作记录、展示资料。

参考资料

【Bili】https://www.bilibili.com/video/av75148091?p=5

【Youtube】https://www.youtube.com/playlist?list=PLXH05kw-i_5IRktOSc1CPN7UzdWNY8VzR



S4E19 概率实验难演示?(下)的评论 (共 条)

分享到微博请遵守国家法律