QQ登录

只需要一步,快速开始

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

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

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

1198

主题

4

听众

2978

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念* V' w$ O2 c: }" j2 I. r9 [, M

% ]; E- v( Y+ {) P黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
% f) p4 f1 M3 \1 P. Z$ f& }; c8 ?% N
#### 黄金分割比6 s6 X5 M% W- [' x1 ?! \
: w( z5 G5 f+ }4 ^
黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。/ s. S# s, r2 Z; ?3 S% r) f
  j6 T+ f& J  }. X
### 实施步骤
/ a" |( I0 B* F5 f$ [
% t7 J. T0 s2 F( v* U: E1. **初始化区间**:
' h7 w! Y1 D: k" C8 a3 W+ h   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。4 i  u, Q' _" f4 v

; ?' S' t8 P! A5 R$ v2. **计算分割点**:
- j5 j: o6 H  D2 z' o) U! o   计算两个点 \(x_1\) 和 \(x_2\):
- T9 L: i  R* q# T   - \( x_1 = b - \phi \cdot (b - a) \)6 f) @; C- w* F! W/ B& b" e
   - \( x_2 = a + \phi \cdot (b - a) \)1 F7 W2 @6 x9 a* }0 w) U

0 T- f) ]0 F% C  T! r: w   这些点按照黄金分割比例将整个区间分为两部分。
3 Q: R7 |: n- H' ]: L/ _. D& J6 @: I1 p6 ?
3. **评估函数值**:
$ X, ]* h+ B$ [   计算这两个分割点的函数值:' n3 T- q' M' l+ d% Q2 h! N
   - \( f_1 = f(x_1) \)1 v9 b$ q4 Q$ g$ `" x: @
   - \( f_2 = f(x_2) \)
& {* G/ ~7 M9 S' x" c; A4 ]* d  a( T* l
4. **缩小区间**:# `9 y$ V' Q5 ~3 C
   根据函数值的比较来决定缩小哪个部分的区间:8 x( _3 C' `; V6 |4 `& w' h- l
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。$ p# N& t+ g5 I2 a& c! ~, U
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
; n$ j# `6 }9 |: w  n- B* q: `* [+ t9 @5 s6 n6 j- p
5. **迭代**:
4 J8 ]+ ?# c  h0 m0 q. v9 r   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。5 n8 T8 [& V& ~/ |  o" }

2 [2 P, V4 _0 \3 T" X0 N: X/ e) N6. **输出结果**:, D$ s, }2 r- G5 Y
   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。5 S; S2 r: T& Y4 c  D2 \$ f. |2 M
9 T+ m- k! Z. r8 V4 ]! @* w
### 具体示例4 B5 \# q% o1 w1 T
7 x4 X5 f$ G# s. k: g; t, T8 d
假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:( _1 s  A' Q/ t% D8 V+ a
! p; J. m  l8 f, c2 m0 \
1. **初始化**:0 m6 \! [8 C( t8 S: u$ S
   - 区间 \([0, 5]\)( @! C2 V& q+ }! @; X; }8 m! S
   - 容忍度 \(tol = 1 \times 10^{-5}\)
  V" n' ], m  g& \( G0 C( k/ a2 L& ?& Y0 ^( w; k/ v
2. **计算分割点**:* S* }5 u7 h9 a
   - 计算 \(x_1\) 和 \(x_2\)
" Q9 \+ `6 \- {: A: o5 u: T' ^' B* k" z) W- N8 e+ w! J2 l7 F
3. **评估函数值**:! s/ {  C9 M6 X6 s8 K; ]% V
   - 计算 \(f(x_1)\) 和 \(f(x_2)\)3 P$ |4 ?7 N- ^: {# Z0 X

2 Z; @) B8 O! x, I& s4 k% O4. **缩小区间**:
0 d: u, E0 a  ^' N3 N   - 根据比较结果更新 \(a\) 和 \(b\)
1 c2 C+ L, K$ a* w& f
. j) c3 n. Y5 g3 b4 ?/ c; \* ]5. **迭代**:+ P/ y1 C( m: f0 [! Z
   - 循环直到 \(b - a < tol\)
4 d( t7 x( r* z2 q% n4 F# _+ C' X2 u4 B8 T* l5 J( }: @
6. **输出**:
4 N- }; g" w! N) P2 j1 S   - 找到极小值点和最小值。
) D$ X6 b  d0 q
/ B# w, T; z+ c5 q8 Z6 m' i, g### 优势与局限1 C- J( F1 l, D5 J0 l* C

; ]8 G! L% n- B) V5 s( @' E**优势**:- x7 c4 X9 b6 q3 V( s
- 收敛速度较快,特别适合于平滑函数。
0 y! f& Q+ ^/ ^- 简单易实施,对于不需要求导的函数也有效。
% @' O, @8 H1 B( {4 C9 k' `
& F8 F; |" O( G: t; _**局限**:
7 W0 y* e9 s3 N, ^' E& C- 只能用于一维问题,对于多维问题不适用。5 O) c& G6 K9 M$ ?
- 在函数已有许多极值的情况下可能找不到全局极值。
" W1 e* |2 e- ^8 s, Q- h+ U
( b! w1 b) n$ I; `8 _% W( s3 o### 结论
) U; e" h- A$ J6 F+ f) O
& d! u, [( x( t$ v( }: w+ B6 V黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。! C+ c& F' ]4 v5 j. {4 W3 L9 \
. h, G! R$ {5 s" |# n# P& U: d; i
5 S( p$ x/ Y! i- _+ I$ V6 l
$ J9 S& S8 d& \+ i1 _4 m

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-10-16 08:18 , Processed in 1.824547 second(s), 55 queries .

回顶部