Geogebra 二项统计演示
几何画板及绘图内容加载中,请稍等……
这个 GeoGebra 示例演示了二项分布和超几何分布下的抽样过程,通过动画抛掷物体生成统计结果,并用直方图展示频率分布。核心数学概念包括概率统计、二项式系数、超几何分布、组合数学以及几何图形的周长与椭圆参数。构造使用了 GeoGebra 的 Element、Sequence、If、Take、Frequency、Mod、Sum、Circle、Histogram、Segment、Vector 等命令,以及 SuccessDenoms、ProbabilitySuccess 等对象,实现动态模拟和图形化展示。此示例适合高中或大学一年级学生使用,适用于概率统计课程、实验教学以及数据可视化实践。
GeoGebra 命令及参数
Element(SuccessDenoms, ProbabilitySuccess) → ProbSuccessFailDenomElement(SuccessNums, ProbabilitySuccess) → ProbSuccessNumSequence(100 * Mod[i - 1, Trials] + Trials * Div[i - 1, Trials] + 1, i, 1, Trials * 100) → SumStartsSequence(m, m, S_x - Trials / 2 - 0.5, S_x + Trials / 2 + 0.5) → ClassBoundariesSequence(S_x - Sum[Take[OneHundredDrops, Element[SumStarts, m], Element[SumStarts, m] + Trials - 1]], m, 1, 100) → SumsInOrderIf(Animate100 < Trials - 0.25, 0, Animate100 - Trials) → FinishedCountTake(SumsInOrder, 1, FinishedCount) → ResultsFrequency(ClassBoundaries, Results) → OutcomesIf(floor(Animate100) ≟ Animate100, 0, 0.03) → BounceFactorMod(Animate100 - 1, Trials) → Ball_1VertSum(Take[OneHundredDrops, Div[Animate100 - 1, Trials] * Trials + 1, Animate100]) → Ball_1CountIf(BallDrop ≟ 0, 0, Sum[Take[OneHundredDrops, Element[SumStarts, WhichBallOf100], Element[SumStarts, WhichBallOf100] + BallDrop - 1]]) → PickOneBallCountSequence(Sequence[(S_x + i - 0.5 * j, S_y - j), i, 0, j], j, 1, Trials + 1) → matrixCircle(PickOneBallPt, 0.4) → PickOneBallCircle(PickOneBallPt, 0.4) → c_2Sum(Outcomes) → TotalOutcomesCircle(Ball_1, 0.4) → Ping_1Sum(Take[OneHundredDrops, Ball_2Start, Ball_2End]) → Ball_2CountMod(Ball_1Vert - 1, Trials) → Ball_2VertCircle(Ball_2, 0.4) → Ping_2Mod(Ball_1Vert - 2, Trials) → Ball_3VertSum(Take[OneHundredDrops, Ball_3Start, Ball_3End]) → Ball_3CountCircle(Ball_3, 0.4) → Ping_3Take(OneHundredDrops, 201, 300) → CheckSum(Take[OneHundredDrops, Ball_4Start, Ball_4End]) → Ball_4CountMod(Ball_1Vert - 3, Trials) → Ball_4VertCircle(Ball_4, 0.4) → Ping_4Sum(Take[OneHundredDrops, Ball_5Start, Ball_5End]) → Ball_5CountMod(Ball_1Vert - 4, Trials) → Ball_5VertCircle(Ball_5, 0.4) → Ping_5Mod(Ball_1Vert - 5, Trials) → Ball_6VertSum(Take[OneHundredDrops, Ball_6Start, Ball_6End]) → Ball_6CountCircle(Ball_6, 0.4) → Ping_6Mod(Ball_1Vert - 6, Trials) → Ball_7VertSum(Take[OneHundredDrops, Ball_7Start, Ball_7End]) → Ball_7CountCircle(Ball_7, 0.4) → Ping_7Mod(2.5, 1) → Try3Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_1StartCircle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_3StartCircle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_2StartCircle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_4StartCircle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_5StartCircle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_6StartSequence(Segment[(Element[ClassBoundaries, i], 0), (Element[ClassBoundaries, i], S_y - Trials - 1.5)], i, 1, Trials + 2) → SlotsElement(Outcomes, IndexOf[floor(Element[SumsInOrder, Animate100 - Trials]), CeilClassBounds]) → Vector_yElement(SumsInOrder, Animate100 - Trials) → Vector_xCircle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_7StartElement(Outcomes, IndexOf[ceil(Element[SumsInOrder, ceil(Animate100 - Trials)]), ceil(ClassBoundaries)]) → V_y1Sum(Take[OneHundredDrops, Ball_8Start, Ball_8End]) → Ball_8CountMod(Ball_1Vert - 7, Trials) → Ball_8VertCircle(Ball_8, 0.4) → Ping_8Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_8StartMod(Ball_1Vert - 8, Trials) → Ball_9VertSum(Take[OneHundredDrops, Ball_9Start, Ball_9End]) → Ball_9CountCircle(Ball_9, 0.4) → Ping_9Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_9StartMod(Ball_1Vert - 9, Trials) → Ball_0VertSum(Take[OneHundredDrops, Ball_0Start, Ball_0End]) → Ball_0CountCircle(Ball_0, 0.4) → Ping_0Circle((S_x, S_y - 1 - Mod[Animate100, 1]), 0.4) → Ping_0StartElement(FailNums, ProbabilitySuccess) → ProbFailNumSequence(Sequence[(S_x + i - 0.5 * j, S_y - j), i, 0, j], j, 1, Trials + 1) → matrix2Sequence(Segment[(Element[ClassBoundaries, i], 0), (Element[ClassBoundaries, i], -0.25)], i, 1, Trials + 2) → HistoxticsSequence(Text[LaTeX[i - 1], (Element[ClassBoundaries, i] - 0.1, -0.7)], i, 1, Trials + 2) → list1Sequence(Trials / 2 - Sum[Take[OneHundredDrops, Element[SumStarts, m], Element[SumStarts, m] + Trials - 1]], m, 1, 100) → SumsAsOutcomesElement(SumStarts, B) → TraceStartSum(Take[OneHundredDrops, 1, 1 + TraceStart]) → Trace_AHistogram(false, ClassBoundaries, Results, true, 0.2) → GrowHistoIf(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_2Sequence(i, i, 0, Trials) → AllOutcomesElement(Frequency[AllOutcomes, Take[SumsAsOutcomes, 1, B]], NumberOfSuccesses + 1) → B3If(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]) → TraceIf(TraceShow ∧ (¬TracesHide), Segment[(S_x, S_y - 1), (S_x - 0.4 + 0.8 / B2 * B3 - Sum[Take[OneHundredDrops, TraceStart, TraceStart]], S_y - 2)]) → Trace2Sequence(Segment[(Element[ClassBoundaries, 1] - 0.3, i * 0.2), (Element[ClassBoundaries, 1], i * 0.2)], i, 0, maxverticalscale, 5) → verticalticsSegment((Element[ClassBoundaries, 1], 0), (Element[ClassBoundaries, 1], (maxverticalscale + 2) * 0.2)) → yaxisSequence(Text[LaTeX[Element[Outcomes, i]], (Element[ClassBoundaries, i] + 0.3, Element[Outcomes, i] * 0.2 + 0.1)], i, 1, Trials + 1) → LabelHistoOutcomesSequence(Text[LaTeX[i], (Element[ClassBoundaries, 1] - 0.9, i * 0.2 - 0.1)], i, 0, maxverticalscale, 5) → VerticalScaleIf(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_1Vector(ExPoint, ExPoint2) → uSegment(ExPoint3, ExPoint) → a
AI 绘图提示语参考
展示一个动画球掉落实验,模拟二项分布和超几何分布的抽样过程,记录成功与失败次数。用柱状图显示抽样结果的频率分布,并用不同颜色的圆圈表示每次实验中成功掉落的球的位置,动态展示概率理论、组合数学和几何性质。
以上提示语为根据原始绘图命令整理而来,仅供参考。