📐 第 10 课 · 数学建模

设计你的教学关卡

🎉 3️⃣一课!用函数知识设计一个完整的关卡——从游戏元素到数学函数,体验数学建模的全过程

🎮 互动教学 ⏱ 约 15 分钟 📐 人教版必修第一册 · 综合实践

🎯 本课学习目标

1
🎮 放置元素,观察对应的函数
👆 点击画布放置元素 →
1
2
3
4
5

🎮 放置元素,观察对应的函数

在画布上放置不同的游戏元素,系统会自动生成对应的数学函数。这就是数学建模的核心:从现实问题到数学模型

元素数: 0 函数: -
💡 小提示

选择一种元素类型后,在画布上👆 点击也就是可放置。尝试组合不同的元素,看看你的关卡设计!

元素数量
0
函数类型
-
当前
建模✅ 完成度
0%
进度

📊 设计记录

元素类型函数表达式

📈 函数图像

🎯 操作说明:选择一种元素类型后,在画布上👆 点击也就是可放置。每种元素对应一种函数类型。尝试组合不同的元素,看看你的关卡设计!
2
📖 什么是数学建模?

🔍 从游戏中「抽象」

刚才的关卡设计游戏中,我们把游戏元素转化为了数学函数。这就是数学建模的核心思想:

游戏中的事实
直线道路 → 匀速运动
↓ 抽象
一次函数 y = kx + b
游戏中的事实
抛物线跳跃 → 重力作用
↓ 抽象
二次函数 y = ax² + bx + c
游戏中的事实
波浪巡逻 → 周期性运动
↓ 抽象
三角函数 y = Asin(ωx+φ)

📖 数学建模的步骤

数学建模是把实际问题转化为数学问题并求解的过程:

📘 建模四步法

① 理解问题:明确要解决什么问题(设计一个有趣的关卡)

② 建立模型:用数学语言描述问题(选择合适的函数类型)

③ 求解模型:用数学方法求解(确定函数参数)

④ 验证模型:检验结果是否符合实际(关卡是否可玩)

💡 一句话理解

数学建模就是「翻译」——把现实世界的语言翻译成数学语言,求解后再翻译回去。

🧩 常见数学模型

① 一次函数模型
匀速运动、线性增长
y = kx + b
② 二次函数模型
抛物线运动、面积最值
y = ax² + bx + c
③ 指数/对数模型
爆炸增长、地震震级
y = aˣ, y = logₐx
选择模型的关键: 看变量的变化特征
均匀变化 → 一次函数 ← 速度恒定
加速变化 → 二次函数 ← 有最值
周期变化 → 三角函数 ← 重复出现

数学建模的意义

数学建模是连接数学与现实的桥梁:

现实问题数学建模数学求解验证解释实际应用

在炸弹人游戏中,数学建模帮助我们: 设计关卡(用函数描述地形)、 优化策略(用函数求最值)、 预测行为(用函数模拟运动)。

3
🔬 函数拟合——从数据到模型
拖动滑块 →

给定一组数据点,调节函数参数使曲线最好地「拟合」数据。这就是数学建模的核心任务:从数据中找出函数模型

1.0
0.0
0.0
y = 1.0 + 0.0x + 0.0
💡 调节 a、b、c 使抛物线尽可能穿过所有数据点。当误差最小时,就找到了最佳拟合!
🎮 游戏对照

把 a 调到 1、b 调到 -2、c 调到 1,看看曲线是否完美拟合数据点。这就是「最小二乘法」的基本思想!

4
🎯 挑战关卡:检验你的掌握程度
共 4 题 · 👆 点击选项作答
1 数学建模的1️⃣是(  )
回忆建模四步法
2 下列现象中,最适合用二次函数模型描述的是(  )
分析变化特征
3 在关卡设计中,妖怪的巡逻路线最适合用(  )描述
选择合适的函数模型
4 用 20 米铁丝围矩形,面积 S 与一边长 x 的关系为 S = x(10-x)。这是(  )
识别函数类型
💻
Python 核心代码:数学建模示例
讲干货 · 核心 10 行
🐍 函数拟合——从数据到模型 👆 点击展开代码 →
lesson10_modeling.py📋 复制
import numpy as np
from scipy.optimize import curve_fit
# 观测数据(关卡中收集的数据点)
x_data = np.array([0, 1, 2, 3, 4])
y_data = np.array([1, 2.8, 7.5, 16.2, 25.8])
# 假设模型:二次函数 y = ax² + bx + c
def model(x, a, b, c):
 return a * x**2 + b * x + c
# 拟合:自动找出最佳参数
popt, _ = curve_fit(model, x_data, y_data)
print(f'拟合结果: a={popt[0]:.2f}, b={popt[1]:.2f}, c={popt[2]:.2f}')
# 输出: 拟合结果: a≈1.0, b≈0.0, c≈1.0
▶ 运行输出
拟合结果: a=1.02, b=-0.05, c=0.98
→ 最佳模型: y ≈ x² + 1
📈 完整建模流程:预测与验证 建模四步法代码实现 →
lesson10_full_model.py📋 复制
# 第1步:理解问题 → 预测炸弹覆盖范围
# 第2步:建立模型 → 覆盖率 f(x) = 1 - e^(-kx)
import math
def coverage(x, k=0.3):
 return 1 - math.exp(-k * x)
# 第3步:求解 → 计算不同炸弹数的覆盖率
for n in [1, 3, 5, 10]:
 print(f'{n}个炸弹: 覆盖率={coverage(n)*100:.1f}%')
# 第4步:验证 → 与实际游戏数据对比
▶ 运行输出
1个炸弹: 覆盖率=25.9%
3个炸弹: 覆盖率=59.3%
5个炸弹: 覆盖率=77.7%
10个炸弹: 覆盖率=95.0%
5
📝 本课小结:回顾你的收获

🎉 今天你学到了什么?

🎮 从游戏中来
关卡设计 → 游戏元素 → 对应的数学函数
📖 数学建模
把实际问题转化为数学问题并求解的过程
🧩 建模四步法
理解问题 → 建立模型 → 求解模型 → 验证模型
📐 常见模型
一次函数(均匀)、二次函数(最值)、三角函数(周期)
⭐ 函数拟合
从数据中找出最佳函数模型——最小二乘法
🔗 游戏↔数学
游戏是数学的试验场;数学是游戏的设计工具
🎊 🎉 太厉害了!你已经✅ 完成了炸弹人学院的全部 10 节课!
从对数函数(log)到数学建模,你用游戏学会了高中数学的核心概念。💪 继续加油,你可以的!
🏠 返回首页