Você está na página 1de 11

Facultad de ingeniera- Universidad Nacional Autnoma de Mxico.

Anlisis de Seales Aleatorias

Proyecto No.1

Nombre del alumno: Carrera Franco Edgar Daniel

Profesor: MOCTEZUMA FLORES MIGUEL DR.

Grupo 2

Fecha de entrega: 23 de febrero de 2017

1. Genera un arreglo de un milln de nmeros aleatorios con distribucin U[0,1].


Grafica su histograma para verificar la correcta generacin de datos.

a=1; b=20000000;
Y=rand(1,1000000);
1. Aplica el siguiente procedimiento para generar al fractal Helecho. 1. Sea (x0,
y0 )= (0,0) un punto en el plano.
2. Genera una variable aleatoria U, uniformemente distribuida U(0, 1), la cual se
interpreta como la probabilidad para escoger aleatoriamente a una trasformacin Ti.
3. Aplica la transformacin Ti al punto (x0, y0) para obtener el nuevo punto (x1, y1) y
grafcalo. El ndice i de la transformacin se determina de acuerdo al intervalo donde
se encuentra la variable U.
4. Repite la operacin a fin de obtener la secuencia de puntos => (x0, y0), (x1, y1), ,
(xn, yn). El proceso es iterativo y el punto anterior sirve para generar al nuevo punto:
5. Genera y grafica un fractal de diez mil puntos
P=[0;0];
M1=[0 0;0 0.16];
M2=[0.85 0.04;-0.04 0.85];
M3=[0.2 -0.26; 0.23 0.22];
M4=[-0.15 0.28;0.26 0.24];
V1=[0;0];V2=[0;1.6]; V3=V2;V4=[0;0.44];

for n=1:1:10000
u=rand;
if u<0.01;
P=M1*P+V1 ;
elseif and(u>=0.01,u<=0.86);
P=M2*P+V2;
elseif and(u>=0.86,u<0.93);
P=M3*P+V3;
else
P=M4*P+V4;
end
x=42.5*P(1);
y=25.6*P(2);
hold on;
plot(x,y,.);

end

Tiempo para generar este fractal:2.35 [min]

6.- Reinicia y genera un fractal de cien mil puntos.


P=[0;0];
M1=[0 0;0 0.16];
M2=[0.85 0.04;-0.04 0.85];
M3=[0.2 -0.26; 0.23 0.22];
M4=[-0.15 0.28;0.26 0.24];
V1=[0;0];V2=[0;1.6]; V3=V2;V4=[0;0.44];

for n=1:1:100000
u=rand;
if u<0.01;
P=M1*P+V1 ;
elseif and(u>=0.01,u<=0.86);
P=M2*P+V2;
elseif and(u>=0.86,u<0.93);
P=M3*P+V3;
else
P=M4*P+V4;
end
x=42.5*P(1);
y=25.6*P(2);
hold on;
plot(x,y,.);

End

Tiempo para generar este fractal:10 [min]

7.- Reinicia y genera un fractal de un milln de puntos.


P=[0;0];
M1=[0 0;0 0.16];
M2=[0.85 0.04;-0.04 0.85];
M3=[0.2 -0.26; 0.23 0.22];
M4=[-0.15 0.28;0.26 0.24];
V1=[0;0];V2=[0;1.6]; V3=V2;V4=[0;0.44];

for n=1:1:1000000
u=rand;
if u<0.01;
P=M1*P+V1 ;
elseif and(u>=0.01,u<=0.86);
P=M2*P+V2;
elseif and(u>=0.86,u<0.93);
P=M3*P+V3;
else
P=M4*P+V4;
end
x=42.5*P(1);
y=25.6*P(2);
hold on;
plot(x,y,.);

end
Nota: para este fractal la computadora tardaba aproximadamente 30 minutos y despus se
apagaba, no poda realizar tantas iteraciones.

. 9.- Repite para generar el fractal Dragn


11.- Repite para generar el fractal Tringulo de Sierpinsky:
clf
hold on
N=100000;
x=zeros(1,N);y=x;
for a=2:N
c=randi([0 2]);
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,'.')

