【转】MATLAB:分形树叶

标签:
matlabit |
分类: MATLAB |
clc;clear;close all;
M=[0,0,0,0.15,0,0.2;...
p=[0.08,0.8,0.096,0.096]; % 生成几率向量
IFS_draw(M,p); % 调用函数绘图
axis image; % 设置坐标轴属性
set(gcf,'Color','w');
clc;clear;close all;
M=[0.65,0,0,0.65,0.2,0.4;...
p=ones(1,4)/4; % 生成几率向量
IFS_draw(M,p); % 调用函数绘图
axis image; % 设置坐标轴属性
set(gcf,'Color','w');
http://hiphotos.baidu.com/lb%CD%BC%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD/pic/item/5da8d83204ef3494a2cc2b4b.jpg
以下保存为IFS_draw.m文件
function IFS_draw(M,p)
% 迭代函数法生成分形图形的通用函数
% M是矩阵系数
% p是对应的几率
% 比如M的取值是:
% i
a(i)
% 1
% 2
% 3
% 4
% p的取值是:
%
N=30000; % 迭代次数
for k=1:length(p); % 生成映射矩阵a1,a2,...
end
xy=zeros(2,N); % 设置迭代矩阵初值
pp=meshgrid(p); % 生成网格矩阵
pp=tril(pp); % 取上三角矩阵
pp=sum(pp,2); % 对行向量求和,从而得到几率的累加结果
for k=1:N-1;
end
P=complex(xy(1,:),xy(2,:)); % 生成复数点
plot(P,'k.','markersize',2); % 画图
axis equal; % 设置坐标轴属性
clc;clear;close all;
M=[-0.64,0,0,0.5,0.86,0.25;...
p=[0.06,0.22,0.23,0.24,0.25]; % 生成几率向量
IFS_draw(M,p); % 调用函数绘图
axis image; % 设置坐标轴属性
set(gcf,'Color','w');
clc;clear;close all;
M=[0.06,0,0,0.6,0,0;...
p=[0.1,0.1,0.1,0.23,0.23,0.24]; % 生成几率向量
IFS_draw(M,p); % 调用函数绘图
axis image; % 设置坐标轴属性
set(gcf,'Color','w');
以下保存为IFS_draw.m文件
function IFS_draw(M,p)
% 迭代函数法生成分形图形的通用函数
% M是矩阵系数
% p是对应的几率
% 比如M的取值是:
% i
a(i)
% 1
% 2
% 3
% 4
% p的取值是:
%
N=30000; % 迭代次数
for k=1:length(p); % 生成映射矩阵a1,a2,...
end
xy=zeros(2,N); % 设置迭代矩阵初值
pp=meshgrid(p); % 生成网格矩阵
pp=tril(pp); % 取上三角矩阵
pp=sum(pp,2); % 对行向量求和,从而得到几率的累加结果
for k=1:N-1;
end
P=complex(xy(1,:),xy(2,:)); % 生成复数点
plot(P,'k.','markersize',2); % 画图
axis equal; % 设置坐标轴属性