把在形态、功能和信息等方面具有自相似性的对象称为分形。自相似性是指局部的形态与整体的形

态相似,局部与整体相互依赖。由此可以通过局部认识和推及整体。在自然界中,很多的自然景观就具有自相似性。如云彩、山脉、海岸线、火焰、水波等,只要抽

象出这些自然景观的某些特征,再不断放大,就可以得到整体。计算机分形图形就是利用这一原理实现的。

MATLAB作为一种科学计算软件,具有输入简捷、运算高效、内容丰富、扩展性强等特点,并且它还

可与Word结合起来,使含有MATLAB运行内容的文章的编辑变得非常方便。这些特点使MATLAB深受科技人员,特别是非软件专业的人们的喜爱。分形

在所有尺寸下都有无限的细节,因而完全由计算机不可能产生精确的分形,只能给出近似的描绘,即模拟。而这里给出的程序中均有一个控制精度的量,只要计算机

运算速度和屏幕分辨率允许,精度可任意提高。分形可作为双曲迭代函数系统的吸引子,根据程序中迭代的选取,将分形模拟分为确定迭代法和随机迭代法。

Cantor集

取一个欧氏长度的直线段,将该线段三等分,去掉中间一段,剩下两段。将剩下的两段分别再三等分,各去掉中间一段,剩下四段。将这样的操作继续下去,直到无

穷,则可得到一个离散的点集。点数趋于无穷多,而欧氏长度趋于零。经无限操作,达到极限时所得到的离散点集称之为Cantor集。

模拟程序

function f=cantor(ax,ay,bx,by)

c=0.2;d=2;

if (bx-ax)>c

x=[ax,bx];y=[ay,by];hold on;

plot(x,y,'LineWidth',5);hold off;

cx=ax+(bx-ax)/3;

cy=ay-d;

dx=bx-(bx-ax)/3;

dy=by-d;

ay=ay-d;

by=by-d;

cantor(ax,ay,cx,cy);

cantor(dx,dy,bx,by);

end

Koch(科赫)曲 线

在一单位长度的线段上对其三等分,将中间段直线换成一个去掉底边的等边三角形,

再在每条直线上重复以上操作,如此进行下去直到无穷,就得到分形曲线Koch曲线。

模 拟程序

function f=Koch(ax,ay,bx,by,c)

if

(bx-ax)^2+(by-ay)^2

x=[ax,bx];y=[ay,by];

plot(x,y);hold on;

else

cx=ax+(bx-ax)/3;  cy=ay+(by-ay)/3;

ex=bx-(bx-ax)/3; ey=by-(by-ay)/3;

l=sqrt((ex-cx)^2+(ey-cy)^2);

alpha=atan((ey-cy)/(ex-cx));

if

(alpha>=0&(ex-cx)<0)|(alpha<=0&(ex-cx)<0)

alpha=alpha+pi;

end

dy=cy+sin(alpha+pi/3)*l;

dx=cx+cos(alpha+pi/3)*l;

Koch(ax,ay,cx,cy,c);

Koch(ex,ey,bx,by,c);

Koch(cx,cy,dx,dy,c);

Koch(dx,dy,ex,ey,c);

end

输入:Koch(0,0,120,0,10);

Koch曲线也可以“随机生成”。在构造的每一步,每次去掉区间中间三分之一的部分,而用与去掉部

分构成等边三角形的另两边来代替,再用抛硬币的方法决定新的部分位于被去掉的“上边”或“下边”。经几步以后,得到一个看起来相当不规则的随机Koch曲

线,它仍然保留了Koch曲线的某些特征,如具有精细的结构,但Koch曲线具有的严格子相似性已被它所具有的“统计自相似性”所取代。

模拟程序

将Koch()中 第13、14行改为:

val=rand();

if

val<0.95

vv=1;

else

vv=-1;

end

dy=cy+sin(alpha+vv*pi/3)*l;

dx=cx+cos(alpha+vv*pi/3)*l;

输 入:Koch(0,0,120,0,10);

Koch snowflake(科赫雪花)

科赫雪花也称为科赫岛,她的构造是三条科赫曲线的

合成,在一个三角形的三条边上,按照科赫曲线的构造过程不断分割替代,就形成科赫雪花。

模拟程序

function f=kochsnow(l,c)

ax=0;ay=0;bx=l;by=0;

cx=l/2;

cy=l*sqrt(3)/2;

Koch(ax,ay,cx,cy,c);

Koch(cx,cy,bx,by,c);

Koch(bx,by,ax,ay,c);

输入:kochsnow(120,5);

分形树

下面给出树形分形图的MATLAB模拟程序。该分形树是对称

的,利用画线命令line。

模拟程序

h=10;d=0.6;th=pi/4;n=9;

A=zeros(2,2^(n+1)-2);A(:,2)=[0;h];C=[cos(th) -sin(th);sin(th)

cos(th)];D=inv(C);

for i=2:n

B(:,2^(i-1)-1:2^i-2)=A(:,2^(i-1)-1:2^i-2);