13.- Realiza simulaciones para genera los siguientes fractales, asignando valores a las
probabilidades de las transformaciones Ti. Grafica los resultados y reporta las
probabilidades empleadas.
A=0:1:100;
B=0:1:100;
U =((2*A)+B)/3;
W = (A+2*B)/3;
distAB = sqrt( sum ( (B-A).^2 ) );
angAB = atan2( B(2)-A(2), B(1)-A(1) );
V = U + (distAB/3) * (cos(angAB+pi/3)+ sin(angAB+pi/3) );
P = [ 0 0; 1 0; cos(-pi/3), sin(-pi/3); 0 0 ]; % a triangle
for iteration=1:10

newP = zeros( size(P,1)*4+1, 2);


for i=1:size(P,1)-1
newP(4*i+1,:) = P(i,:);
newP(4*i+2,:) = (2*P(i,:) + P(i+1,:) )/3;
link = P(i+1,:)-P(i,:);
ang = atan2( link(2), link(1) );
linkLeng = sqrt( sum(link.^2) );
newP(4*i+3,:) = newP(4*i+2,:) + (linkLeng/3)*[ cos(ang+pi/3), sin(ang+pi/3) ];
newP(4*i+4,:) = (P(i,:) + 2*P(i+1,:) )/3;
end
newP( 4*size(P,1)+1,:) = P(size(P,1),:);
P = newP;
end
hold on; axis equal;
plot( P(:,1), P(:,2) );

14.- Investiga y reporta:


a) El fundamento del esquema IFS (iterated function systems),

Es una expresin que permite calcular una variable dependiente del valor de otras, o
del suyo propio en un proceso llamado iteracin. Para empezar el proceso de iteracin
se debe conocer el valor inicial de la variable.

Vamos a iterar tres veces la funcin Zn+1 = Zn2 + C, fijando el valor inicial de Z como Z0

Primera iteracin Z1 = Z02 + C

Segunda iteracin Z2 = Z12 + C

Tercera iteracin Z3 = Z22 + C


De esta forma se obtiene Z3 que corresponde al valor de Z despus de tres iteraciones.

B) Algoritmos para generar fractales

c) aplicaciones de los fractales,


Comunicaciones:

Se ha demostrado que el trfico de paquetes a lo largo y ancho de internet sigue un modelo


que se comporta como un fractal, de hecho, analizando grficas del trfico de datos a traves
del tiempo, se puede apreciar la propiedad de autsimilitud, aunque realmente no lo es del
todo, pero si que tiende a serlo. Gracias a estos modelados, se podran disminuir las
prdidas de paquetes producidas por diversos motivos, y mejorar as el rendimiento de la
red.

Otra utilidad de los fractales en el mundo de las comunicaciones est referida a la


fabricacin de antenas. Y es que una antena con forma de algn objeto fractal (como el que
hemos descrito antes) puede mejorar el rendimiento del equipo en mucho menos espacio,
ya que como vimos la longitud va rellenando el plano.

Medicina:

Es evidente el uso de instrumental informtico cuyas infografas se basan en fractales.


Adems la forma de crecimiento de los tejidos tambin tiene un comportamiento fractal. De
hecho, ciertas investigaciones relativas al cancer demuestran que el crecimiento de estos se
rigen por estos objetos geomtricos, y es ms, crecen en la frontera donde "hay hueco" y de
forma lineal, no exponencial como se cree, investigaciones que han resultado bastante
controvertidas en el mundo de la medicina.

Economa:

Se ha comprobado que el cambio de los precios de los activos de las empresas tienen un
comportamiento fractal, y por tanto, pueden ser estudiados utilizando el conocimiento que
tenemos de ellos. Esto frena todo intento de encasillar en modelos estadsticos los mercados
burstiles, y basarse en modelos fractales para obtener mejores predicciones de cambio.

Otras utilidades de los fractales, ya sea en fase de experimentacin o plenamente


desarrolladas estn abajo enumeradas:

Informtica: Tcnicas de compresin (audio y vdeo).

