Codes in matlab/octave for generating some popular fractals:
Mandelbrot

function mandelbrotmain()
clear variables; clc;
maxit=200;
x=[-2,1];
y=[-1 1];
xpix=601;
ypix=401;
x=linspace(x(1),x(2),xpix);
y=linspace(y(1),y(2),ypix);
[xG, yG]=meshgrid(x,y);
c=mb(maxit,xG,yG);
figure
imagesc(x,y,c);
colormap([1 1 1;0 0 0]);
axis on;
grind on;
endfunction
function count=mb(maxItr,xG,yG)
c=xG+1i*yG;
count=ones(size(c));
z=c;
for n=1:maxItr
z=z.*z+c;
inside=abs(z)<=2;
count=count+inside;
endfor
endfunction
Sierpinski triangle

clc;
clear variables;
close windows;
clf
N=500;
x=zeros(1,N);y=x;r=x;
for a=2:N
c=randi([0 2]);
r(a)=c;
switch c
case 0
x(a)=0.5*x(a-1);
y(a)=0.5*y(a-1);
case 1
x(a)=0.5*x(a-1)+.25;
y(a)=0.5*y(a-1)+sqrt(3)/4;
case 2
x(a)=0.5*x(a-1)+.5;
y(a)=0.5*y(a-1);
end
end
plot(x,y,’o’)
title(‘Sierpinski’s triangle’)
legend(sprintf(‘N=%d Iterations’,N))
Fractal tree

function treemain
tic
clear all;
depth = 7;
figure 1;
hold on;
drawTree2(0, 0, 90, depth);
toc;
endfunction
function drawTree2(x1, y1, angle, depth)
deg_to_rad = pi / 180.0;
rot=30; #degrees :: rotation from second iteration
branchLength=100*depth;
if (depth != 0)
x2 = x1 + cos(angle * deg_to_rad) * branchLength;
y2 = y1 + sin(angle * deg_to_rad) * branchLength ;
line([x1, x2], [y1, y2],’LineWidth’,depth);
drawTree2(x2, y2, angle – rot, depth – 1);
drawTree2(x2, y2, angle + rot, depth – 1);
endif
endfunction
A note on fractal (from HH Hardey):
There are upper and lower limits to describe natural objects by fractals. A figure may look like a fern leaf, but continued generation of the “leaf on larger and larger scales produces only a larger and larger fern leaf. A fern “plant” will never be produced. Similarly, there is a smallest scale to which a fractal description applies. As the overall fern leaf pattern is repeated on smaller and smaller scales, eventually the scale of a single fern plant cell will be reached. A single cell does not look like the overall shape.