4.1 分形几何与自相似:光滑对粗糙


文档摘要

4.1 分形几何与自相似:光滑对粗糙 本节摘要:定义先行——分形是"细节随放大不断重现"的粗糙集合,其维数可以不是整数:海岸线约 1.25,洛伦兹吸引子约 2.06。光滑与粗糙的分界不是美学而是测量问题:光滑对象的长度在细尺度下收敛,分形对象的长度随尺度缩小而增长。本节给出盒计数维数的算法与代码,并解释为什么"拉伸-折叠"必然生产分形。 本节上承 3.4 节的奇怪吸引子:那里说"吸引子被压在体积为零的分形集合上",现在把"分形"三个字变成可测量的量。它也是"光滑对粗糙"这组对照的主场——线性世界的对象几乎全光滑,非线性世界的长期行为集合几乎全是分形。

4.1 分形几何与自相似:光滑对粗糙

本节摘要:定义先行——分形是"细节随放大不断重现"的粗糙集合,其维数可以不是整数:海岸线约 1.25,洛伦兹吸引子约 2.06。光滑与粗糙的分界不是美学而是测量问题:光滑对象的长度在细尺度下收敛,分形对象的长度随尺度缩小而增长。本节给出盒计数维数的算法与代码,并解释为什么"拉伸-折叠"必然生产分形。

本节上承 3.4 节的奇怪吸引子:那里说"吸引子被压在体积为零的分形集合上",现在把"分形"三个字变成可测量的量。它也是"光滑对粗糙"这组对照的主场——线性世界的对象几乎全光滑,非线性世界的长期行为集合几乎全是分形。

量海岸线的人

问题的历史值得复述:理查森为研究两国边界冲突翻数据时发现,同一段国境线,西班牙与葡萄牙的官方长度差了约百分之二十——因为双方用了不同精度的尺子。曼德博 1967 年把这件事升格为定理式的观察:对粗糙曲线,测得长度 L(ε) 随尺子长度 ε 按幂律增长,L(ε) ∝ ε^(1−D);光滑曲线的 D=1(幂指数为零,长度收敛),不列颠海岸线的 D≈1.25(长度在细尺度下持续膨胀)。这个 D 就叫分形维数:它量的是"细节随放大重现的速度",整数维数只是它的特例。

对照来看,光滑与粗糙的区别全在测量行为里:圆周长用再细的规也收敛到 2πr;海岸线每换一次小尺,多绕出来的湾湾滩滩就把总长度顶上去。"有多长"对分形是坏问题,"长度如何随尺度变"才是好问题。

图:科赫曲线的自相似构造与标度律

图:科赫曲线的自相似构造与标度律

为什么非线性系统天然产分形

线性系统画不出分形:它的不变集是点、直线、平面——初等几何全家桶。分形的生产线是第三章那套"拉伸-折叠":拉伸把距离拉开(产生无穷多不同的尺度),折叠把结果对折(产生自相似),重复无穷次,极限集合在每个尺度上都有细节。具体到洛伦兹吸引子:与轨道相伴的方向上存在一张分叶的康托集结构,Kaplan-Yorke 公式给出其维数 D_KY ≈ 2.06——比二维平面多一点、比三维空间少很多。吸引子维数低于相空间维数正是 2.5 节耗散的签名:体积塌缩掉的部分连同其维数一并"报销",剩余骨架留下非整数的份。

常用的维数定义不止一个(盒计数、关联维数、信息维数),对简单吸引子数值接近;盒计数最直观:

  • 数边长为 ε 的盒子覆盖集合所需个数 N(ε),画 log N 对 log(1/ε) 的直线,斜率即 D。

光滑对分形对照表

维度 光滑对象(圆、椭圆轨道) 分形对象(海岸线、奇怪吸引子)
维数 整数 非整数(1.25、2.06 之类)
长度/面积 收敛到有限值 随尺度缩小而增长,无"真长度"
局部结构 放大后趋近直线(可微) 放大后重现全局花样(自相似)
生成方式 光滑映射的像 拉伸-折叠的极限、迭代函数系统
典型问题 周长多大 维数多少、标度指数多少

展开案例:给科赫曲线量维数

背景:科赫曲线每步把每段三等分、中段凸起,四段替换一段——长度乘 4/3,无限迭代后长度发散而集合有界,是分形的"标准砝码"。

操作:生成科赫点列,跑盒计数:

import numpy as np def koch_points(order=6): pts = np.array([[0.0, 0.0], [1.0, 0.0]]) for _ in range(order): new = [pts[0]] for a, b in zip(pts[:-1], pts[1:]): d = (b - a) / 3 peak = a + 1.5 * d + np.array([-d[1], d[0]]) * (np.sqrt(3) / 2) new += [a + d, peak, b - d, b] pts = np.array(new) return pts pts = koch_points(6) # 4097 个顶点 eps = np.array([0.01, 0.02, 0.04, 0.08]) counts = [len(set(map(tuple, np.floor(pts / e).astype(int)))) for e in eps] D = np.polyfit(np.log(1 / eps), np.log(counts), 1)[0] print("盒计数维数 ≈", round(D, 4))

结果:约 1.262,与理论值 log4/log3 = 1.2619 在第四位吻合。

解读:直线的同一算法给出 1.00(自查:把 koch_points 换成两点一线即可验证)——算法没有偏好,是对象自己暴露了粗糙度。变式:把洛伦兹轨道采样三千点喂给同一函数(先做延迟嵌入,5.3 节讲),得到的约 2.0 附近值就是那条"蝴蝶"的维数体检单。

⚠️ 常见坑:对有限数据硬扣维数的小数点后第二位没有意义——盒计数在数据少、噪声大时会系统性偏低,实用口径是"报出量级与趋势",并交代尺度窗口。

💡 关键直觉:何时不必修维数——如果你关注的尺度范围内长度已经收敛(曲线在此尺度下光滑),维数就是整数维,别为分形而分形;反之,凡是"换细一号尺子、数量级就变"的测量,都该想到标度律。

问题:分形是数学玩具,还是有工程户口?

户口很硬。分形天线利用自相似结构在极短的天线体上容纳多频段谐振,移动通信里的宽频天线多受益于此。材料断裂面是真实的粗糙分形,断口维数与材料韧性之间存在可用的经验关联,失效分析据此反推载荷历史。网络流量的时间统计呈现自相似与长程相关,缓冲区容量若按泊松假设核算会系统性偏小。三例分别落在射频、机械与信息三个行业,共同的教训:凡对象在多个尺度上都"不肯变光滑",光滑假设就要出事,而分形维数是把"不肯变光滑"定量化的第一指标。

本节要点回顾

  • 分形维数是测量行为的属性:L(ε) ∝ ε^(1−D),光滑收敛(D 为整数),粗糙发散(D 非整数)。
  • 生产线是拉伸-折叠:自相似与无穷细节来自非线性迭代的极限,线性画不出分形。
  • 盒计数二十行可算:科赫曲线 1.262 对理论 1.2619,洛伦兹吸引子约 2.06 对 Kaplan-Yorke 预言。
  • 耗散的签名:吸引子维数严格低于相空间维数,缺的那部分体积就是 2.5 节被散度报销的。

空间粗糙说完了,下一节看时间上的粗糙:噪声进场之后,确定性骨架还剩几分可靠。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U