Mandelbrot集和Julia集的分形图之matlab实现

基于逃逸时间算法

1. Mandelbrot集

function Mandelbrot(res,iter,xc,yc,xoom)

%Mandelbrot

% res是目标分辨率,iter是循环次数,(xc,yc)是图像中心,xoom是放大倍数

x0=xc-2/xoom;x1=xc+2/xoom;

y0=yc-2/xoom;y1=yc+2/xoom;

x=linspace(x0,x1,res);

y=linspace(y0,y1,res);

[xx,yy]=meshgrid(x,y);

z=xx+yy*1i;

C=z;

N=zeros(res,res); %初始化N,最终根据N,对各点进行染色

tic % 显示tic和toc间的程序运行时间

for k=1:iter

z=z.^2+C; %对空间上每点都进行迭代

N(abs(z)>4)=k; %逃逸半径为4,诺某点逃逸,记录逃逸时间k,未逃逸则时间为0

z(abs(z)>4)=0;

C(abs(z)>4)=0;

end

imshow(N,[]);

toc

end

>>Mandelbrot(512,100,0,0,1)

>>Mandelbrot(512,128,-1.478,0,300)

2.Julia集

function Julia(c,res,iter,xc,yc,xoom)

%Julia集

%c为参数, res是目标分辨率,iter是循环次数,(xc,yc)是图像中心,xoom是放大倍数

x0=xc-2/xoom;x1=xc+2/xoom;

y0=yc-2/xoom;y1=yc+2/xoom;

x=linspace(x0,x1,res);

y=linspace(y0,y1,res);

[xx,yy]=meshgrid(x,y);

z=xx+yy*1i;

N=zeros(res,res);

C=c*ones(res,res);

for k=1:iter

z=z.^2+C;

N(abs(z)>2)=k;

C(abs(z)>2)=0;

z(abs(z)>2)=0;

end

colormap jet;

image(x,y,N);

axis square;

end

>>Julia(i,512,200,0,0,1) >> Julia(i,512,200,0,0,2000)

上面两张图很好的反映分形的自相似性,右图是左图关于原点放大2000倍的情况。

>>Julia(0.1+0.7i,512,200,0,0,1)

>>Julia(-0.8-0.21i,512,200,0,0,1)

3.newton分形

参考: /f?kz=1469535720

附注:

4*.matlab的矩阵运算和循环运算比较

function test(N)

A=rand(N);

tic

B=A>0.5;

toc

tic

for i=1:N

for j=1:N

if A(i,j)>0.5

B(i,j)=1;

else B(i,j)=0;

end

end

end

toc

运行程序:

>> test(100)

Elapsed time is 0.000108 seconds.

Elapsed time is 0.000476 seconds.

>> test(1000)

Elapsed time is 0.029430 seconds.

Elapsed time is 0.053551 seconds.

>> test(10000)

Elapsed time is 0.565822 seconds.

Elapsed time is 24.152359 seconds.

从中可知在matlab中完成同样的操作,矩阵效率要远远优于循环效率。本文的两个程序均包含循环,当数据量大时,运行时间会很长。

