📄 pickover.m
字号:
%1994年“科学与艺术奇才”皮克欧沃(C.A.Pickover,1957- ),出版了一本有趣的小书《混沌奇境:分形世界虚拟历险记》
%(Chaos in Wonderland,Visu al Adventures in a Fractal World)。书中贯彻始终使用了一个简单的二维映射,
%他称之为国王映射(King map),在每一章开头,作者都给出一张不同面貌的映射图。
%用二维的国王映射可以生成许多类似三维的复杂曲面,调整参数,或者加上高阶摄动项,会得到更多的花样。国王映射的最初形式是
%x_(n+1)=sin(by_n)+csin(bx_n),
%y_(n+1)=sin(ax_n)+dsin(ay_n),
%其中a,b,c,d是可调参数。初始值x_0=y_0=0.1。 比如参数可以取这 样一组值:a=-1.56918, b=2.679879, c=0.865145, d= 0.744728。国王映射Matlab计算程序如下:
function Pickover
% 二维国王映射
% 迭代形式:
% x_(n+1)=sin(by_n)+csin(bx_n),
% y_(n+1)=sin(ax_n)+dsin(ay_n),
%
x=0.1;
y=0.1;
a=-1.56918;
b=2.679879;
c=0.865145;
d=0.744728;
for k=1:10000; % 10000次迭代
x(k+1)=sin(b*y(k))+c*sin(b*x(k));
y(k+1)=sin(a*x(k))+d*sin(a*y(k));
end
plot(x,y,'.')
%三维国王映射的特点是有三个迭代方程,描点时z可用也可不用 。映射的具体形式为:
%x_(n+1)=sin(ay_n)-zcos(bx_n),
%y_(n+1)=zsin(cx_n)-cos(dy_n),
%z_(n+1)=esinx_n.
%matlab计算程序如下:
function Pickover3
% 三维国王映射
% 迭代形式:
% x_(n+1)=sin(by_n)-zcos(bx_n),
% y_(n+1)=sin(cx_n)-cos(dy_n),
% z_(n+1)=fsinx_n.
x=0.1;
y=0.1;
z=0.1;
a=2.24;
b=0.43;
c=-0.65;
d=-2.43;
f=0.7; %f的取值可在0.5至1.0之间改变
for k=1:10000; % 10000次迭代
x(k+1)=sin(b*y(k))-z(k)*cos(b*x(k));
y(k+1)=sin(a*x(k))-cos(d*y(k));
z(k+1)=f*sin(x(k));
end
figure;
plot(x,y,'.')
figure;
plot3(x,y,z)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -