输出如图, 其中虚线是函数的二阶导数. 观察二阶导数的正负与函数的凹凸之间的关系.
2 1
?3 ?2 ?1
?1 ?2 ?3 ?4 ?5
1 2 3
再输入
gen=Solve[f3'' [x]==0,x] 则输出
??? ? ? 1 ? ? 1 ?? ? x
, x? ? ??? ??
?? 6 ? ?? 6 ?
??
即得到二阶导数等于 0 的点是? 1 . 用例 1 中类似的方法知在 ??? ,
6
上二阶导数大于零, 曲线弧向上凹. 在 ? 1 ?
?
?
1 ? ? 1 ,?? ?
和 6 ?? ? 6 ?
?
?
? ? 6 6
, 1 ??上二阶导数小于零, 曲线弧向上凸.
再输入 f3[x]/.gen
则输出 {3/4,3/4}
这说明函数在? 1 和 1
6
6
. 的值都是 3/4. 因此两个拐点分别是 ?, ?, 和 ? 6 4 ?? ?? 6 4 ?
? ? 1 3 ? ? 1 3 ?
例 3 已知函数
f (x) ? 1 6 25 5
? 60x ?150x ?180x ? 25, x ? 2x ? x 2 2 4 3 2
在区间[?6,6]上画出函数 f (x), f ?(x), f ??(x)的图形, 并找出所有的驻点和拐点. 输入命令
f[x_] := x^6/2 - 2*x^5 - 25*x^4/2 + 60*x^3 - 150*x^2 - 180*x - 25;
Plot[{f[x], f'[x], f''[x]}, {x, -6, 6}, PlotStyle -> {GrayLevel[0], Dashing[{0.01}], RGBColor[1, 0, 0]}]
NSolve[f'[x] == 0, x] NSolve[f''[x] == 0, x]
29
则输出如图
6000 4000 2000
?6 ?4 ?2
?2000 ?4000 ?6000
2 4 6
3.2.3求函数的极值
例 4 求函数 y ? x 2 的极值.
1? x
输入
f2[x_]:=x/(1+x^2); Plot[f2[x],{x,-10,10}] 则输出如图.
0.4
0.2
?10 ?5
?0.2
5 10
?0.4
观察它的两个极值. 再输入 Solve[f2' [x]==0,x] 则输出
{{x->-1},{x->1}} 即驻点为 x ? ?1.用二阶导数判定极值, 输入 f2'' [-1] f2'' [1]
则输出 1/2与-1/2. 因此 x ? ?1是极小值点, x ?1是极大值点. 为了求出极值, 再输入 f2[-1] f2[1]
输出-1/2与 1/2. 即极小值为-1/2, 极大值为 1/2.
30
3.2.4 求极值的近似值 例 5 求函数 y ? 2sin 输入
f4[x_]:=2 (Sin[2 x])^2+5x*(Cos[x/2])^2/2; Plot[f4[x],{x,0,Pi}] 则输出如图.
2
(2x)? 5 xcos 2 ? x ?的位于区间(0,? )内的极值的近似值.
? ?
2 ? 2 ?
3.5 3.0 2.5 2.0 1.5 1.0 0.5
0.5 1.0 1.5 2.0 2.5 3.0
观察函数图形, 发现大约在 x ?1.5附近有极小值, 在 x ? 0.6和有 x ? 2.3极大值. 用命令
FindMinimum直接求极值的近似值. 输入 FindMinimum[f4[x],{x,1.5}] 则输出
{1.94461,{x->1.62391}}
即同时得到极小值 1.94461和极小值点 1.62391. 再输入 FindMinimum[-f4[x],{x,0.6}] FindMinimum[-f4[x],{x,2.3}] 则输出
{-3.73233,{x->0.864194}} {-2.95708,{x->2.24489}} 即得到函数?y的两个极小值和极小值点. 再转化成函数 y的极大值和极大值点. 3.2.5泰勒公式与函数逼近
1? x ? x ??? x ? R x 近似计算 e x . 若| x |例 6 利用泰勒公式 e ?( ) ?1,要求截断误差 n
2! n!
x
2 n
| Rn |? 0.005,问 n应取多大?
e x e 3 n?1
| x |n?1 ?因为| Rn |? x ? ,
(n?1)! (n?1)! (n?1)!
所以, 欲使| Rn |? 0.005, 只要取n ? 5即可.
31
输入命令
f[x_]=Normal[Series[Exp[x],{x,0,5}]]
Table[N[{x,Exp[x],f[x],Exp[x]-f[x]}],{x,-1,1,0.4}] 则输出下表结果
ex 截断误差Rn(?x) ?x p(x)
?1.00 0.367879 0.366667 0.00121277 ? 0.60 0.5488812 0.548752 0.0000596361 ? 0.20 0.818731 0.818731 8.64113?10?8
9.14935?10?8 0.20 1.2214 1.2214
0.60 1.82212 1.82205 0.0000708004
0.00161516 1.00 2.71828 2.71667
例 7 观察函数 f (x) ? sin x各阶泰勒展开的图形. (1) 固定 x0 ? 0,观察阶数 n的影响; 输入命令
t = Table[Normal[Series[Sin[x], {x, 0, i}]], {i, {5, 15, 25}}];
PrependTo[t, Sin[x]];
Plot[t, {x, 0, 5*Pi}, PlotRange -> {-3, 3}, PlotStyle -> {RGBColor[0, 0, 0], RGBColor[1, 0, 0], RGBColor[0, 1, 0], RGBColor[0, 0, 1]}, Background -> RGBColor[0.753, 0.753, 0.753]] 则输出如图.
3 2
1
5
?1 ?2
10 15
?3
(2) 扩大显示区间范围, 以观察在偏离展开点 x 0 时泰勒多项式对函数的逼近情况; 输入命令
t = Table[Normal[Series[Sin[x], {x, 0, i}]], {i, 1, 19, 2}]; PrependTo[t, Sin[x]];
Plot[Evaluate[t], {x, -Pi, Pi}]
Plot[Evaluate[t], {x, -Pi, Pi}, AspectRatio -> Automatic] Plot[Evaluate[t], {x, -2 Pi, 2 Pi}, AspectRatio -> Automatic] Plot[Evaluate[t], {x, -3 Pi, 2 Pi}, AspectRatio -> Automatic]
32
则分别输出相应图形.
3 2 1
?3 ?2 ?1
?1 ?2 ?3
1 2 3
3
2
1
?3 ?2 ?1 1 2 3
?1
?2
?3
4
2
?6 ?4 ?2 2 4 6
?2
?4
33