-
离散型函数拐点算法及应用
李涛田晓君
(
黄石理工学院机电工程系
,
湖北黄
石
,435003)
摘要在数学定义及物理意义的基础上,
研究了利用计算机来计算数学拐点的一种快速有效的
方法,
提出了对于离散数据以非拟合曲线的方式计算拐点的算法。
该方
法已成功地应用于漆
包线生产
过程质量监控。
关键词拐点算法离散数据非拟合曲线
文章编号:
中图分类号:
TP30
文献标识码:
A
The Algorithm
and application of discrete inflection point
Li Tao, Tian
Xiaojun
(Dept.
of
Mechanic
and
Electronic
Engineering,
HuangShi
Institute
of
Technology,
HuangShi,
435003)
Abstract: Based
on the mathematical definition and physical
meaning, a fast effective method was
studied to calculate mathematical
inflection point using computer, and a algorithms
was proposed
to
calculate
the
mathematical
inflection
point
of
discrete
data
using
non-
fitting
curve
way.
The
method
has been successfully applied in the
quality control of enamel-insulated wire
production.
Key words:
inflection point; algorithm; discrete data; non-
fitting curve
1
引言
由于
拐点所反映的是相应曲线上升
(
或下降
)
趋势发生变化的点,它在企业的生产管理等
方面比如销售分析、
企业经营状况分析、
产品质量的监
控、
生产成本的分析等各个方面都有
重要的作用。
在数学上,拐点的计算一般是通过计算函数二阶导数的零点及其不存在的点的方法来实
现的。
这种方法在实际应用中往往遇到计算量非常大的问题
。
这是因为实际应用过程中的函
数及
其二阶导数的形式往往非常复杂,
这样就会造成在求解零点时计算量非常庞大,
或者二
阶导数不存在的点的判别十分困难。<
/p>
此外,
在实际应用中所得到数据的常常是以离散的点的
形式给出的,
由此所构成的离散型函数在利用上
述方法求解拐点时,
还必须事先根据离散数
< br>据点求解相应拟合曲线,
这样往往费时费力而且精度不高。因此,
寻求一种快捷、
精确的拐
点算法十分必要。
2
数学计算模型
2.1
拐点判别式
根据拐点特性,在拐点前
后曲线的上升
(
或下降
)
趋势不一样,如图
1
所示。若
P=(p0, f(p0))
为该曲线的拐点,
A
、
B
点为
P
前任意两点,
C
、
D
为
P
后任意两点,则有判别式
(kAB-kBP)×
(kPC-
kCD)<0 (1)
其中
p>
kAB
、
kBP
、
kPC
、
kCD
分别为直线
AB
、直线
BP
、直线
PC
、直线
CD
的斜率。
D
C
P
A B
x0=ax1 x2 …
xk …
xn-1 xn=b
图
1
曲线拐点
图
2
拐点计算
2.2
拐点判别算法
利用判别式
(1)
即可获得曲线拐点判别算法。对于区间<
/p>
[a, b]
上的函数
f(x)
,为求其拐点,
先将区间
[a,
b]
分割为小区间,小区间长度最大者
Δ
趋于
0
。设分点分别为
x0,
x1,
…
, xk,
…
,xn-1
,
对应纵座标为
f(x0),f(x1),
…
,f(xk),
…
,
f(xn-1)
,如图
2
所示。如果拐点处于点
xk-1
与
xk(k=3,4,5…n
-3)
之间,根据判别式
(1)
有
f (x ).
f (x ) f
(x ).
f (x ) f(x ) .
f (x ) f (x ) .
f (x )
k.1 k.2
k.2 k.3 k+2 k+1 k+1 k
F(k)
=( .
)×
( .
) <
0 (2)
x .xx .xx .
xx .
x
k.1 k.2 k.2 k.3 k+2 k+1 k+1 k
为简化算法,不失一般性,可将区
间
[a,b]n
等分,则式
(2)
可变换为如下判别式
F(k)=(f(xk-1)+ f(xk-3)-2
f(xk-2))×
(f(xk)+ f(xk+2)-2 f(xk+1))<0
(3)
其中
k=3,4,5,
…
,n-3
。若判别式
p>
(2)
或
(3)
在
k=m
处成立,则说明位于
xm
与
xm+1
之间。
显然,当
Δ
→
0(
或
n
→∞
)<
/p>
时,则
xm
→
p0
,即
m
充分大时,
(xm,ym)
≈
P=(p0,f(p0))
。
2.3
算法终止判别
算法开始时分别将各等
分点代入
(3)
式,计算出
F(k)
,当
F(k)
小于
0
时算法即可终止。
在实际应用过程中,
n
取无穷大不现实也无必要。实际
应用中
n
的取值由数据特性、区
间
[a,b]
的宽度,以及精度要求来决定。区间
[a,b]
的宽度取
5cm
,计算机屏幕取
1024
×
768
分
辨率时,
< br>n
的取值对函数图形的影响如图
3
所示。
n=50
n=200
n=500
n=2000
图
3
n
的取值对函数图形的影响
由图
3<
/p>
可知,在实际应用中,对精度的要求不是很高的情况下,一般
n
取
300
~
3000
就能取得较好的效果。