当前位置:首页 > 代码 > 正文

matlab分形树代码(matlab分形图形举例)

admin 发布:2022-12-19 20:04 144


今天给各位分享matlab分形树代码的知识,其中也会对matlab分形图形举例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

matlab程序代码求指导!感激不尽

1.

find用于找出满足其条件(v(j,:)vmax)的值所在的位置

2.

这个赋值可以理解把find找出的每个位置的值都用vmax代替。

举例如下:

我写这样的代码:

clc

clear

all

close

all

v=[0.5,0.7;0.4,0.8;0.9,0.1;0.3,0.2];

vmax=0.5;

for

j=1:4

v(j,find(v(j,:)vmax))=vmax;

end

当j=1时,find(v(j,:)vmax)=2

那么v(j,find(v(j,:)vmax))就是v(1,2),然后赋值也就很明确了。

分形彩图的C或者matlab的源代码(至少3段)

#includegraphics.h

#includestdlib.h

#includemath.h

int main()

{

float m,dx,dy,x,y,x_n,y_n,Cx,Cy;

int n,i,j,L=4;

int gdriver=DETECT,gmode; //gdriver和gmode分别表示图形驱动器和模式,gdriver=DETECT是在测试显示器硬件

initgraph(gdriver,gmode,""); //初始化图形模式

setbkcolor(1); //设置背景色为蓝色

dx=3.0/639;

dy=2.2/479;

for(i=0;i639;i++)

{

Cx=-1.9+i*dx;

for(j=0;j479;j++)

{

Cy=-1.2+j*dy;

x=y=0;

for(n=0;n=1000;n++)

{

x_n=x*x-y*y+Cx;

y_n=2*x*y+Cy;

m=x_n*x_n;

if(mL) break;

x=x_n;

y=y_n;

}

putpixel(i,j,(int)(0.4*m)%16); //在指定位置画一像素(坐标(i,j),第三个计算式为画点的颜色)

}

}

getch(); //任意键返回

closegraph(); //关闭图形模式并返回文本模式

}

关于颜色的设置如下:

━━━━━━━━━━━━━━━━━━━━━━━━━━

符号常数 数值 含义 字符或背景

——————————————————————————

BLACK 0 黑 两者均可

BLUE 1 兰 两者均可

GREEN 2 绿 两者均可

CYAN 3 青 两者均可

RED 4 红 两者均可

MAGENTA 5 洋红 两者均可

BROWN 6 棕 两者均可

LIGHTGRAY 7 淡灰 两者均可

DARKGRAY 8 深灰 只用于字符

LIGHTBLUE 9 淡兰 只用于字符

LIGHTGREEN 10 淡绿 只用于字符

LIGHTCYAN 11 淡青 只用于字符

LIGHTRED 12 淡红 只用于字符

LIGHTMAGENTA 13 淡洋红 只用于字符

YELLOW 14 黄 只用于字符

WHITE 15 白 只用于字符

BLINK 128 闪烁 只用于字符

求改正,这个随机分形树的MATLAB程序到底哪儿错了,运行错误

代码有很多小错误,我帮你修改了下,

这是函数文件

function S1tree(n)

clc;

S='F';a=pi/10;A=pi/2;z=0;zA=[0,pi/2];

p1='FF+[+F+F]-[+F]';

p2='F[+F]F[-F[+F]]';

p3='FF-[-F+F+F]+[+F-F-F]';

for k=2:n

  c=rand(1);

  if c=0.7      S=strrep(S,'F',p1);

  elseif c=0.35 S=strrep(S,'F',p2);

  else           S=strrep(S,'F',p3);

  end

end

figure;

for k=1:length(S)

  switch S(k)

      case 'F'

          plot(real(z+2*exp(i*A)),imag(z+2*exp(i*A)),'g','LineWidth',2);

          hold on;

          z=z+2*exp(i*A);

      case '+'

          A=A+a;

      case '-'

          A=A-a;

      case '['

          zA=[zA;[z,A]];

      case ']'

          z=zA(end,1);

          A=zA(end,2);

          zA(end,:)=[];

      otherwise

  end

end

在主窗口中输入

S1tree(7)

画出的图如下(由于每次运行S1tree(7)代码产生随机数不一样,得到的图不一样但是类似)

关于matlab分形树代码和matlab分形图形举例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/22011.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载