📐 第 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.0x² + 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)到數學建模,你用遊戲學會了高中數學的核心概念。💪 繼續加油,你可以的!
🏠 返回首頁