Geogebra 二项统计演示

Geogebra 二项统计演示
几何画板及绘图内容加载中,请稍等……
2012-10-23 20:46
这个 GeoGebra 示例演示了二项分布和超几何分布下的抽样过程,通过动画抛掷物体生成统计结果,并用直方图展示频率分布。核心数学概念包括概率统计、二项式系数、超几何分布、组合数学以及几何图形的周长与椭圆参数。构造使用了 GeoGebra 的 Element、Sequence、If、Take、Frequency、Mod、Sum、Circle、Histogram、Segment、Vector 等命令,以及 SuccessDenoms、ProbabilitySuccess 等对象,实现动态模拟和图形化展示。此示例适合高中或大学一年级学生使用,适用于概率统计课程、实验教学以及数据可视化实践。

GeoGebra 命令及参数

  1. Element(SuccessDenoms, ProbabilitySuccess) → ProbSuccessFailDenom
  2. Element(SuccessNums, ProbabilitySuccess) → ProbSuccessNum
  3. Sequence(100 * Mod[i - 1, Trials] + Trials * Div[i - 1, Trials] + 1, i, 1, Trials * 100) → SumStarts
  4. Sequence(m, m, S_x - Trials / 2 - 0.5, S_x + Trials / 2 + 0.5) → ClassBoundaries
  5. Sequence(S_x - Sum[Take[OneHundredDrops, Element[SumStarts, m], Element[SumStarts, m] + Trials - 1]], m, 1, 100) → SumsInOrder
  6. If(Animate100 < Trials - 0.25, 0, Animate100 - Trials) → FinishedCount
  7. Take(SumsInOrder, 1, FinishedCount) → Results
  8. Frequency(ClassBoundaries, Results) → Outcomes
  9. If(floor(Animate100) ≟ Animate100, 0, 0.03) → BounceFactor
  10. Mod(Animate100 - 1, Trials) → Ball_1Vert
  11. Sum(Take[OneHundredDrops, Div[Animate100 - 1, Trials] * Trials + 1, Animate100]) → Ball_1Count
  12. If(BallDrop ≟ 0, 0, Sum[Take[OneHundredDrops, Element[SumStarts, WhichBallOf100], Element[SumStarts, WhichBallOf100] + BallDrop - 1]]) → PickOneBallCount
  13. Sequence(Sequence[(S_x + i - 0.5 * j, S_y - j), i, 0, j], j, 1, Trials + 1) → matrix
  14. Circle(PickOneBallPt, 0.4) → PickOneBall
  15. Circle(PickOneBallPt, 0.4) → c_2
  16. Sum(Outcomes) → TotalOutcomes
  17. Circle(Ball_1, 0.4) → Ping_1
  18. Sum(Take[OneHundredDrops, Ball_2Start, Ball_2End]) → Ball_2Count
  19. Mod(Ball_1Vert - 1, Trials) → Ball_2Vert
  20. Circle(Ball_2, 0.4) → Ping_2
  21. Mod(Ball_1Vert - 2, Trials) → Ball_3Vert
  22. Sum(Take[OneHundredDrops, Ball_3Start, Ball_3End]) → Ball_3Count
  23. Circle(Ball_3, 0.4) → Ping_3
  24. Take(OneHundredDrops, 201, 300) → Check
  25. Sum(Take[OneHundredDrops, Ball_4Start, Ball_4End]) → Ball_4Count
  26. Mod(Ball_1Vert - 3, Trials) → Ball_4Vert
  27. Circle(Ball_4, 0.4) → Ping_4
  28. Sum(Take[OneHundredDrops, Ball_5Start, Ball_5End]) → Ball_5Count
  29. Mod(Ball_1Vert - 4, Trials) → Ball_5Vert
  30. Circle(Ball_5, 0.4) → Ping_5
  31. Mod(Ball_1Vert - 5, Trials) → Ball_6Vert
  32. Sum(Take[OneHundredDrops, Ball_6Start, Ball_6End]) → Ball_6Count
  33. Circle(Ball_6, 0.4) → Ping_6
  34. Mod(Ball_1Vert - 6, Trials) → Ball_7Vert
  35. Sum(Take[OneHundredDrops, Ball_7Start, Ball_7End]) → Ball_7Count
  36. Circle(Ball_7, 0.4) → Ping_7
  37. Mod(2.5, 1) → Try3
  38. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_1Start
  39. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_3Start
  40. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_2Start
  41. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_4Start
  42. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_5Start
  43. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_6Start
  44. Sequence(Segment[(Element[ClassBoundaries, i], 0), (Element[ClassBoundaries, i], S_y - Trials - 1.5)], i, 1, Trials + 2) → Slots
  45. Element(Outcomes, IndexOf[floor(Element[SumsInOrder, Animate100 - Trials]), CeilClassBounds]) → Vector_y
  46. Element(SumsInOrder, Animate100 - Trials) → Vector_x
  47. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_7Start
  48. Element(Outcomes, IndexOf[ceil(Element[SumsInOrder, ceil(Animate100 - Trials)]), ceil(ClassBoundaries)]) → V_y1
  49. Sum(Take[OneHundredDrops, Ball_8Start, Ball_8End]) → Ball_8Count
  50. Mod(Ball_1Vert - 7, Trials) → Ball_8Vert
  51. Circle(Ball_8, 0.4) → Ping_8
  52. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_8Start
  53. Mod(Ball_1Vert - 8, Trials) → Ball_9Vert
  54. Sum(Take[OneHundredDrops, Ball_9Start, Ball_9End]) → Ball_9Count
  55. Circle(Ball_9, 0.4) → Ping_9
  56. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_9Start
  57. Mod(Ball_1Vert - 9, Trials) → Ball_0Vert
  58. Sum(Take[OneHundredDrops, Ball_0Start, Ball_0End]) → Ball_0Count
  59. Circle(Ball_0, 0.4) → Ping_0
  60. Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_0Start
  61. Element(FailNums, ProbabilitySuccess) → ProbFailNum
  62. Sequence(Sequence[(S_x + i - 0.5 * j, S_y - j), i, 0, j], j, 1, Trials + 1) → matrix2
  63. Sequence(Segment[(Element[ClassBoundaries, i], 0), (Element[ClassBoundaries, i], -0.25)], i, 1, Trials + 2) → Histoxtics
  64. Sequence(Text[LaTeX[i - 1], (Element[ClassBoundaries, i] - 0.1, -0.7)], i, 1, Trials + 2) → list1
  65. Sequence(Trials / 2 - Sum[Take[OneHundredDrops, Element[SumStarts, m], Element[SumStarts, m] + Trials - 1]], m, 1, 100) → SumsAsOutcomes
  66. Element(SumStarts, B) → TraceStart
  67. Sum(Take[OneHundredDrops, 1, 1 + TraceStart]) → Trace_A
  68. Histogram(false, ClassBoundaries, Results, true, 0.2) → GrowHisto
  69. If(Mod[Animate100, 1] ≟ 0.5 ∨ Mod[Animate100, 1] ≟ 0.5, Vector[(Vector_x, S_y - Trials - 2), (Vector_x, (Vector_y * 0.2 + S_y - Trials - 2) / 2)]) → u_2
  70. Sequence(i, i, 0, Trials) → AllOutcomes
  71. Element(Frequency[AllOutcomes, Take[SumsAsOutcomes, 1, B]], NumberOfSuccesses + 1) → B3
  72. If(TraceShow ∧ (¬TracesHide), Sequence[Segment[(S_x - 0.4 + 0.8 / B2 * B3 - Sum[Take[OneHundredDrops, TraceStart, TraceStart + i]], S_y - i - 2), (S_x - 0.4 + 0.8 / B2 * B3 - Sum[Take[OneHundredDrops, TraceStart, TraceStart + i + 1]], S_y - i - 3)], i, 0, Trials - 2]) → Trace
  73. If(TraceShow ∧ (¬TracesHide), Segment[(S_x, S_y - 1), (S_x - 0.4 + 0.8 / B2 * B3 - Sum[Take[OneHundredDrops, TraceStart, TraceStart]], S_y - 2)]) → Trace2
  74. Sequence(Segment[(Element[ClassBoundaries, 1] - 0.3, i * 0.2), (Element[ClassBoundaries, 1], i * 0.2)], i, 0, maxverticalscale, 5) → verticaltics
  75. Segment((Element[ClassBoundaries, 1], 0), (Element[ClassBoundaries, 1], (maxverticalscale + 2) * 0.2)) → yaxis
  76. Sequence(Text[LaTeX[Element[Outcomes, i]], (Element[ClassBoundaries, i] + 0.3, Element[Outcomes, i] * 0.2 + 0.1)], i, 1, Trials + 1) → LabelHistoOutcomes
  77. Sequence(Text[LaTeX[i], (Element[ClassBoundaries, 1] - 0.9, i * 0.2 - 0.1)], i, 0, maxverticalscale, 5) → VerticalScale
  78. If(Mod[Animate100, 1] ≟ 0.75 ∨ Mod[Animate100, 1] ≟ 0.75, Vector[(Vector_x, (S_y - Trials - 2 + Vector_y * 0.2) / 2.05), (Vector_x, Vector_y * 0.23)]) → u_1
  79. Vector(ExPoint, ExPoint2) → u
  80. Segment(ExPoint3, ExPoint) → a

AI 绘图提示语参考

展示一个动画球掉落实验,模拟二项分布和超几何分布的抽样过程,记录成功与失败次数。用柱状图显示抽样结果的频率分布,并用不同颜色的圆圈表示每次实验中成功掉落的球的位置,动态展示概率理论、组合数学和几何性质。
以上提示语为根据原始绘图命令整理而来,仅供参考。