A(:,2^i-1:2^i+2^(i-1)-2)=d*C*B(:,2^(i-1)-1:2^i-2)+[0;h]*ones(1,2^i-2^(i-1));

A(:,2^i+2^(i-1)-1:2^(i+1)-2)=d*D*B(:,2^(i-1)-1:2^i-2)+[0;h]*ones(1,2^i-2^(i-1));

end

for i=1:2^n-1

L=line(A(1,[2*i-1 2*i]),A(2,[2*i-1 2*i]));set(L,'LineWidth',2);

end

分形吧matlab,Matlab在分形模拟上的一些应用相关推荐

  1. 树木分形迭代图 matlab,基于迭代函数系统的分形植物模拟

    1. 引言 自然景物模拟是计算机图形学中一个重要研究课题,其中植物形态仿真模拟引起了广泛的关注.许多学者对其进行了大量的研究,目前常见的方法有L-系统 [1] [2] .迭代函数系统 [3] [4] ...

  2. matlab仿真分形树,使用MATLAB实现随机分形树模拟

    使用MATLAB实现随机分形树模拟 尤鸿霞 (南通纺织职业技术学院,南通,226007) 摘要:阐述了植物模拟的典型方法L-系统及迭代函数系统(IFS)的基本原理.根据这两种方法,利用Matlab软件 ...

  3. matlab julia分形图,Mandelbrot集和Julia集的分形图之matlab实现

    Mandelbrot集和Julia集的分形图之matlab实现 基于逃逸时间算法 1. Mandelbrot集 function Mandelbrot(res,iter,xc,yc,xoom) %Ma ...

  4. m图像多重分形谱计算matlab仿真

    目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 多重分形(multi ...

  5. matlab程序作分形蕨,matlab学习第一天笔记

    >> phi=(1+sqrt(5))/2 phi = 1.6180 >> format long >> phi phi = 1.618033988749895 &g ...

  6. 【运动学】基于matlab GUI三体运动模拟【含Matlab源码 871期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[运动学]基于matlab GUI三体运动模拟[含Matlab源码 871期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  7. 基于Matlab的合成孔径雷达模拟陆地场景(附源码)

    目录 一.生成模拟地形 二.指定搜救系统和场景 三.定义地表反射率 四.配置雷达收发器 4.1 生成数据多维数据集 4.2 可视化 SAR 数据 五.总结 六.程序 合成孔径雷达(SAR)系统使用平台 ...

  8. semilogx 多条曲线_怎么让两个指数在一个坐标,matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢...

    Q1:matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢 多个纵轴数组分别是y1,y2,y3,横轴数组为x 命令为: semilogx(x,y1,x,y2,x,y3) 完了 Q2: ...

  9. MATLAB中如何删除坐标上已画出的内容

    在某些坐标显示设计中,需要删除坐标系上已画出的内容,使得显示效果不显得冗余. 代码: %-------------------------------------------------------- ...

  10. 【联合仿真】Adams六关节机械臂与Matlab/Simulink的联合仿真(上)

    Adams六关节机械臂与Matlab/Simulink的联合仿真(上) 前言:一直对于六关节机械臂与simulink的联合仿真很感兴趣,但网上关于实际模型的机械臂联合仿真的资料很少,更别说六关节的联合 ...

最新文章

  1. 电梯为什么显示停止服务器,教你奥的斯服务器怎么看故障
  2. 将DVD刻录盘变成移动硬盘
  3. java-接口与多态-
  4. struct类型重定义 不同的基类型_C++学习大纲:联合类型
  5. 盘点国内高投资低票房的电影巨制
  6. Linux 信号(signal)
  7. 带你玩转接口测试利器Apifox亲测好用
  8. 计算机信息系统用户管理规定,计算机信息系统保密管理暂行办法 | 中华全国商业信息中心...
  9. ShadowGun 飘动的旗帜
  10. 100道c语言经典编程题,C语言经典例题100道
  11. 实现px和vw的转换
  12. 关于google地图的一些使用
  13. 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结
  14. 58、【backtrader股票策略】两资产的配对交易策略(pairs trading strategy)
  15. 微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台
  16. MySQL-备份恢复
  17. 202012-5 星际旅行 C++暴力80分
  18. 7-6 重要的话说三遍(5 分)
  19. ICN6202 4lane MIPI 转LVDS
  20. DNF 关键组件Gameloader.exe

热门文章

  1. 如何用idftp遍历整个目录----下载、删除_delphi教程
  2. 昂达v819i安装win8.1时报错
  3. 测试计算机性能的软件比较专业,用什么软件测验电脑CPU性能最好
  4. DirectoryEntry使用-实现域登录
  5. IBM称欧亚受Conficker病毒感染最严重
  6. 月入30K 的电子工程师很常见吗,需要具备啥素质才配得上这个薪资
  7. fedora安装字体
  8. 用C#对Illustrator矢量图形软件进行编程
  9. FileUpload1文件上传
  10. 冗余网络构建方案对比:VRRP协议、多网卡绑定及WN202冗余链路网卡