数学实验与数学建模(浅谈分形)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Polygon[{ptlist[[3i + 1]],
AppendTo[tmp,
ptlist[[3i + 2]], ptlist[[3i + 3]]}]]];
Show[Graphics[tmp], AspectRatio -> 1/GoldenRatio]]
po1 = {{-1, 0}, {1, 0}, {0, Sqrt[3]}};
(ptlist[[3i + 1]] + ptlist[[3i来自百度文库+ 2]])/2, ptlist[[3i + 3]])/2,
(ptlist[[3i + 1]] + ptlist[[3i + 3]])/2,
ptlist[[3i + 2]], (ptlist[[3i + 2]] +
(ptlist[[3i + 1]] + ptlist[[3i + 3]])/2, (ptlist[[3i + 2]] +
ptlist[[3i + 3]])/2,
ptlist[[3i + 3]]}]];
tmp]
Showsierpinski[ptlist_List] := Block[{tmp = {}, i, pnum = Length[ptlist]/3},
For[i = 0, i < pnum, i = i + 1,
{-0.9, -0.05}, {-0.9, -0.25}}]]]
Mandelbrot3 = DensityPlot[iter[x, y, 50], {x, -0.9, -0.7}, {y, -0.25, -0.05},
PlotPoints -> 120, Mesh -> False]
1.5
1
0.5
ptlist[[i + 1]]/3, (ptlist[[i]] + ptlist[[i + 1]])/
2 + {ptlist[[i]][[2]] - ptlist[[i + 1]][[2]], ptlist[[i + 1]][[1]] - ptlist[[i]][[1]]}*Sqrt[3]/6, ptlist[[i]]/3 + ptlist[[i + 1]]*2/3, ptlist[[i + 1]]}]]; tmp] Inko01 = {{0, 0}, {1, 0}}; Show[Graphics[Line[Nest[redokoch, Inko01, 4]],
给s以不同的值
0.75 1 0.5 0.25 0.5
-1
-0.5 -0.25 -0.5
0.5
1
-1
-0.5 -0.5 -1
0.5
1
-0.75
S=1.2
S=1.5
2 7.5 1 5 2.5 -1 -0.5 -1 -5 -2 -7.5 0.5 1
-1
-0.5 -2.5
0.5
1
S=1.7
S=1.99
复变函数的迭代
AspectRatio -> Sqrt[3]/6]]
Koch 曲线的特点
自相似性 精细结构:复杂性不随尺度减小而消失
处处不光滑,每一点是尖点
长度:En的长度=(4/3)n趋于无穷
本身定义方式简单 问题
Koch曲线在有限区域却长度无限,它是否一维的?
单参数的函数曲线是一维的吗?
设是平面上边长为1/2的正三角形,构造 fn
制作Mandelbrot集
设定最大迭代次数N,图形分辨率a,b, 使用颜 色数 K
设定一个上界 M 设将矩形域{-M≤x, y ≤ M}分成ab网格 以每个网格点作为(p,q),以原点作初值作迭代 若对所有n ≤ N, xn2 + yn2 ≤ M2 ,将迭代的 所有 点用黑色显示;而若从迭代某m步起 xn2 + yn2 ≤ M2 则将迭代所有点用第m(modK)种颜色显示
维数=?
redosierpinski[ptlist_List] := Block[{tmp = {}, i, pnum = Length[ptlist]/3}, For[i = 0, i < pnum, i = i + 1, tmp = Join[tmp, {ptlist[[3i + 1]],
(ptlist[[3i + 1]] + ptlist[[3i + 2]])/2,
Showsierpinski[Nest[redosierpinski, po1, 3]]
Weierstrass 函数
W(x)=(s-2)ksin(kx) , >1,1<s<2
数学分析中的著名例子:处处连续,但无处可微 的函数,自仿射
使用Mathematica
lambda = 2; nmax = 20; s = 1.2; Plot[Sum[lambda^((s - 2)k)Sin[(lambda^k)x], {k, 1, nmax}], {x, -1, 1}]
f1
f3
f2
以此方式得到 fn ,在[0,1] 一致收敛到极限函数 f 的象将为整个三角形
分形维数
将单位边长的线段,正方形,立方体 分成边长为1/2的同样几何物体,得到21,22,23 个小线段,正方形,立方体 注意指数给出了几何物体的维数 定义分形维数 若将几何物体的长度(线度)缩小为1/r, 得到N个相似小几何物体,那么维数d满足 N=rd
数学实验
从一些奇妙 图象浅谈分形
海岸线有长度吗?
法国的Mandelbrot.B 开创了分形几何 (fractal geometry)的研究 1967年的论文:“英国海岸线的长度不确 定” 海岸线的长度随测量尺度变化 对自然几何形态的数学研究
(1)具有无限嵌套层次的精细结构
(2)在不同尺度下具有某种相似特性
1.5
0
1
-0.5
0.5
-1
0
-1.5 -2 -1.5 -1 -0.5 0 0.5 1
-0.5
-1
-1.5 -2 -1.5 -1 -0.5 0 0.5 1
选择一个局部
-0.05
-0.1
前面局部 的放大 自相似性, 精细结构
-0.15
-0.2
-0.25 -0.9
-0.85
-0.8
-0.75
-0.7
实验任务
d=logN/log r
Koch曲线的维数? 约1.2618
分形的数学实例
Cantor集 从单位区间[0,1]出发,三分去中段,得E1, E1两个区间三分去中得E2 ,极限集合为Cantor集
数学名例:完备,完全不连通,长度0
自相似,精细结构,简单定义
Sierpinski集合
三角形四等分去中间小三角形所得极限图形
考虑 Zk+1=Zk2+
给定复数初值Z0, ,得到无穷复数序列{Zk}
Julia集:固定
J ={Z0序列{Zk}有界}
Mandelbrot集:固定Z0
MZ={ 序列{Zk}有界}
若Zk= xk+ iyk , = p+iq xk+1=xk2-yk2 ,+p yk+1=2xkyk ,+q
使用Mathematica
iter[x_, y_, lim_] := Block[{c, z, ct}, c = x + I*y; z = c; ct = 0; ++ct; z = z*z + c;]; Mandelbrot1 = DensityPlot[iter[x, y, 50], {x, -2.0, 1.0}, {y, -1.5, 1.5}, PlotPoints -> 120, Mesh -> False] Mandelbrot2 = Show[Mandelbrot1, Graphics[Line[{{-0.9, -0.25}, {-0.7, -0.25}, {-0.7, -0.05}, While[(Abs[z] < 2.0) && (ct < lim), Return[ct];]
选择制作一个分形的图形 自己设计一个分形的图形的制作 谈谈你所认识的分形
Koch 雪花曲线
设E0为单位直线段 三等分后,中间一段用与其组成等边三角形 的另两边代替,得到E1 对E1的4条线段的每一
条重复以上做法,得到E2
以此方法重复,可得En 当n趋于无穷,得到的极限曲线就是Koch 曲线
用Mathematica 画koch曲线
redokoch[ptlist_List] := Block[{tmp = {}, i, pnum = Length[ptlist]}, For[i = 1, i < pnum, i = i + 1, tmp = Join[tmp, {ptlist[[i]], ptlist[[i]]*2/3 +
AppendTo[tmp,
ptlist[[3i + 2]], ptlist[[3i + 3]]}]]];
Show[Graphics[tmp], AspectRatio -> 1/GoldenRatio]]
po1 = {{-1, 0}, {1, 0}, {0, Sqrt[3]}};
(ptlist[[3i + 1]] + ptlist[[3i来自百度文库+ 2]])/2, ptlist[[3i + 3]])/2,
(ptlist[[3i + 1]] + ptlist[[3i + 3]])/2,
ptlist[[3i + 2]], (ptlist[[3i + 2]] +
(ptlist[[3i + 1]] + ptlist[[3i + 3]])/2, (ptlist[[3i + 2]] +
ptlist[[3i + 3]])/2,
ptlist[[3i + 3]]}]];
tmp]
Showsierpinski[ptlist_List] := Block[{tmp = {}, i, pnum = Length[ptlist]/3},
For[i = 0, i < pnum, i = i + 1,
{-0.9, -0.05}, {-0.9, -0.25}}]]]
Mandelbrot3 = DensityPlot[iter[x, y, 50], {x, -0.9, -0.7}, {y, -0.25, -0.05},
PlotPoints -> 120, Mesh -> False]
1.5
1
0.5
ptlist[[i + 1]]/3, (ptlist[[i]] + ptlist[[i + 1]])/
2 + {ptlist[[i]][[2]] - ptlist[[i + 1]][[2]], ptlist[[i + 1]][[1]] - ptlist[[i]][[1]]}*Sqrt[3]/6, ptlist[[i]]/3 + ptlist[[i + 1]]*2/3, ptlist[[i + 1]]}]]; tmp] Inko01 = {{0, 0}, {1, 0}}; Show[Graphics[Line[Nest[redokoch, Inko01, 4]],
给s以不同的值
0.75 1 0.5 0.25 0.5
-1
-0.5 -0.25 -0.5
0.5
1
-1
-0.5 -0.5 -1
0.5
1
-0.75
S=1.2
S=1.5
2 7.5 1 5 2.5 -1 -0.5 -1 -5 -2 -7.5 0.5 1
-1
-0.5 -2.5
0.5
1
S=1.7
S=1.99
复变函数的迭代
AspectRatio -> Sqrt[3]/6]]
Koch 曲线的特点
自相似性 精细结构:复杂性不随尺度减小而消失
处处不光滑,每一点是尖点
长度:En的长度=(4/3)n趋于无穷
本身定义方式简单 问题
Koch曲线在有限区域却长度无限,它是否一维的?
单参数的函数曲线是一维的吗?
设是平面上边长为1/2的正三角形,构造 fn
制作Mandelbrot集
设定最大迭代次数N,图形分辨率a,b, 使用颜 色数 K
设定一个上界 M 设将矩形域{-M≤x, y ≤ M}分成ab网格 以每个网格点作为(p,q),以原点作初值作迭代 若对所有n ≤ N, xn2 + yn2 ≤ M2 ,将迭代的 所有 点用黑色显示;而若从迭代某m步起 xn2 + yn2 ≤ M2 则将迭代所有点用第m(modK)种颜色显示
维数=?
redosierpinski[ptlist_List] := Block[{tmp = {}, i, pnum = Length[ptlist]/3}, For[i = 0, i < pnum, i = i + 1, tmp = Join[tmp, {ptlist[[3i + 1]],
(ptlist[[3i + 1]] + ptlist[[3i + 2]])/2,
Showsierpinski[Nest[redosierpinski, po1, 3]]
Weierstrass 函数
W(x)=(s-2)ksin(kx) , >1,1<s<2
数学分析中的著名例子:处处连续,但无处可微 的函数,自仿射
使用Mathematica
lambda = 2; nmax = 20; s = 1.2; Plot[Sum[lambda^((s - 2)k)Sin[(lambda^k)x], {k, 1, nmax}], {x, -1, 1}]
f1
f3
f2
以此方式得到 fn ,在[0,1] 一致收敛到极限函数 f 的象将为整个三角形
分形维数
将单位边长的线段,正方形,立方体 分成边长为1/2的同样几何物体,得到21,22,23 个小线段,正方形,立方体 注意指数给出了几何物体的维数 定义分形维数 若将几何物体的长度(线度)缩小为1/r, 得到N个相似小几何物体,那么维数d满足 N=rd
数学实验
从一些奇妙 图象浅谈分形
海岸线有长度吗?
法国的Mandelbrot.B 开创了分形几何 (fractal geometry)的研究 1967年的论文:“英国海岸线的长度不确 定” 海岸线的长度随测量尺度变化 对自然几何形态的数学研究
(1)具有无限嵌套层次的精细结构
(2)在不同尺度下具有某种相似特性
1.5
0
1
-0.5
0.5
-1
0
-1.5 -2 -1.5 -1 -0.5 0 0.5 1
-0.5
-1
-1.5 -2 -1.5 -1 -0.5 0 0.5 1
选择一个局部
-0.05
-0.1
前面局部 的放大 自相似性, 精细结构
-0.15
-0.2
-0.25 -0.9
-0.85
-0.8
-0.75
-0.7
实验任务
d=logN/log r
Koch曲线的维数? 约1.2618
分形的数学实例
Cantor集 从单位区间[0,1]出发,三分去中段,得E1, E1两个区间三分去中得E2 ,极限集合为Cantor集
数学名例:完备,完全不连通,长度0
自相似,精细结构,简单定义
Sierpinski集合
三角形四等分去中间小三角形所得极限图形
考虑 Zk+1=Zk2+
给定复数初值Z0, ,得到无穷复数序列{Zk}
Julia集:固定
J ={Z0序列{Zk}有界}
Mandelbrot集:固定Z0
MZ={ 序列{Zk}有界}
若Zk= xk+ iyk , = p+iq xk+1=xk2-yk2 ,+p yk+1=2xkyk ,+q
使用Mathematica
iter[x_, y_, lim_] := Block[{c, z, ct}, c = x + I*y; z = c; ct = 0; ++ct; z = z*z + c;]; Mandelbrot1 = DensityPlot[iter[x, y, 50], {x, -2.0, 1.0}, {y, -1.5, 1.5}, PlotPoints -> 120, Mesh -> False] Mandelbrot2 = Show[Mandelbrot1, Graphics[Line[{{-0.9, -0.25}, {-0.7, -0.25}, {-0.7, -0.05}, While[(Abs[z] < 2.0) && (ct < lim), Return[ct];]
选择制作一个分形的图形 自己设计一个分形的图形的制作 谈谈你所认识的分形
Koch 雪花曲线
设E0为单位直线段 三等分后,中间一段用与其组成等边三角形 的另两边代替,得到E1 对E1的4条线段的每一
条重复以上做法,得到E2
以此方法重复,可得En 当n趋于无穷,得到的极限曲线就是Koch 曲线
用Mathematica 画koch曲线
redokoch[ptlist_List] := Block[{tmp = {}, i, pnum = Length[ptlist]}, For[i = 1, i < pnum, i = i + 1, tmp = Join[tmp, {ptlist[[i]], ptlist[[i]]*2/3 +