Renato Varas Señales y Sistemas
-
Upload
renato161990 -
Category
Documents
-
view
138 -
download
0
Transcript of Renato Varas Señales y Sistemas
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
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
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
>> 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
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
>> 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))
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
>> 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 ];
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
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
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
>> 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
>> 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);
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)
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)
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)
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+')
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
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
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)
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.}')
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
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