Robtica: Robots Fractales.


Infografa: Paisajes fractales. Es una de las primeras aplicaciones de los fractales, y por
tanto una de las ms desarrolladas

Evolucin de poblaciones: Depredador-presa.

Matemticas: Convergencia de mtodos numricos.

Msica: Composicin musical.

Fsica: Transiciones de fase en magnetismo.

Qumica: Agregacin por difusin limitada (DLA).

Geologa: Anlisis de patrones ssmicos, fenmenos de erosin, modelos de formaciones


geolgicas

d) Las instrucciones de Matlab para generar nmeros aleatorios con distribucin uniforme,
en un rango de 0 a 1, esto es U[0, 1]
Y=rand(a,b)
Genera una matriz de nmeros aleatorios de tamao axb en el rango de cero a uno
e) Las instrucciones de Matlab para generar nmeros aleatorios con distribucin uniforme,
en un rango de a a b, esto es U[a, b]

f) El empleo de las instrucciones de Matlab plot, scatter e hist, dado que con ellas se
puede graficar arreglos de puntos.
Plot

plot(X,Y)crea un diagrama de puntos 2-D de los datos en Ycomparacin con los valores
correspondientes en X.

Si Xy Yson ambos vectores, entonces ellos deben tener la misma


longitud. Las plotparcelas de funcin Yfrente X.

Si Xy Yson dos matrices, entonces ellos deben tener el mismo


tamao. La plotfuncin traza columnas de Yfrente a columnas de X.

Si uno de Xo Yes un vector y la otra es una matriz, la matriz debe tener dimensiones
tales que una de sus dimensiones es igual a la longitud del vector. Si el nmero de filas de
la matriz es igual a la longitud del vector, entonces la plotfuncin representa cada columna
de matriz en comparacin con el vector. Si el nmero de columnas de la matriz es igual a la
longitud del vector, entonces la funcin representa cada fila de la matriz en comparacin
con el vector. Si la matriz es cuadrada, entonces la funcin representa cada columna en
comparacin con el vector.

Si uno de Xo Yes un escalar y el otro es o bien un escalar o un vector, entonces


la plotfuncin de traza puntos discretos. Sin embargo, para ver los puntos que debe
especificar un smbolo de marcador, por ejemplo, plot(X,Y,'o').

Scatter

propiedades de las series de dispersin controlan la apariencia y el comportamiento


de la serie objeto de dispersin. Al cambiar los valores de propiedad, puede
modificar ciertos aspectos de la serie de dispersin.

A partir de R2014b, puede utilizar la notacin de puntos para consultar y establecer


propiedades.

s = dispersin (1: 10,1: 10);


m = S.MARKER;
S.MARKER = '*';

Si est utilizando una versin anterior, utilice el gety setacta en su lugar.

Hist

hist(x) crea un grfico de barras del histograma de los elementos en el vector x. Los
elementos de xse clasifican en 10 contenedores igualmente espaciados a lo largo del X eje y
entre los valores mximo y mnimo x. histmuestra contenedores como rectngulos, tal que
la altura de cada rectngulo indica el nmero de elementos en el bin.

Si la entrada es una matriz de varias columnas, histcrea histogramas para cada columna
de xy las superpone en una sola trama.

Si la entrada es de tipo de datos categorical, cada bin es una categora de x.

Fuentes
https://www.mathworks.com/matlabcentral/fileexchange/34084-fractal-helecho?
requestedDomain=www.mathworks.com
https://www.mathworks.com/help/matlab/ref/rand.html
http://di002.edv.uniovi.es/~dani/asignaturas/transparencias-leccion23.PDF
http://blogcienciasbasicas.blogspot.mx/2009/03/fractales-en-matlab.html
http://sabia.tic.udc.es/gc/Contenidos
%20adicionales/trabajos/Imagenyvideo/fractales/demos.htm
https://www.mathworks.com/matlabcentral/answers/2180-plotting-sierpinski-s-triangle
https://github.com/Gerst20051/MATLAB/blob/master/src/fractals/dragon_curve.m

Você também pode gostar