NumOfPts = 10000; iter = 50; pts = zeros(NumOfPts,2); for j = 1:NumOfPts x = rand(1); y = rand(1); for i = 1:iter p = [0.11 0.09 0.18 0.19 0.21 0.22]; izbor = round(10*rand()); while ((izbor > 6) || (izbor == 0)) izbor = round(10*rand()); end izbor = p(izbor); if izbor == 0.11 xn = 0.5*x; yn = 0.6*y; x = xn; y = yn; elseif izbor == 0.09 xn = 0.05*x; yn = -0.5*y; x = xn; y = yn; elseif izbor == 0.18 xn = 0.46*x - 0.15*y; yn = 0.39*x + 0.38*y + 0.6; x = xn; y = yn; elseif izbor == 0.19 xn = 0.47*x - 0.15*y; yn = 0.17*x + 0.42*y + 1.1; x = xn; y = yn; elseif izbor == 0.21 xn = 0.43*x + 0.28*y; yn = -0.25*x + 0.45*y + 1; x = xn; y = yn; elseif izbor == 0.22 xn = 0.42*x + 0.26*y; yn = -0.35*x + 0.31*y + 0.7; x = xn; y = yn; end end%i pts(j,1) = x; pts(j,2) = y; end%j xs = pts(:,1); ys = pts(:,2); plot(xs,ys,'.g') axis([min(xs)*1.5,max(xs)*1.5,min(ys)*1.05,max(ys)*1.05]);