QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念5 [# y% v7 e) E+ f! _: x, y

; }' m% M5 D" h$ Q/ H黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。- J$ k  j* R% s/ e7 y* d

2 ?+ n( u, I+ ^' {3 U- l* h0 g#### 黄金分割比9 X; |. V1 b: `7 H
! c* y0 Z5 F- e# B# |
黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。# H# x' `0 `( z. C4 p7 g" o7 h

0 e+ F) b& m2 T% z7 r) O### 实施步骤
* x& R% W+ m! v1 ^/ M% B0 W' A" d
! o0 {3 x% f% M+ z( L1. **初始化区间**:  N9 l% \' F' a* ?% S. z# C6 [
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
4 B6 ^# w, z! @
& m  |) U5 D( A+ `9 A! f2. **计算分割点**:
' [0 v4 N7 Y3 d7 m7 D* Y( g- {   计算两个点 \(x_1\) 和 \(x_2\):; O$ _* W8 Y$ E3 N/ H' k# m2 _/ d
   - \( x_1 = b - \phi \cdot (b - a) \)8 g! B. E. J, n- a% T/ ?) |: X9 U: ?' J
   - \( x_2 = a + \phi \cdot (b - a) \)
9 A9 D* b  P1 {. @6 b
1 H  \# h8 }0 R( t: s   这些点按照黄金分割比例将整个区间分为两部分。
9 s  n+ L8 l2 [% [( j& V7 N% F; Q* T5 M
3. **评估函数值**:* w& l% f; x4 z! I+ ^9 n! B* R
   计算这两个分割点的函数值:) u2 t  ?, [& B1 P5 L
   - \( f_1 = f(x_1) \)
1 t7 _0 i  P  J! q# x$ b* H& B) ?   - \( f_2 = f(x_2) \). h& ~4 l/ v/ P
& z  r- o$ |+ `
4. **缩小区间**:( s# @: l5 c+ Y$ ]* n' h) R  I
   根据函数值的比较来决定缩小哪个部分的区间:3 \# F+ E, ^: k- b% v* z
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。4 X4 ^% j7 D+ l  b+ O9 o# ]
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。- F* I/ ~/ x- N, Y' H
- [% c0 Z1 B# m3 t# U
5. **迭代**:! G$ O- p/ S0 z9 }) `; [2 K  s
   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。8 J# [1 ^4 {. U/ H
% Q7 m4 |1 p# F4 e; G3 J
6. **输出结果**:9 y# W1 ?& Q5 j" A' g3 f
   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。% X2 o: A7 b# Q3 ~

+ L7 Y. Z  Y' P$ S" [### 具体示例
$ H# |! B; z5 x( L- `: U8 T
) Z0 N# ]3 C8 h  H9 i假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:
8 N; C' c" g# [- F+ z. t2 J
2 p5 D; o8 a6 U7 u' R1. **初始化**:
$ n% j4 `3 e$ H5 Z6 z9 P# ^   - 区间 \([0, 5]\)
' s4 g, X% g/ O   - 容忍度 \(tol = 1 \times 10^{-5}\)
0 x6 M" Y+ P6 W) ~; L* I
. B7 u% H" G9 t3 l" @2 l2. **计算分割点**:: l) [7 w; f" k  A/ `  c
   - 计算 \(x_1\) 和 \(x_2\)3 x( V5 _: }$ B5 w: n# B+ Z
. j# R6 X7 b/ N$ |# h+ M# O
3. **评估函数值**:
; E3 I4 X6 t- ~. f: n   - 计算 \(f(x_1)\) 和 \(f(x_2)\)4 D& P- @% A: z- _/ Q8 a
  w: t5 X; [4 t7 L( _: D* \  B
4. **缩小区间**:' Z. e+ O4 k6 w- a# I* ?8 O
   - 根据比较结果更新 \(a\) 和 \(b\)
/ f, O: U' @. F* Z  ?  Q: V2 h- z3 v8 i* Q% f+ Q
5. **迭代**:) Q  ^8 |9 t( [1 t
   - 循环直到 \(b - a < tol\)5 F4 o* t% S0 z" H- H/ K

* s( b6 H. [* m9 ?6. **输出**:" w5 Q( ?1 F9 {& ~$ c" r! O
   - 找到极小值点和最小值。) k' `) n5 {4 v! _. F7 ?

( `0 u" L7 z4 J. I### 优势与局限" L( f2 o6 l0 I) J  }3 |! e9 J
  d  F* b6 r$ P2 a( n( z
**优势**:
6 r& j4 Y3 ]) K, \- 收敛速度较快,特别适合于平滑函数。
: `$ `9 i# y" g, C- 简单易实施,对于不需要求导的函数也有效。
# O0 k' T: h" x, Q+ P
! ]0 f2 ^: t) z**局限**:0 V6 ^" k" `+ S1 l6 T- _1 ~
- 只能用于一维问题,对于多维问题不适用。! |; z2 |( q: v( S$ A- F
- 在函数已有许多极值的情况下可能找不到全局极值。9 v4 ]* A0 p, b& T

! V0 u- u" j* U9 I! G% W### 结论% V+ A' T) ~, A9 e

$ j& W+ j* k# b4 M8 f  w黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。/ ?& x4 t2 R. A$ Q; F
3 F+ A% b8 c9 [' j0 D5 U, h( b7 \

. `$ c" G/ H+ a
+ _* a; i% L( `! H. f

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-6-16 05:46 , Processed in 0.432115 second(s), 55 queries .

回顶部