QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3381|回复: 0
打印 上一主题 下一主题

黄金分割法求一维函数的极值

[复制链接]
字体大小: 正常 放大

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念3 G. @) k% @3 R/ r$ b0 |" Z  i
6 ~; ~2 ?% H7 U1 Q6 ?! I3 k
黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
/ O/ {% d* a$ Y, {- q3 A  O+ r1 j* ~& u1 }
#### 黄金分割比+ r5 T. F) s* ~( C; ^
; B& h( j6 [) P- A& v4 Y" g- z% M
黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。
9 ^6 }. H4 Z6 k: {
/ I- v: U( u) o# j) A### 实施步骤
  P  D2 \0 @% t2 v9 R( i. e' @' ~) }7 z9 u4 W9 j9 M
1. **初始化区间**:/ O( d! R" u/ N% |
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。8 ^" J2 D' {  i9 f1 `

: t+ m! |" h* I2. **计算分割点**:
( Q5 \2 W' N* R* w9 ^7 B   计算两个点 \(x_1\) 和 \(x_2\):3 {8 c3 M5 o* @+ ]/ B
   - \( x_1 = b - \phi \cdot (b - a) \)( f+ ?7 M- f5 w; u
   - \( x_2 = a + \phi \cdot (b - a) \)
) K) V* E  a% L; j! u
  ~2 J* s5 x+ B   这些点按照黄金分割比例将整个区间分为两部分。
; e: q) O) p5 ~7 L% x) R. ?8 |; @. F6 C- J, l2 F
3. **评估函数值**:3 g5 Y2 b- ]% ^' ^3 O& X$ L- W
   计算这两个分割点的函数值:
+ n+ N  R. H/ l# q, r   - \( f_1 = f(x_1) \)
+ y, o$ l& O' l& N. N! \2 w) e. U   - \( f_2 = f(x_2) \)
  n& |9 a& Z/ ^
# f8 n+ y7 p. r' |: g  I9 }4. **缩小区间**:
, K7 u8 K% w# V; s1 }2 l   根据函数值的比较来决定缩小哪个部分的区间:1 ~( E, a% j0 e8 H5 t  v( k
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。
& {$ H' M! R# |, c, h" B9 K   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
4 }7 j/ d: A& X7 H2 g
- x/ B* r/ j# m, b5. **迭代**:
/ u. ?1 D) m: T" w   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。
4 d" t( b" L/ L0 }0 t# e; v  d: g$ A1 ^
6. **输出结果**:- T) L/ M! X( _. V- q% ?
   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。" ~3 Y) Y7 |& R1 B! Q3 D5 S
: |! o* {2 J3 o: }' K  H
### 具体示例
: O1 t5 P$ ]8 R6 }9 W  K1 C
- G7 n4 }, K) J# V5 N! J假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:5 e# W3 ~' ?' J* f

" ~4 M+ Y# J  n1. **初始化**:2 r/ u! h( e* N7 {- J
   - 区间 \([0, 5]\)- K( \+ l$ L' q3 W* X8 N2 M
   - 容忍度 \(tol = 1 \times 10^{-5}\)
3 |3 M7 r8 w( Y8 h2 J6 m6 U9 D
  M+ r2 r7 {8 _" P* k2. **计算分割点**:
$ n2 x: a9 X# l( H8 Y9 n' v   - 计算 \(x_1\) 和 \(x_2\)
. |& N- ]. W, C, O  P9 W3 Q( `: t( l8 s% p1 \
3. **评估函数值**:. O5 f0 s1 e8 m  Y( r
   - 计算 \(f(x_1)\) 和 \(f(x_2)\)' v) ^& p: i' A! j6 x" t2 J
1 Z# u& {) A& w
4. **缩小区间**:
4 z. `- K) n2 B9 c+ s, H2 N   - 根据比较结果更新 \(a\) 和 \(b\)) i. s% M$ d7 l4 m
5 u. D& }" ?) s$ W; h
5. **迭代**:
! S2 M& \( p7 N/ }- Q   - 循环直到 \(b - a < tol\)( W7 F$ n! J6 M

! q" G3 g  v: f3 \7 F% q6. **输出**:
2 r1 @& R% [% w" {   - 找到极小值点和最小值。. y& P! B: C- Y
. |5 ^) P+ J: L( G5 c
### 优势与局限+ P3 x! c+ @' Z3 z$ w0 f$ ^" l
6 m" N8 N9 V! n+ A, _
**优势**:( }: _, h( [* c% u
- 收敛速度较快,特别适合于平滑函数。
! `0 e& ?% n5 k9 G- c- 简单易实施,对于不需要求导的函数也有效。
# E, \8 d% M5 O  b7 g, n& b6 x0 O+ O) |: U, N8 S" W& E. D
**局限**:" t% K9 s( Q+ j" ^/ t
- 只能用于一维问题,对于多维问题不适用。
. d( f! G* I1 Q! I- 在函数已有许多极值的情况下可能找不到全局极值。
/ u# a2 x% C6 f0 P6 B, P5 G; v& D, ^' s. o7 V# A6 w! D( `' P, c
### 结论
0 R! u, J+ d7 U5 H; \3 k, N# J2 J) U! x4 b& D$ V0 _2 J2 z
黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。
6 H) ]4 L) r0 d" E
' E1 b4 {) X8 ^
) ^3 K1 a! i0 ]. l1 ~
& [- r( o# x( K8 {' ]

minHJ.m

841 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-13 14:06 , Processed in 0.410128 second(s), 55 queries .

回顶部