renato varas señales y sistemas
TRANSCRIPT
![Page 1: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/1.jpg)
UNIVERSIDAD POLITÉCNICA SALESIANA
FACULTAD DE INGENIERÍAS
INGENIERA ELÉCTRICA
SEÑALES Y SISTEMAS
QUITO ELECTRICA
PRUEBA Nª 1
Renato Varas
Quito, 23 de Marzo del 2010
![Page 2: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/2.jpg)
Matrices y arreglos
Ingresamos la matriz A
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
suma
>> sum(A)
ans =
34 34 34 34
transpuesta
>> A'
ans =
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
![Page 3: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/3.jpg)
diagonal
>> diag(A)
ans =
16
10
7
1
gira una matriz a la izquierda
>> fliplr(A)
ans =
13 2 3 16
8 11 10 5
12 7 6 9
1 14 15 4
Subscripts
suma elementos de la cuarta columna
>> A(1,4) + A(2,4) + A(3, 4) +A(4,4)
ans =
34
Si ponemos A(4,5) sale error por que no existe.
>> A(4,5)
??? Attempted to access A(4,5); index out of bounds because size(A)=[4,4].
Para incrementar el tamaño de una matriz
![Page 4: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/4.jpg)
>> X=[16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]
X =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>> X(4,5) = 17
X =
16 3 2 13 0
5 10 11 8 0
9 6 7 12 0
4 15 14 1 17
Operador Colon
Operador importante de matlab. Sirve para generar un vector de una determinada distancia .
Ejemplo
>> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
Para obtener un incremento determinado
>> 100:-7:50
ans =
100 93 86 79 72 65 58 51
![Page 5: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/5.jpg)
Otro ejemplo
>> 0:pi/4:pi
ans =
0 0.7854 1.5708 2.3562 3.1416
>> sum(A(1:4,4))
ans =
34
Función Magic
Sirve para crear matrices de cuadrados mágicos
>> B = magic(4)
B =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
Para intercambiar las dos columnas de la mitad
>> A = B(:,[1 3 2 4])
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
![Page 6: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/6.jpg)
>> A = B(:,[4 2 3 1])
A =
13 2 3 16
8 11 10 5
12 7 6 9
1 14 15 4
Expresiones
Para crear una variable que se almacena inmediatamente. Los nombres de las variables
pueden ser letras, o números y letras
>> num_estudiantes=25
num_estudiantes =
25
>> rho = (1+sqrt(5))/2
rho =
1.6180
>> rho = (1+sqrt(5))/2
rho =
1.6180
>> a = abs(3+4i)
a =
5
>> z = sqrt(besselk(4/3,rho-i))
![Page 7: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/7.jpg)
Trabajando con matrices
z =
0.3730 + 0.3214i
>> huge = exp(log(realmax))
huge =
1.7977e+308
>> toobig = pi*huge
toobig =
Inf
>> ros(2,4)
??? Undefined function or method 'ros' for input arguments of type
'double'.
>> Z = zeros(2,4)
Z =
0 0 0 0
0 0 0 0
>> F = 5*ones(3,3)
F =
5 5 5
5 5 5
5 5 5
![Page 8: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/8.jpg)
>> N = fix(10*rand(1,10))
N =
8 9 1 9 6 0 2 5 9 9
>> R = randn(4,4)
R =
-1.3499 0.7147 1.4090 0.7172
3.0349 -0.2050 1.4172 1.6302
0.7254 -0.1241 0.6715 0.4889
-0.0631 1.4897 -1.2075 1.0347
Función load
La función load carga archivos binarios que contienen matrices generadas en sesiones previas
de MATLAB, o lee archivos de texto que contienen datos numéricos y se crea en Word y se lo
graba como un archivo de texto sin nombre y se lo carga con la función load.
>> load magik.dat
>> magik
magik =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Archivos –m
Sirve para guardar los archives realizados en matlab en las ventana del escritor
A = [ ...
16.0 3.0 2.0 13.0
5.0 10.0 11.0 8.0
9.0 6.0 7.0 12.0
4.0 15.0 14.0 1.0 ];
![Page 9: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/9.jpg)
Concatenación
Es el proceso de juntar pequeñas matrices para generar una matriz de mayor tamaño. El
operador de concatenación es [ ].
Ejemplo:
>> B = [A A+32; A+48 A+16]
B =
13 2 3 16 45 34 35 48
8 11 10 5 40 43 42 37
12 7 6 9 44 39 38 41
1 14 15 4 33 46 47 36
61 50 51 64 29 18 19 32
56 59 58 53 24 27 26 21
60 55 54 57 28 23 22 25
49 62 63 52 17 30 31 20
Borrarando filas y columnas de una matriz utilizando los corchetes []
>> X = A
X =
13 2 3 16
8 11 10 5
12 7 6 9
1 14 15 4
![Page 10: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/10.jpg)
Para borrar la segunda columna de X
>> X(:,2) = []
X =
13 3 16
8 10 5
12 6 9
1 15 4
Arreglos adicionales
Algebra lineal
>> A=[16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Suma de una matriz con su traspuesta
>> A + A'
ans =
32 8 11 17
8 20 17 23
11 17 14 26
17 23 26 2
![Page 11: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/11.jpg)
Producto de dos matrices
>> A*A'
ans =
438 236 332 150
236 310 278 332
332 278 310 236
150 332 236 438
Determinante de una matriz
>> d = det(A)
d =
0
Inversa de la matriz B
>> B = [ 1 2 3 4; 5 6 7 8; 1 2 4 4 ; 1 1 3 7]
B =
1 2 3 4
5 6 7 8
1 2 4 4
1 1 3 7
![Page 12: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/12.jpg)
>> C = inv(B)
C =
-1.7500 0.4167 0.3333 0.3333
2.1250 -0.1250 -1.0000 -0.5000
-1.0000 0 1.0000 0
0.3750 -0.0417 -0.3333 0.1667
Comandos de control
La función format controla el formato numérico de los valores que se visualizan en MATLAB. LA
función solo afecta a los valores visualizados no a los cálculos como podemos ver a
continuación.
>> x = [4/3 1.2345e-6]
x =
1.3333 0.0000
>> format short
>> x
x =
1.3333 0.0000
>> format short e
>> x
x =
1.3333e+000 1.2345e-006
![Page 13: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/13.jpg)
>> format short g
>> x
x =
1.3333 1.2345e-006
>> format long
>> x
x =
1.333333333333333 0.000001234500000
>> format long g
>> x
x =
1.33333333333333 1.2345e-006
>> format bank
>> x
x =
1.33 0.00
>> format rat
>> x
x =
4/3 1/810045
>> format hex
>> x
x =
3ff5555555555555 3eb4b6231abfd271
>> A = magic(100);
![Page 14: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/14.jpg)
GRAFICAS
Funciones básica para dibujo creando la grafica de una función
Todas la funciones para graficar se las realiza en la ventana command window como se puede
visualizar
>> x=0:pi/100:2*pi;
>> y = sin(x);
>> plot(x,y)
![Page 15: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/15.jpg)
Añadir etiqueta a los ejes y título.
>> x=0:pi/100:2*pi;
>> y = sin(x);
>> plot(x,y)
>> xlabel('x = 0:2\pi')
>> ylabel('Sine of x')
>> title('Plot of the Sine Function','FontSize',12)
![Page 16: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/16.jpg)
Dibujando múltiples datos en una gráfica
Utilizando plot crean múltiples gráficas. MATLAB utiliza colores distintos para discriminar los
tipos de datos.
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> y2 = sin(x-.25);
>> y3 = sin(x-.5);
>> plot(x,y,x,y2,x,y3)
![Page 17: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/17.jpg)
Especificando tipos de líneas y colores
Los string para color son: 'c', 'm', 'y', 'r', 'g', 'b', 'w' y ‘k’, que corresponden a los colores cyan,
magenta, amarillo, rojo, verde, azul , blanco y negro.
Los string para estilos de línea son: '-' para línea solida, '--' para línea entrecortada, ':' para línea
punteada, and '-.' Para línea y punto.
Los tipos de marcas son: '+', 'o', '*', y 'x', and marcas con relleno son 's' para cuadrado, 'd' para
diamante, '^' para triangulo superior, 'v' para triángulo inferior, '>' para triangulo derecho, '<'
para triángulo izquierdo, 'p' para pentagrama, 'h' para hexagrama.
Dibujando líneas y marcadores
Si se especifica un marcador y no el tipo de línea solo se dibuja el marcador.
En este ejemplo se utilizan diferentes números de puntos para marcar la misma gráfica con
diferentes símbolos
Si se especifica una marcador y no el tipo de línea solo
>> x1 = 0:pi/100:2*pi;
>> x2 = 0:pi/10:2*pi;
>> plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
![Page 18: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/18.jpg)
Dibujando datos imaginarios y complejos
Al utilizar plot con argumento imaginario, se ignora la parte imaginaria, sin embargo se puede
dibujar la parte real versus la parte imaginaria.
>> t = 0:pi/10:2*pi;
>> plot(exp(i*t),'-o')
>> axis equal
![Page 19: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/19.jpg)
Añadiendo gráficos a una gráfica existente
El comando hold, permite añadir gráficos a un dibujo que ya existe. Al escribir hold on,
MATLAB no remplaza el gráfico existen por un nuevo gráficoal utilizar el comando plot.
>> [x,y,z] = peaks;
>> pcolor(x,y,z)
>> shading interp
>> hold on
>> contour(x,y,z,20,'k')
>> hold off
![Page 20: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/20.jpg)
comando figure
Un comando gráfico inmediatamente abre una nueva figura. Si una figura existe, MATLAB
sobrescribe la figura ya existente, Si se gráfican varios dibujos, se abren varias figuras,
MATLAB solo muestra la última figura.
>> t = 0:pi/10:2*pi;
>> [X,Y,Z] = cylinder(4*cos(t));
>> subplot(2,2,1); mesh(X)
>> subplot(2,2,2); mesh(Y)
>> subplot(2,2,3); mesh(Z)
>> subplot(2,2,4); mesh(X,Y,Z)
![Page 21: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/21.jpg)
Controlando los ejes
El comando axis, proporciona un número de opciones para configurar el escalamiento,
orientación, y el aspecto del radio de los gráficos.
>> t = -pi:pi/100:pi;
>> y = sin(t);
>> plot(t,y)
>> axis([-pi pi -1 1])
>> xlabel('-\pi \leq {\itt} \leq \pi')
>> ylabel('sen(t)')
>> title('Grafica de la función seno')
>> text(1,-1/3,'{\itNote la simetria impar.}')
![Page 22: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/22.jpg)
Scripts y funciones
Cuando se invoca un SCRIPT, MATLAB ejecuta los comandos encontrados en un archivo. Los
SCRIPT pueden operar sobre variables cargadas en la ventana de comando.
Ejemplo:
En la ventana principal de MATLAB, de un clic sobre la barra desplegable
FILE, New M-file, esto le permite crear un archivo nuevo.
r =
Columns 1 through 8
0 0 3.00 3.00 5.00 5.00 7.00 3.00
Columns 9 through 16
9.00 7.00 11.00 3.00 13.00 9.00 15.00 3.00
Columns 17 through 24
17.00 11.00 19.00 3.00 21.00 13.00 23.00 3.00
Columns 25 through 32
25.00 15.00 27.00 3.00 29.00 17.00 31.00 3.00
![Page 23: Renato Varas Señales y Sistemas](https://reader034.vdocuments.net/reader034/viewer/2022050723/5571f40749795947648ee7fe/html5/thumbnails/23.jpg)
Funciones
Son archivos de tipo M que aceptan argumentos de entrada y retorna argumentos de salida. El
nombre del M-file y de la función debe ser la misma. La primera línea del editor tiene el
comando function y el nombre de la función la que es igual a los argumentos de entrada
>> S=8
S =
8.00
>> potdos(S)
x =
256.00
ans =
256.00
CONCLUSIONES
Se pudo aprender muchos comandos del laboratorio de matrices.
Se comprobó que el laboratorio de matrices en un programa que nos permite hacer cualquier
operación matemática en forma de matriz.
Este laboratorio de matrices es muy útil para graficar las señales que mas adelante
comenzaremos utilizar en la metria.
Por :
Renato Varas
UPS
Quinto Eléctrica