函数模型的建立与应用
{/* label: sec:ch03-s15 */}
函数模型用于描述实际问题中的数量关系,也用于作近似预测. 数学建模的关键,是把题目中的变化规律译成函数类型,再用数据确定参数.
建模时先看数据是增长还是下降,增长速度是在变快还是变慢;再选出走势相近的函数类型;然后用已知数据求参数,并用剩余数据检验误差.
下面通过实例说明这种判断.
建模时常先比较不同函数类型的增长图景*
函数模型的选择与拟合
某养殖场随着技术的进步和规模的扩大,肉鸡产量在不断增加. 现收集到 2020 年前 10 个月该养殖场上市的肉鸡数量 W (单位:万只) 与月份 m 的数据如下表:
| 月份 m | 1 | 2 | 3 | 4 | 5 |
|---|
| 数量 W | 1.020 | 2.000 | 2.578 | 2.997 | 3.313 |
| 月份 m | 6 | 7 | 8 | 9 | 10 |
| 数量 W | 3.578 | 3.804 | 4.000 | 4.173 | 4.329 |
数量 W 和月份 m 之间可能存在以下四种函数关系:
\item[①] W(m)=b⋅am
\item[②] W(m)=b⋅mc
\item[③] W(m)=b+logam
\item[④] W(m)=a−mb (ab0)
- 请从这四个函数模型中去掉一个与表格中数据不吻合的函数模型,并说明理由.
- 请从表格中选择 2 月份和 8 月份的数据,再从第(1)问剩下的三个模型中任选两个函数模型进行建模,求出其函数表达式,再分别求出这两个模型下 4 月份的肉鸡数量,并说明哪个函数模型更好. (参考数据: 316≈2.519,2≈1.414)
解
(1) 先分析数据的变化趋势. 由表可见,数量 W 随月份 m 的增加而增加,但增长速率并不恒定. 考察相邻月份的增量:
<MathBlock raw={"\begin{aligned}
W(2)-W(1) &\approx 0.980
W(3)-W(2) &\approx 0.578
W(4)-W(3) &\approx 0.419
&...
W(10)-W(9) &\approx 0.156
\end{aligned}"} />
注意到,每月增加的数量是递减的. 这表明该增长过程具有减速增长的特征.
再把数据趋势同四个候选模型的走势对应起来.
-
模型 ① W(m)=b⋅am: 若它表示增长,则 a1. 此时 W(m+1)−W(m)=b⋅am(a−1) 随 m 增大而增大,对应加速增长.
-
模型 ② W(m)=b⋅mc: 当 b0,0\<c\<1 时增长变慢;当 b0,c1 时增长变快.
-
模型 ③ W(m)=b+logam: 当 a1 时单调增加,且增长速度逐渐变慢.
-
模型 ④ W(m)=a−mb: 当 ab0 时,在正整数月份上为正且单调增加,并逐渐接近水平值 a.
表中相邻增量逐月变小,指向减速增长. 模型 ① 对应加速增长,与这组数据的走势相反,因此应去掉 ①.
(2) 选取 2 月份的数据 (2,2.000) 和 8 月份的数据 (8,4.000), 用模型 ② 和 ③ 进行拟合.
对于模型 ②: W(m)=b⋅mc
将数据点 (2,2) 和 (8,4) 代入,得到关于参数 b,c 的方程组:
<MathBlock raw={"\begin{cases}
2 = b \cdot 2^c
4 = b \cdot 8^c
\end{cases}"} />
两式相除,以消去参数 b, 得 24=b⋅2cb⋅8c⟹2=(28)c=4c.
解得 c=1/2.
将 c=1/2 代回第一个方程: 2=b⋅21/2=b2, 解得 b=2.
因此,幂函数模型为 W2(m)=2⋅m1/2=2m.
利用此模型预测 4 月份的肉鸡数量,有 W2(4)=2⋅4=8=22≈2×1.414=2.828 (万只).
对于模型 ③: W(m)=b+logam
将数据点 (2,2) 和 (8,4) 代入,得到关于参数 a,b 的方程组:
<MathBlock raw={"\begin{cases}
2 = b + \log_a 2
4 = b + \log_a 8
\end{cases}"} />
两式相减,以消去参数 b, 得 4−2=(loga8)−(loga2)⟹2=loga(8/2)=loga4.
根据对数的定义, a2=4. 此模型要表示增长,需 a1, 故 a=2.
将 a=2 代回第一个方程: 2=b+log22=b+1, 解得 b=1.
因此,对数函数模型为 W3(m)=1+log2m.
利用此模型预测 4 月份的肉鸡数量,有 W3(4)=1+log24=1+2=3.000 (万只).
模型比较
用 4 月份的真实数据 W(4)=2.997 比较两个模型的预测效果.
模型 ② 的预测误差为 ∣2.828−2.997∣=0.169.
模型 ③ 的预测误差为 ∣3.000−2.997∣=0.003.
以 4 月份数据检验,模型 ③ 的误差更小,因而本题中选模型 ③.
例
声音强度 I (单位: W/m2) 的变化范围很大,人耳对响度的感知可用对数模型刻画. 声强级 Y (单位:分贝) 的公式为
Y=10lg(10−12I)
其中 10−12W/m2 是人耳能听到的阈值声强.
- 平常人交谈时的声强约为 10−6W/m2, 求其声强级.
- 一般常人能听到的最低声强级是 0 分贝,求能听到的最低声强为多少?
- 比较理想的睡眠环境要求声强级 Y≤50 分贝. 已知熄灯后两位同学在宿舍说话的声强为 5×10−7W/m2, 问这两位同学是否会影响其他同学休息? (参考数据: lg2≈0.301)
解
直接代入声强级公式计算.
对平常人交谈的情形,已知声强 I=10−6W/m2. 代入公式得
<MathBlock raw={"\begin{aligned}
Y &= 10\lg\left(\frac{10^{-6}}{10^{-12}}\right)
&= 10\lg(10^{6})
&= 10 \cdot 6 = 60 \text{ (分贝)}
\end{aligned}"} />
故平常人交谈时的声强级约为 60 分贝.
再求人耳能听到的最低声强. 此时声强级为 0 分贝,即 Y=0, 于是有 0=10lg(10−12I). 此方程等价于 lg(10−12I)=0. 根据常用对数的性质,仅当真数为 1 时,其对数值为 0. 故 10−12I=1⟹I=10−12W/m2.
此即人耳能感知的阈值声强,也正是模型公式中作为基准的参考声强.
宿舍谈话声的判断,只需把对应声强级与 50 分贝比较.
<MathBlock raw={"\begin{aligned}
Y &= 10\lg\left(\frac{5 \times 10^{-7}}{10^{-12}}\right)
&= 10\lg(5 \times 10^5)
\end{aligned}"} />
拆开积的对数:
<MathBlock raw={"\begin{aligned}
Y &= 10(\lg 5 + \lg 10^5)
&= 10(\lg 5 + 5)
\end{aligned}"} />
由 lg5=lg(10/2)=lg10−lg2=1−lg2,
<MathBlock raw={"\begin{aligned}
Y &= 10((1-\lg 2) + 5) = 10(6 - \lg 2)
&\approx 10(6 - 0.301) = 10(5.699) = 56.99 \text{ (分贝)}
\end{aligned}"} />
56.99 分贝高于 50 分贝,这两位同学的谈话声会影响其他同学休息.
在声学、地震学和化学等领域,常采用对数标度来处理数量级差异很大的物理量. 对数函数可以把乘法关系转化为加法关系,从而把很大的动态范围压缩到便于处理的区间内. 例如,本题中声强从 10−12 到 10−6 跨越了 6 个数量级,但对应的声强级只是 0 到 60 分贝,变化幅度适合日常感知与比较. 若直接用原始声强作比较,相差百万倍的数字难以直观理解;取对数后,每增大 10 倍对应声强级增加 10 分贝,尺度变得线性而均匀.
2020年北京卷
设企业的污水排放量 W 与时间 t 的关系为 W=f(t), 用
b−af(b)−f(a)
的大小评价在 [a,b] 这段时间内企业污水治理能力的强弱. 已知整改期内甲、乙两企业的污水排放量曲线如图所示.
判断下列结论的正误:
- 在 [t1,t2] 这段时间内,甲企业的污水治理能力比乙企业强;
- 在 t2 时刻,甲企业的污水治理能力比乙企业强;
- 在 t3 时刻,甲、乙两企业的污水排放都已达标;
- 甲企业在 [0,t1], [t1,t2], [t2,t3] 三段时间中,在 [0,t1] 的污水治理能力最强.
两家企业在整改期内的污水排放量变化示意*
解
差商绝对值表示单位时间内排放量下降的平均速度. 图像上,区间两端连线越陡,平均治污能力越强;某一时刻则看该点附近曲线下降的快慢.
结论 1: 在 [t1,t2] 内,甲企业的排放曲线下降更快,割线更陡,因此甲企业的治污能力更强. 结论 1 正确.
结论 2: 在 t2 附近,甲企业曲线下降更快,因此甲企业在 t2 时刻的治污能力更强. 结论 2 正确.
结论 3: 在 t3 时刻,两条曲线都落在达标线下方,因而两家企业都已达标. 结论 3 正确.
结论 4: 甲企业在 [0,t1] 这一段下降较缓,平均治污能力较弱. “在 [0,t1] 的治污能力最强”这一说法错误. 结论 4 错误.
所以正确结论的序号是
1, 2, 3.
函数值域
{/* label: sec:ch03-s20 */}
值域是函数全部可能输出值组成的集合. 求值域时,主要任务是判断函数值能取到哪些数,以及哪些边界值能取到、哪些只能逼近.
观察法与基本函数
基本函数的值域需要熟记:
- 一次函数 y=ax+b (a=0) 的值域是 R;
- 二次函数 y=ax2+bx+c (a=0) 的值域由顶点决定;
- 指数函数 y=ax 的值域是 (0,+∞);
- 对数函数 y=logax 的值域是 R;
- 反比例函数 y=xk (k=0) 的值域是 R∖{0};
- 三角函数 y=sinx, y=cosx 的值域是 [−1,1].
代数法
换元法与配方法
当函数可看成某个中间变量的简单函数时,先换元,再利用新变量的取值范围求值域.
例
求函数 f(x)=sin2x+2sinx+3 的值域.
解
令 t=sinx. 因为 −1≤t≤1, 原函数化为 f(x)=t2+2t+3=(t+1)2+2.
当 t=−1 时取最小值 2, 当 t=1 时取最大值 6.
因而值域为 [2,6].
方程法
把 y=f(x) 看成关于 x 的方程. 函数的值域,就是使该方程有实数解的全部 y 的集合.
例
求函数 f(x)=x2+x+1x2−x+1 的值域.
解
设 y=x2+x+1x2−x+1. 移项整理,得 (y−1)x2+(y+1)x+(y−1)=0.
若 y=1, 方程化为 2x=0, 有实数解 x=0, 所以 y=1 属于值域.
若 y=1, 上式是一元二次方程. 它有实数解的充要条件是判别式非负: (y+1)2−4(y−1)2≥0. 化简得 (y−3)(3y−1)≤0, 因而 31≤y≤3.
合并两种情形,值域为 [31,3].
不等式法
当表达式中出现成对的正数项或倒数项时,常可借助基本不等式直接确定值域.
例
求函数 f(x)=x+x4 的值域.
解
定义域为 (−∞,0)∪(0,+∞).
当 x0 时,由算术平均与几何平均不等式, x+x4≥2x⋅x4=4. 当且仅当 x=2 时等号成立,所以这一部分值域为 [4,+∞).
当 x\<0 时,令 x=−t (t0), 则 f(x)=−(t+t4)≤−4. 当 t=2, 即 x=−2 时等号成立,所以这一部分值域为 (−∞,−4].
因而总值域为 (−∞,−4]∪[4,+∞).
单调性与图像法
若函数在某区间上沿一个方向变化,值域常可由端点、边界附近的走势和图像投影读出. 对本卷常见的函数来说,图像是始终向上或向下的单调曲线时,判断值域的思路是:先看函数在该区间上的增减方向,再检验端点是否属于定义域,最后观察边界附近函数值的变化趋势,把三部分信息合在一起就能得到值域.
这里主要使用单调性与图像观察来求值域. 到后面的连续性章节,我们会看到为什么某些连续单调函数的值域恰好把两端之间的全部高度填满.
例
求函数 f(x)=∣x−1∣+∣x−3∣ 的值域.
解
这个函数表示点 x 到点 1 与点 3 的距离之和.
当 x≤1 时, f(x)=−(x−1)−(x−3)=−2x+4; 当 1≤x≤3 时, f(x)=(x−1)−(x−3)=2; 当 x≥3 时, f(x)=(x−1)+(x−3)=2x−4.
因而函数先下降,再保持常值 2, 最后上升.
所以最小值为 2, 没有最大值,值域为 [2,+∞).
函数 $y=|x-1|+|x-3|$ 的最小值区间*
例
求函数 f(x)=log2(3−x),x∈(−1,3) 的值域.
解
先看单调性. 内层函数 u=3−x 在区间 (−1,3) 上递减,外层函数 y=log2u 在 u0 上递增,因而 f(x) 在 (−1,3) 上递减.
再看两端的边界趋势:当 x→−1+ 时, f(x)→log24=2; 当 x→3− 时, f(x) 可以无限减小.
由于左端点 x=−1 不属于定义域,所以函数值 2 不能取到;右端向 3 靠近时,函数值可以无限减小.
因而值域为 (−∞,2).
分段函数的值域
对于分段函数,值域要先分段求,再取并集.
例
求函数
<MathBlock raw={"f(x)=
\begin{cases}
x+2,& x\le-1,
x^2,& -1\<x\<2,
2,& x\ge2
\end{cases}"} />
的值域.
解
第一段值域为 (−∞,1], 第二段值域为 [0,4), 第三段值域为 {2}, 合并后得到 (−∞,4).
TikZ 图 109
*图:分段函数值域的求法:分段分析后再合并*