Science 版 (精华区)
发信人: qpcwth (独翅鸟), 信区: Science
标 题: 《分形艺术》57
发信站: 哈工大紫丁香 (2001年11月03日18:25:28 星期六), 站内信件
第八章 实映射分形图
8.4 标准映射
在第七章中已碰到过二维映射,如二维扭转映射,这里将介绍一种最简单的二维映
射——标 准映射(standard map)。二维标准映射是一种保守的离散系统,它对于理解三
维连续系统的 复杂行为很有帮助。可以形象地说,N-1维的离散映射简单地刻画了相应
的N维连续流 (flow)。
标准映射的一般形式为
x_(n+1)=x_n+Ksiny_n,
y_(n+1)=y_n+x_(n+1),
图8.8 R取定为2,改变K得到的标准映射图
此映射的雅可比(C.G.J.Jacobi,1804-1851)矩阵为
J=(偏f/偏x,偏f/偏y;偏g/偏x,偏 g/偏y)_(P=P^*)
=(1,Kcosy;1,1+Kcosy)_(P=P^*)
其雅可比行列式为|J|=1,这说明此系统是保面积的,“保守”一词由此而来。上 式
中的P^*表示映射的不动点,P^*=(x^*,y^*)=(2πm ,0)或者(2πm,π),其中m=0,±1,
±2,…。不动点有两类:一类是 椭圆不动点,一类是双曲不动点。
Program StandardMapHuajie1993;
uses Graph,Crt,dos;
var c,d,i,j,class:integer;
color,backcolor:word;
K,R,coef1,coef2,xs,ys,xe,ye,expn:real;
Gm,Gd,ErrorCode,x,y:integer;
label 10;
function rMOD(y,x:real):real;
begin
if (y>x) AND (y>0) thenrepeaty:=y-x;until y
0;
rmod:=y;
end;
begin
ClrScr; writeln('Input parameter K=');
readln(K); class:=4;
Gd:=Vga; Gm:=VgaHi; InitGraph(Gd,Gm,'d:\pascal');
if GraphResult<>grOK then Halt(1);
coef1:=100/PI;
for d:=1 to class*6 do
begin
ys:=d/2;
for c:=1 to class*6 do
begin
xs:=c/2;
for i:=1 to 100 do
begin
ye:=ys+K*sin(xs); xe:=xs+ye;
xs:=xe; ys:=ye
end;
for j:=1 to 1000 do
begin
ye:=ys+K*sin(xs); xe:=xs+ye;
xe:= rMOD(xe,R*PI); ye:= rMOD(ye,R*PI);
x:=round(70*xe*2/R); y:=round(70*ye*2/R);
if (x>0) and (x<650) then
if (y>0) and (y<479) then
putpixel(x+50,470-y,d);
xs:=xe; ys:=ye;
if keypressed then GOTO 10;
end;
end;
end;
10:
sound(500);
delay(200);nosound;
readln;
closeGraph;
end.
注意,在上述程序中横坐标和纵坐标交换了一下。取R为2,改变参数K,得到 图8.8
,可以看到当K变大时系统容易出现混沌。当固定K=1.2,改变R时,会 出现什么现象呢
?这时得到图8.9。
图8.9 K取定为1.2,改变R得到的标准映射图
--
心事浩茫连广宇,于无声处听惊雷
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.084毫秒