声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1445|回复: 4

[编程技巧] 分岔图程序

[复制链接]
发表于 2010-8-27 13:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
谁有正确的分岔图程序,能给我传一个吗?急需,谢谢啦
回复
分享到:

使用道具 举报

发表于 2010-9-25 23:08 | 显示全部楼层
论坛里有些例程,你可以参照一下
发表于 2010-9-25 23:31 | 显示全部楼层
function fern
%FERN  MATLAB implementation of the Fractal Fern
%   Michael Barnsley, Fractals Everywhere, Academic Press, 1993.
%   This version runs forever, or until stop is toggled.
%   See also FINITEFERN.

%分形厥的生成过程实际上是对平面上的一个点不断做变换。设x为一个含两个分量,x1和x2的向量,
%表示一个点。有四种不同的变换,都遵循下面的形式
%x-->Ax+b,
%而取不同的矩阵A和向量b。这被称为仿射变换。最常用的变换是
%A=[0.85 0.04;-0.04 0.85],b=[0;1.6];
%这个变换可缩短并旋转向量x,然后在他的第二个分量上加1.6。反复应用这个变换的将点向上,向右
%移动,朝着厥的顶尖生成点。这个过程中,偶尔也会随机的采用另外三种变换中的一个,他们分别
%将点移到右边的子厥,左边的子厥和茎干的位置上。

%shg%讲一个已有的绘图窗口置于最前,若没有则创建一个新的窗口
%clf reset%将大部分图的属性设置为默认
set(gcf,'color','white',...
   'numbertitle','off','name','Fractal Fern')
x = [-1; 5];%设定初始点的坐标
h = plot(x(1),x(2),'.');
darkgreen = [0 2/3 0];
set(h,'markersize',1,'color',darkgreen,'erasemode','none');%使句柄h对应的点更小,改变它的颜色,并设置当点坐标改变时,屏幕上已绘制的这个点的图像不被抹去。
axis([-3 3 0 10])%设置坐标范围
%axis off%不显示坐标
stop = uicontrol('style','toggle','string','stop', ...
   'background','white');%创建停止按钮
drawnow%重画

p  = [ .85  .92  .99  1.00];%建立一个概率向量
A1 = [ .85  .04; -.04  .85];  b1 = [0; 1.6];
A2 = [ .20 -.26;  .23  .22];  b2 = [0; 1.6];
A3 = [-.15  .28;  .26  .24];  b3 = [0; .44];
A4 = [  0    0 ;   0   .16];%定义四个仿射变换

cnt = 1;%初始哈一个计数器,用来记录绘制点的数目。
tic%启动计时器
while ~get(stop,'value')%没按停止按钮,一直继续

      x = A2*x + b2;

  
   set(h,'xdata',x(1),'ydata',x(2));%重新画点
   drawnow
   cnt = cnt + 1;
end
t = toc;
s = sprintf('%8.0f points in %6.3f seconds',cnt,t);
text(-1.5,-0.5,s,'fontweight','bold');
set(stop,'style','pushbutton','string','close','callback','close(gcf)')


%生成sierpinski三角形,
%令初始点x=[0;0];Ax+b
%迭代矩阵为A=[1/2,0;0,1/2];
%b从下面三个向量中随机等概率地选取:
%b=[0;0];b=[1/2;0];b=[1/4;sqrt(3)/4];
%r=ceil(4*rand);

你看行不?

评分

1

查看全部评分

发表于 2010-9-26 09:13 | 显示全部楼层
回复 zhouyang664 的帖子

不错,可以参考一下!
发表于 2010-10-16 12:20 | 显示全部楼层
回复 lidaijin 的帖子

是的,有好多程序
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 19:34 , Processed in 0.058067 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表