function [ x, y, regra ] = samambaia( N, probabilidades )

if nargin<2
    probabilidades = [ .01 .07 .07 .85 ];
end
x = zeros( N, 1 );
y = zeros( N, 1 );
regra = zeros( N, 1 );
for n=1:(N-1)
    regra(n+1) = aleatorio_especial( probabilidades );
    switch( regra(n+1) )
        case{ 1 }
            % aplica regra 1
            x(n+1) = 0;
            y(n+1) = 0.16 * y(n);
        case{ 2 }
            % aplica regra 2
            x(n+1) = 0.2*x(n) - 0.26*y(n);
            y(n+1) = 0.23*x(n) + 0.22*y(n) + 1.6;
        case{ 3 }
            % aplica regra 3
            x(n+1) = -0.15*x(n) + 0.28*y(n);
            y(n+1) = 0.26*x(n) + 0.24*y(n) + 0.44;
        case{ 4 }
            % aplica regra 4
            x(n+1) = 0.85*x(n) + 0.04*y(n);
            y(n+1) = -0.004*x(n) + 0.85*y(n)+1.6;
    end
end
