Practica 1.GENERACIÓN DE SEÑALES EN MATLAB
Practica 1.GENERACIÓN DE SEÑALES EN MATLAB
Practica 1.GENERACIÓN DE SEÑALES EN MATLAB
PRCTICA 1
GENERACIN DE SEALES EN MATLAB
*MATERIA: Comunicaciones Analgicas y Digitales *PROFESOR: Dr. Francisco Rafael Trejo Macotela *ALUMNA: Morn Martnez Zyanya *FECHA DE DESARROLLO: 11/SEPTIEMBRE/2012 *FECHA DE ENTREGA: 18/SEPTIEMBRE/2012 *GRUPO: 21827
TELEMTICA
Page 1
*INTRODUCCIN:
MatLab
MatLab es una abreviatura de la frase Matrix Laboratory (Laboratorio de Matrices). Es un entorno informtico de anlisis numrico y representacin grfica de fcil manejo. Originalmente fue escrito para la enseanza de lgebra lineal, aunque actualmente es, al mismo tiempo, un entorno y un lenguaje de programacin. Tambin permite crear funciones propias y programas especiales (denominados archivos-M) en cdigo MatLab, que se pueden agrupar en las llamadas Toolboxes: coleccin especializada de archivos-M para trabajar en distintos tipos de problemas, por ejemplo de optimizacin, de estadstica, de ecuaciones diferenciales parciales, etc. Se puede considerar, por otro lado, que MatLab es una calculadora totalmente equipada aunque, en realidad, es mucho ms verstil que cualquier calculadora para hacer clculos matemticos. Se trata de una plataforma para el desarrollo de aplicaciones y para la resolucin de problemas en mltiples reas de aplicacin. Entre sus utilidades, se encuentra: Clculo matricial y Algebra lineal. Polinomios e interpolacin. Regresin y ajuste de funciones. Ecuaciones diferenciales ordinarias. Integracin. Funciones y grficos en dos y tres dimensiones.
Archivos M
Se pueden colocar rdenes en un simple archivo de texto (o ascii) y, hacer que MatLab lo abra y evale las rdenes exactamente como si hubiesen sido escritas desde la lnea de comandos. Estos archivos se llaman archivos script o archivos-M, y deben finalizar con la extensin m. Para crear un archivo-M se escoge New del men File y seleccionamos M-file. Una vez guardado este archivo-M, MatLab ejecutar las rdenes en dicho archivo simplemente escribiendo su nombre (sin extensin) en la lnea de comandos. Normalmente, las rdenes ledas desde el archivo-M no se visualizan cuando se evalan.
TELEMTICA
Page 2
Nota:
MatLab slo opera en radianes. Para ver las diferentes funciones elementales y trigonomtricas teclear: help elfun
TELEMTICA
Page 3
Logaritmos
log (x) Logaritmo natural. log10 (x) Logaritmo decimal.
Variables y Operadores
Los operadores bsicos que usa MatLab son:
Aritmticos:
ESCALAR + * / \ ^ MATRIZ + * / \ ` VECTOR + .* ./ \. .' DESCRIPCIN Adicin (Suma) Sustraccin (Resta) Multiplicacin Divisin hacia la derecha Divisin hacia la izquierda Transposicin (Potencia)
TELEMTICA
Page 4
Lgicos y Relacionales:
>Mayor que. < Menor que. >= Mayor o igual a. <= Menor o igual a. == Igual a. ~= No igual a.
Grficos
MatLab presenta un entorno grfico de muy fcil manejo. El ejemplo ms sencillo para crear grficos es el siguiente x = rand(10,1); y = rand(10,1); plot(x,y) El comando plot dibuja los puntos (xi; yi) unindolos por lneas continuas. Para dibujar un diagrama de dispersin de las variables x e y se teclea plot(x,y,.) Cuando se pone el comando as plot(x) puede resultar muy til, por ejemplo en series temporales, ya que dibuja los puntos (xi; i) unindolos por lneas continuas. subplot(m,n,p)
TELEMTICA
Page 5
Caracteres especiales
CARACTERES [] () , ; DESCRIPCIN Se utilizan para formar vectores y matrices Define precedencia en expresiones aritmticas. Encierra argumentos de funciones en forma usual Separador de elementos de una matriz, argumentos de funciones y declaraciones en lneas con declaraciones mltiples Separador de declaraciones, termina renglones de una matriz
TELEMTICA
Page 6
*OBJETIVO GENERAL:
En esta prctica aprender a utilizar el programa de MatLab y su funcionamiento. Adems de adquirir destreza, conocimientos prcticos en las operaciones, funciones y elaboracin de graficas. Ya que ocuparemos MatLab en este curso.
*OBJETIVO ESPECFICO:
Entrada y salida de datos. Representaciones graficas sencillas. Realizar operaciones bsicas. Conocer las diferentes funciones de MatLab. Utilizar y conocer los diferentes comandos del Sistema Operativos de MatLab.
*MATERIAL:
Computadora. Software de MatLab.
*Desarrollo:
1-. Instale MatLab en mi computadora. 2-. Iniciamos MatLab. Sale la pantalla en blanco con una lnea de comandos indicada por el smbolo >> donde se puede introducir instrucciones.
Iniciamos MatLab
TELEMTICA
Page 7
Variables actuales
Lnea de Comandos
Historial de Comandos
3-.Realizamos las siguientes operaciones e imprimimos pantalla para comprobar el resultado que nos da. a) b) c) d) e) 255+80-190= 145 95x 100x(-3)= -27000 (20/3)-(1/7)= 137/21 95-44 = 58793 100e-20+150-364= 146
4-. Despus graficamos las siguientes funciones. a) b) c) d) e) 15t2-3t+2 15cos120t 10sen120t+5cos 240t-2 10sen(120t-(/2)) 100e-400t
TELEMTICA
Page 8
Imprimimos pantalla o bien hay un nos abre una ventana donde nos aparece la grafica, hay una opcin en donde dice Edit le damos clic y luego nos colocamos en donde dice Copy Figure y le damos clic, despus se copiara y la imagen que nos genero le damos Control+v en Word o Paint y nos quedara as:
10 8 6 4 2 0 -2 -4 -6 -8 -10
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Edit
Copy Figure
TELEMTICA
Page 9
5-. Desarrollamos una funcin en MatLab para encontrar lo que se pide a continuacin: a) El factorial de un nmero. b) Resolver una ecuacin de segundo grado mediante la frmula general. c) Resolver una ecuacin de segundo grado mediante la regla de Cramer. Guardamos el programa utilizando el editor de texto de MatLab e imprimimos pantalla, para poder visualizar el resultado que nos arroja el programa.
6-. Y por ultimo explicamos el funcionamiento de las siguientes funciones y damos un ejemplo de cada una. Para saber que hace cada funcin nos apoyamos con help funcin, donde funcin sera el nombre de la funcin sobre la que necesitamos la ayuda. Esto se escribe en la lnea de comandos.
Ejemplo:
TELEMTICA
Page 10
a) clc b) dos c) exit d) demo e) help f) info g) clear h) whos i) who j) dir k) cd l) web m) mkdir n) delete o) disp p) size q) length
r) ndims s) numel t) size u) cat v) find w) end x) min y) max z) sort aa) sum bb) sqrt cc) linspace dd) ones ee) rand ff) zeros gg) plot hh) stem ii) subplot
TELEMTICA
Page 11
*RESULTADOS OBTENIDOS:
1.- Realice las siguientes operaciones utilizando MatLab:
a) 255+80-190= 145
c) (20/3)-(1/7)= 6.523809524
d) 95-44 = 58793
TELEMTICA
Page 12
e) 100e-20+150-364= 8.24744892
Editor de texto
TELEMTICA
Page 13
b) 15cos120t
Grafica obtenida
Editor de texto
c) 10sen120t+5cos 240t-2
10
Grafica obtenida
-5
-10
-15
-20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Editor de texto
TELEMTICA
Page 14
d) 10sen(120t-(/2))
Grafica obtenida
10 8 6 4 2 0 -2 -4 -6 -8 -10
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Editor de texto
e) 100e-400t
100 90 80 70 60 50 40 30 20 10 0
Grafica obtenida
Editor de texto
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
TELEMTICA
Page 15
TELEMTICA
Page 16
Variables
TELEMTICA
Page 17
TELEMTICA
Page 18
4-. Explique el funcionamiento de las siguientes funciones y d un ejemplo: Funcin Funcionamiento clc Borra toda la pantalla pero deja internamente el valor de las variables. dos Ejecutar comandos de DOS y resultado devuelto. exit Salir de MatLab demo Acceda a demostraciones de productos a travs del navegador de ayuda. help Proporciona ayuda sobre el tema seleccionado. info Informacin sobre MathWorks. clear Borra toda la pantalla de Workspace. whos Lista las variables en uso y su descripcin. who Enumera todas las variables usadas hasta el momento dir Lista el contenido del directorio actual. cd Cambie el directorio de trabajo actual. web Abra el navegador web en el sitio o los archivos. mkdir Hacer nuevo directorio. delete Eliminar archivo o un objeto grfico. disp Pantalla de matriz. size Devuelve la dimensin de un vector o matriz. length Longitud de un vector, vea tambin size. ndims Nmero de dimensiones. numel Nmero de elementos de una matriz o expresin vector indexada. size Devuelve la dimensin de un vector o matriz. cat Concatenar matrices. find Encuentra los ndices de los elementos distintos de cero. end Terminar alcance de FOR, WHILE, INTERRUPTOR, juzgar y IF. min Componente ms pequeo . max Componente ms grande. sort Ordenar de forma ascendente o descendente. sum Suma de los elementos. sqrt Calcula raz cuadrada. linspace Devuelve un vector linealmente espaciado. ones Devuelve un vector o matriz de unos. rand Linealmente espaciados vector. zeros Zeros matriz. plot Dibuja un grfico. Trama lineal. stem Secuencia discreta o trama "madre". subplot Crear ejes en los puestos de baldosas.
Page 19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
TELEMTICA
*Ejemplo
DOS
Ejemplo: [s, w] = dos('dir') hace un listado de directorio y devuelve s = 0, y la cadena que contiene el listado w.
TELEMTICA
Page 20
EXIT
*Ejemplo: demo 'matlab' demo 'toolbox' 'signal' demo 'matlab' 'getting started' HELP
TELEMTICA
Page 21
INFO
TELEMTICA
Page 22
WHOS
*Ejemplo: whos a* whos -regexp ^b\d{3}$ % Mostrar variables que empiezan con "a" % Mostrar variables nombres que comienzan con "b" % y seguido de 3 dgito whos -file fname -regexp \d % Mostrar nombres de las variables que contienen % los dgitos que hay en fname MAT-file
TELEMTICA
Page 23
WHO
*Ejemplo: who a* who -regexp ^b\d{3}$ % Mostrar nombres de las variables que empiezan con "a" % Mostrar nombres de las variables que empiezan con "b" % y seguido de 3 dgitos who -file fname -regexp \d % Mostrar nombres de las variables que contienen los dgitos % que hay en fname MAT-file
TELEMTICA
Page 24
DIR
TELEMTICA
Page 25
WEB
*Ejemplo: web file:///disk/dir1/dir2/foo.html abre el archivo en foo.html un navegador interno. web('foo.html'); abre la foo.html archivo si est en el camino de MATLAB. web('html/foo.html'); abre el archivo html / foo.html, que es relativa al directorio de trabajo actual. web('text://<html>Hello World</html>'); muestra el texto con formato html dentro de un navegador interno. web('http://www.mathworks.com', '-new'); carga la pgina Web de The MathWorks en un nuevo navegador interno.
TELEMTICA
Page 26
MKDIR
*Ejemplo: Crear una subcarpeta en la carpeta actual Crear una subcarpeta llamada newdir en la carpeta actual: mkdir('../testdata','newFolder')
TELEMTICA
Page 27
DELETE
*Ejemplo: Elimine todos los archivos con una extensin de alfombra en los mytests .. / / carpeta.: delete('../mytests/*.mat') Crear una figura y un eje, y elimine los ejes:
hf = figure, ha = axes hf = 1 ha = 170.0332 delete(ha)
Los ejes se eliminan, pero siguen siendo la figura. Los ejes de manejar ha permanece en el rea de trabajo pero ya no apunta a un objeto.
TELEMTICA
Page 28
DISP
*Ejemplo: Mostrar una matriz con etiquetas de columna En este ejemplo se utiliza DISP para visualizar una matriz con las etiquetas de las columnas:
disp(' Corn Oats Hay') x = gallery('uniformdata',[5 3],0); disp(x)
SIZE
TELEMTICA
Page 29
*Ejemplo: Si X = rand(2,3,4); Entonces d = size(X) returns d = [2 3 4] [m1,m2,m3,m4] = size(X) returns m1 = 2, m2 = 3, m3 = 4, m4 = 1 [m,n] = size(X) returns m = 2, n = 12 m2 = size(X,2) returns m2 = 3
LENGTH
*Ejemplo: Crear un X 1-por-8 matriz y utilizar longitud para encontrar el nmero de elementos en el segundo (el ms grande) dimensin:
X = [5, 3.4, 72, 28/4, 3.61, 17 94 89]; length(X) ans = 8
NDIMS
*Ejemplo:
ndims(x) is length(size(x)).
TELEMTICA
Page 30
NUMEL
CAT
TELEMTICA
Page 31
*Ejemplo: a = magic(3); b = pascal(3); c = cat(4,a,b) produces a 3-by-3-by-1-by-2 result and s = {a b}; for i=1:length(s), siz{i} = size(s{i}); end sizes = cat(1,siz{:}) produces a 2-by-2 array of size vectors. FIND
*Ejemplo: A = magic(3) find(A > 5) encuentra los ndices lineales de las 4 entradas de la matriz A son que mayor que 5. [rows,cols,vals] = find(speye(5)) encuentra el ndices de fila y de columna y los valores no nulos de la 5-por-5 matriz de identidad escasa.
TELEMTICA Page 32
END
*Ejemplo: Este ejemplo muestra final utilizada con las declaraciones a for y if.
for k = 1:n if a(k) == 0 a(k) = a(k) + 2; end end
B = A(end,2:end) B = 18 25 2 9
TELEMTICA
Page 33
MIN
*Ejemplo:
Devolver el mnimo de una matriz 2-por-3 de cada columna: X = [2 8 4; 7 3 9]; min(X,[],1) ans = 2 3 4 Devuelve el mnimo de cada fila: min(X,[],2) ans = 2 3 Comparar cada elemento de X a un escalar: min(X,5) ans = 2 5 5 3 4 5 Page 34
TELEMTICA
MAX
*Ejemplo: Devolver el mximo de una matriz 2-por-3 de cada columna: X = [2 8 4; 7 3 9]; max(X,[],1) ans = 7 8 9 Devuelve el mximo de cada fila: max(X,[],2) ans = 8 9 Comparar cada elemento de X a un escalar: max(X,5) ans = 5 7 8 5 5 9
Page 35
TELEMTICA
SORT
*Ejemplo:
v = [1 -1 i -i]; angle(v) ans = 0 sort(v) ans = 0 - 1.0000i 0 + 1.0000i 1.0000 -1.0000 3.1416 1.5708 -1.5708
TELEMTICA
Page 36
SUM
6 7 2
Esto se llama un cuadrado mgico porque las sumas de los elementos de cada columna son iguales.
sum(M) = 15 15 15
como son las sumas de los elementos en cada fila, obtenidos ya sea mediante la transposicin o mediante el argumento tenue. Transposing
sum(M') = 15 15 15
TELEMTICA
Page 37
SQRT
*Ejemplo:
B = sqrt(X)
LINSPACE
*Ejemplo: Crear un vector de 100 nmeros linealmente espaciadas 1 a 500: A = linspace(1,500); Crear un vector de 12 nmeros linealmente espaciadas 1 a 36: A = linspace(1,36,12); ONES
*Ejemplo: x = ones(2,3,'int8');
TELEMTICA Page 38
RAND
*Ejemplo: Generar valores de la distribucin uniforme en el intervalo [a, b]: r = a + (b-a).*rand(100,1); ZEROS
*Ejemplo: x = zeros(2,3,'int8');
TELEMTICA
Page 39
PLOT
*Ejemplo: plot(X,Y,'c+:') traza una lnea de puntos cyan con un plus en cada punto de datos. plot(X,Y,'bd') diamante azul parcelas en cada punto de datos, pero no dibuja ninguna lnea. x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10)
TELEMTICA
Page 40
STEM
*Ejemplo: Sola serie de datos En este ejemplo se crea un diagrama de tallo que representa el coseno de 10 valores espaciados linealmente entre 0 y 2. Tenga en cuenta que el estilo de lnea de la lnea de base se establece en primer lugar conseguir su asa de propiedad BaseLine el objeto de stemseries.
figure t = linspace(-2*pi,2*pi,10); h = stem(t,cos(t),'fill','--'); set(get(h,'BaseLine'),'LineStyle',':')
set(h,'MarkerFaceColor','red')
TELEMTICA
Page 41
SUBPLOT
*Ejemplo: Subparcelas superior e inferior con ttulos Para trazar los ingresos en la mitad superior de una figura y egresos en la mitad inferior,
income = [3.2,4.1,5.0,5.6]; outgo = [2.5,4.0,3.35,4.9]; subplot(2,1,1); plot(income) title('Income') subplot(2,1,2); plot(outgo) title('Outgo')
TELEMTICA
Page 42
TELEMTICA
Page 43
TELEMTICA
Page 44
*CONCLUSIONES:
En esta prctica aprend a utilizar MatLab, conocer las diferentes funciones que tienen, ya que es indispensable conocer cmo funciona y que hace cada funcin. Desarrolle pequeos programas para resolver alguna ecuacin u obtener una grafica. A pesar de que realizamos graficas sencillas no saba cmo se tenan que hacer, hasta que le algunos manuales que tenia de MatLab y ped ayuda al Prof. Liceaga. Supe que MatLab es una abreviatura de Matrix Laboratory (Laboratorio de Matrices) y que fue creado en 1984 por The MathWorks. Vi que MatLab es un programa fcil de utilizar y aparte nos facilita el trabajo. Tambin conoc la forma de manejar las instrucciones a partir de archivos de extensin .m, ya que esto nos facilita ms el trabajo y ya no es necesario guardar el cdigo en un block de notas. MatLab es un mundo, ya que no solo se utiliza para resolver operaciones sencillas, graficar, sino se puede crear cdigo, programar directamente, procesar seales digitales, realizar circuitos, etc. Porque es un sotware de clculo muy usado en universidades, centros de investigacin y por ingenieros. Me gusto mucho este programa, ya que me va a servir y ser muy til en la materia de Transformadas y Series, Comunicaciones Analgicas y Digitales, Procesamiento y Seales y en mi Estancia II.
*BIBLIOGRAFA:
Manual de Introduccin a MatLab. MATLAB: A Practical Introduction to Programming and Problem Solving. Second Edition Editorial: ELSEVIER http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/commands.html http://html.rincondelvago.com/matlab_1.html Matlab - Modelling, Programming and Simulations Editada por: Emilson Pereira Leite Editorial: SCIYO Aprenda Matlab 6.1 como si estuviera en primero Autores: Javier Garca de Jaln, Jos Ignacio Rodrguez, Alfonso Brazlez Escuela Tcnica Superior de Ingenieros Industriales Universidad Politcnica de Madrid
TELEMTICA
Page 46