Señales Y Sistemas
1
Introducción A Matlab
Manuel Alberto Guevara Pereira, Camilo Andrés Pinilla Gutiérrez, Wilson Martínez Montaña
la que se escriben los comandos. Historial de comandos (Command History): Contiene el
R ESUMEN ESUMEN El presente artículo es el resultado de la introducción al lenguaje de alto nivel Matlab (Matrix Laboratory) cuyo objetivo fue Lograr un primer acercamiento al software matemátic matemático, o, mediante mediante la verificación verificación de operacione operacioness las oper operac acio ione ness arit aritmé méti tica cass bási básica cas, s, oper operac acio ione ness sobr sobree matrices y gráficas. Palabras Clave —Matlab, Operaciones Básicas en.
listado de los comandos ejecutados en la consola. II. OPERACIONES BÁSICAS Con el prompt (>>) disponible en la línea de comandos, puede escribir operaciones aritméticas básicas (+, -, *, /, ^) entre otras. La definición de vectores y matrices se realiza de la siguiente forma: A = [1 2 3 4 5 6 7];
I. INTRODUCCIÓN Matlab es un software matemático que nos ayuda a realizar operaciones matemáticas con un lenguaje de programación propio el cual se encuentra disponible para plataformas como Linux, Windows y Mac OS X; las operaciones matemáticas las podemos realizar son: matrices, algoritmos, comunicación y progr program amac ació iónn en otro otross leng lengua uaje jes, s, y comu comunic nicac ació iónn y programación en otros dispositivos dispositivos hardware, entre muchas otra otrass func uncione ones. Fue Fue creado eado por Clev 1984,, Clevee Mole Moler r en 1984 surgiendo la primera versión con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra line lineal al y análi análisi siss numér numéric ico, o, sin sin nece necesi sida dadd de escr escrib ibir ir programas en dicho lenguaje. El lenguaje de programación M fue creado en 1970 para proporcionar un sencillo acceso al soft softwar waree de matrice matricess LINPACK sin tene tenerr qu quee LINPACK y EISPACK sin usar Fortran usar Fortran.. Interfaz Gráfica de Matlab
Definición de datos equi-espaciados: T = [0:2:20]; Pasar a revisar el valor de un dato: A (4); Cambiar el valor de un dato: A (4) = 0; Matrices: B = [1 2 3 4; 5 6 7 8; 9 10 11 12]; Ver determinado elemento de la matriz: B (1,4); Ver toda la fila de la matriz: B (2;:); Encontrar los valores minimos y máximos de la matriz: max (B); fb4 = B(1:4);
Directorio actual de Trabajo (Current Directory ): En esta carpeta se guardan las funciones *.m creadas (o se pueden ejecutar las que están en dicha carpeta). Especificar la ruta: C:/.../ por ejemplo: C:/prueba/ Espacio de Trabajo (Workspace): Contiene un listado con las variables o funciones cargadas. Ventana de comandos (Command Window): Consola sobre Artículo entregado el 25 de febrero de 2013.. Los autores son estudiantes de Ingeniería Electrónica en la Fundación Universitaria los Libertadores. Manuel Alberto Guevara Pereira Camilo Andrés Pinilla Gutiérrez Wilson Martínez Montaña
max (fb4); min (fb4);
III. OPERACIONES SOBRE MATRICES
Señales Y Sistemas Operación Comando Resultado Transposición de una matriz Transpuesta deC C’ (convertir un vector fil a en columna) Producto de Matrices C*B Producto de las dos matrices Invertir unamatrizcuadrada inv(C) Inversa delamatriz Suma de un escalar a cadaelemento Matriz del mismo tamaño de la original, donde cadaelemento haquedado C+2 de la matriz sumadopor elescalar Multiplicar cada elemento por un Matriz del mismo tamaño de la original, donde cadaelemento haquedado C*2 escalar multiplicado por el escalar Realizar operaciones lógicas sobre Matriz del mismo tamaño, donde cada elementoequivale a “1” (true) si la cada elemento de la matriz (>, =, <, C>=0 etc) condición se cumple o “0” (false) si la condición no se cumple Multiplicar dos matrices (de las Matriz del mismo tamaño de las originales, donde cada elemento ha
mismas dimensiones) elemento a elemento
Ver imagen 1 Matrices
B= [1 2 3 4; 5 6 7 8; 9 10 11 12] B= (1,4) 1=fila 4=columna Ver imagen 2
C.*F Nota: El punto antepuesto a las
Maximos y minimos
operacionesindicanque la operación es elemento a elemento Potencia de una matriz
2
quedado multiplicado por los dos el ementos respectivos Multiplicación matricial de C por C
C^2
Potencia de cada elemento en una C.^2 matriz Extracción de un elemento de una matriz, mediante su posición (fila, C(1,3) columna) Extracción de unafila de unamatriz, C(3,:) mediante su posición (fila, :) Extracción de unafila de unamatriz, C(:,3) mediante su posición (:, columna) Extracción de un rangode unamatriz, C(1:2,2:4) (fila_i:fila_j, columnak:columna h) Extracción selectiva de una matriz, (fila_i:incremento:fila_j, C(1:2,2:2:4) columna_k:incremento:columha_h)
Matriz del mismo tamaño de las originales, donde cada elemento ha quedadoelevadoalcuadrado. Elemento ubicado en esa posición
Vector fil a Vectorcolumna Matriz2x3
IV. GRAFICAS CON MATLAB Como la base de trabajo de Matlab es discreta, el manejo de funciones continuas, como las señales sinuidales debe hacerse por medio de vectores o matrices. Por ejemplo, una señal seno de determinada frecuencia, está definida para todos los instantes de tiempo por medio de x(t) = A*sin (wt) Para manejar dicha función en matlab, se puede partir de una definición discreta del eje X (eje del tiempo en el caso de una señal sin(t)). Para esto, defina un vector de un número determinado de elementos, por ejemplo, 10 elementos. X=(0:0.1:1); A partir de los datos del eje X es posible calcular los valores del eje Y, por medio de: Y=sin (X*2*pi); Y graficar los pares (x,y): plot(X,Y) V. PROCEDIMIENTO Vectores
A= [1 2 3 4 5 6 7] T= [0:2:20] 0=DATO INICIAL 2=PASO 20=DATO FINAL A(4)=muestra el dato 4 del vector A Operaciones B=A+2 operaciones de sumas escalares C= B/2 división D=B+C suma
FB4=B(1:4) Max(FB4) Min(fB3) Matriz transpuesta Generación de matrices y operaciones:
>> a = [2 4 5 6 7 8 9 4 ;9 3 7 4 5 8 7 3;5 5 4 3 2 6 7 7 ;3 4 5 6 9 8 1 2;3 2 1 5 6 7 8 4]; >> b = [1 8 4 9 3;8 6 3 2 1;3 5 7 9 1;2 4 6 8 8;3 4 4 5 7;9 9 8 6 3 ;7 8 9 5 4;3 5 7 9 2;3 3 4 5 6; 1 2 1 2 5]; >> c = b'; >> d = c(:,1:8); >> e = d'; >> c c= 1 8 4 9 3
8 6 3 2 1
3 5 7 9 1
2 4 6 8 8
3 4 4 5 7
8 6 5 4 4 9 8 5
4 3 7 6 4 8 9 7
9 2 9 8 5 6 5 9
3 1 1 8 7 3 4 2
9 9 8 6 3
>> e e= 1 8 3 2 3 9 7 3 >> a*e ans = 229 281 292 207 304 286 193 255 249 174 223 218 181 232 235 >> f = d(:,1:5); >> f
283 317 259 244 228
180 162 122 161 155
7 8 9 5 4
3 5 7 9 2
3 3 4 5 6
1 2 1 2 5
Señales Y Sistemas 3 8 5 2 1
f= 1 8 4 9 3
8 6 3 2 1
3 5 7 9 1
2 4 6 8 8
3 4 4 5 7
>> inv(f) ans = 0.2077 1.4154 -1.5077 4.0462 -4.7000 >> d + 2
-0.1308 -1.2615 1.4308 -4.0846 4.7000
-0.6077 -2.2154 2.7077 -6.7462 7.9000
0.4769 1.9538 -2.2769 6.1615 -7.2000
-0.0077 -0.0154 -0.0923 0.0538 0.1000
ans = 3 10 10 8 6 5 11 4 5 3 >> d * 2
5 7 9 11 3
4 5 11 9 5 6 6 11 10 7 8 6 10 11 9 10 7 8 7 11 10 9 5 6 4
ans = 2 16 16 12 8 6 18 4 6 2 >> f >= 4
6 4 10 8 14 12 18 16 2 16
6
18 8 18 8 16 10 12 14 6
14 6 16 10 18 14 10 18 8 4
7 1 7 5 3
9 3 9 8 5
1 3 0 3 7
5 2 1 1 9
>> b = find(a > 4); >> b b = 3 4 8 9 10 11 13 14 16 17 19 20 22 23 24 25 30 31 32 36 >> length(b) ans = 20 Graficas de funciones:
ans = 0 1 1 1 0 >> f^2
5 9 6 9 2
1 1 0 0 0
0 1 1 1 0
0 1 1 1 1
72 127 87 132 56
85 129 134 177 100
>> x = (0:0.01:1); >> a = sin (2*pi*7*x); >> b = 2*sin (2*pi*7*x); >> c = cos (2*pi*10*x); >> plot(x,a,'r-', x,b,'g-',x,c,'b-'), grid on
0 1 1 1 1
Ver imagen 3
ans = 104 124 122 148 108
92 78 134 116 142 110 184 146 136 106
>> a = [1 3 5 6 8 9 ;3 5 7 9 1 5;8 9 1 3 3 2;5 6 7 9 0 1;2 9 5 8 3 1;1 2 3 5 7 9]; >> a a= 1
3
5
6
8
9
VI. IMÁGENES
3
Señales Y Sistemas
R EFERENCIAS [1] http://www.lpi.tel.uva.es/SarGrado/prac0/SARp0.html
Imagen 1.
Imagen 2
Imagen 3
VII. CONCLUSIONES Se llevó a cabo la práctica y se logró familiarizarse con el software al aplicar las diferentes operaciones aritméticas, con vectores y matrices y al generar graficas de las funciones.
4