julia集 matlab代码,Mandelbrot集和Julia集的分形图之matlab实现.docx相关推荐

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

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

  2. 集列的上限集和下限集

    以集合论的标准语言来说,一个集合序列的下确界是这些集合的可数交,也就是包含在所有集合里的最大集合: X={X1,X2,⋯,Xn,⋯}infX=⋂m=1∞Xm X=\{X_1,X_2,\cdots,X_ ...

  3. a*算法matlab代码_NSGAII多目标优化算法讲解(附MATLAB代码)

    小编今天为大家讲解NSGA-II多目标优化算法,提到多目标优化,大家可能第一个就想到NSGA-II算法,今天小编就带领大家解开NSGA-II的神秘面纱. NSGA-II全称是快速非支配排序遗传算法,这 ...

  4. arima模型matlab代码_PSTR面板平滑转换模型简介(附Matlab代码分享)

    写论文的时候用到的~相关的资料太少了,做一些简单内容和资料的分享.(PSTR模型的Matlab代码分享在最后)本文主要为简单理论和粗暴实操~ 有用的话可以点个赞哟(知乎小白卑微求赞) 嘻嘻下面进入正题 ...

  5. 认知无线电matlab代码详解,认知无线电频谱感知之功率检测matlab代码.docx

    认知无线电频谱感知之功率检测matlab代码 能量检测仿真实验代码:clear all;clc;n = 5;ps = 1;SNR1 = -5;SNR2 = -8;SNR3 = -10;% Sim_Ti ...

  6. 机器学习中为啥要有验证集?只要训练集和测试集不就可以了吗?

    在机器学习中,开发模型时总需要调节模型的参数,比如改变权重.选择层数或每层的大小,这个调节过程需要在训练的模型上通过验证集数据的表现来提供一个反馈信号,去修改网络模型及参数.这就是验证集的作用,这也会 ...

  7. 领域平均法matlab代码实验,数字图像处理邻域平均法滤波实验报告matlab实现.doc...

    数字图像处理邻域平均法滤波实验报告matlab实现 数字图像处理 实验报告 实验三 邻域平均法滤波 学号 姓名 实验三 邻域平均法滤波 一.实验内容 选取噪声较明显的图像,分别采用3*3.5*5.7* ...

  8. 轴承静力学分析的matlab代码,求球轴承的静力学与拟静力学的matlab程序

    function solvenonl2_Eqs clear all; clc format short x0=[0.001 0.001  0.2  0.2]; options = optimset(' ...

  9. 1.7 开发集和测试集的大小-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.6 开发集合测试集的大小 回到目录 1.8 为什么是人的表现 什么时候改变开发和测试集评估指标 (When to change dev/test sets and met ...

  10. 浅谈元学习中的支持集和查询集

    一.元学习概述 元学习是机器学习的一种学习范式,最早由人工智能科学家Jurgen Schmidhuber在1987年5月14日提交的博士论文中提出的概念.元学习使用较多的应用场景是有标注数据很少的情况 ...

最新文章

  1. 牛客小白月赛6 H 挖沟
  2. 类文件结构-method-init和类文件结构-method-main
  3. 电脑无法连接到系统服务器,请问怎么客户端的电脑连接不到服务器?这是什么原因?...
  4. Shiro的subject实质上是当前执行用户的特定视图。
  5. 学python有前途吗-我们能用Python做什么?学Python有前途吗?
  6. [Xcode 实际操作]一、博主领进门-(15)读取当前应用的信息
  7. CORE网络数据包接收传递过程分析
  8. Webview 非http或者https的网络请求拦截
  9. Anaconda下载安装Pytorch遇到的几个问题及解决办法
  10. python中关于__new__和__init__的个人理解
  11. matlab不定积分曲线族画图,matlab不定积分
  12. 强烈安利:小顽简报,一款高效实用的PPT新插件
  13. c语言中如何用sqar函数,简易函数信号发生器设计_毕业论文.doc
  14. Hyperledger Explorer 区块链浏览器
  15. SpringMVC超详细入门
  16. JAVA计算机毕业设计新疆旅游专列订票系统Mybatis+源码+数据库+lw文档+系统+调试部署
  17. 苹果以旧换新活动_为什么苹果手机回收官方报价那么低?内行人告诉你!
  18. 第十九节 串口通讯与终端设备
  19. 广告文案创意无法突破?试试这个
  20. 文本处理--中文分词

热门文章

  1. Matlab在工业机器人中的运用,基于MATLAB的工业机器人建模与仿真.docx
  2. php+正则匹配qq,PHP正则匹配联系方式手机号、QQ、微信、邮箱、固定电话
  3. 简述算法和程序的区别并举例说明
  4. Sublime Text编辑器设置中文
  5. 计算机键盘静音键咋不亮,键盘上的声音开关键不能用为什么
  6. 基于 SpringCloud 微服务架构的广告系统(第二部分:广告投放、微服务调用与断路器)
  7. 国际象棋 小麦 用java怎么算_蓝桥杯-放麦子-java
  8. iOS视频开发(一):视频采集
  9. 怎样自制微信gif动态表情包?
  10. C++11 时间编程(3)时间点表示time_point,时钟类型,当前时间获取