04.introducción A Matlab
04.introducción A Matlab
04.introducción A Matlab
Grupo 2
Introduccin a Matlab
Jan Bacca Rodrguez
[email protected]
Of: 411-201
Ventana Principal
Ventana de Comandos
(Command Window)
Directorio
Actual
(Current
Directory)
Variables
(Workspace)
Historia de
Comandos
(Command
History)
Nueva Funcin
Abrir Funcin
Los comentarios se
escriben precedidos de
%
Y usar los
resultados en
clculos
posteriores
Path de Matlab
Path de Matlab
Para abrir el
editor del
Path usar el
menu: File
-> Seth
Path
Clases de datos
Todas las variables en Matlab se definen
como matrices de al menos 2 dimensiones.
logical: Verdadero (1) o Falso (0)
char: Caracter, las cadenas de caracteres
son arreglos de datos clase char
int8, int16, int32, int64: Enteros con
signo () de longitud 8, 16, 32 y 64 bits.
uint8, uint16, uint32, uint64: Enteros
positivos (sin signo) de longitud 8, 16, 32 y
64 bits.
Clases de datos
single: Nmero en punto flotante de 4
bytes.
double: Nmero en punto flotante de 8
bytes.
cell: Celda, arreglo de matrices.
struct: conjunto de propiedades y valores
para dichas propiedades
Clases de Datos
double(X)
logical(X)
single(X)
[u]int8[16-32-64] (X)
Operaciones Bsicas
Suma: A + B, plus(A,B)
Resta: A - B, minus(A,B)
Producto de matrices: A * B ,
mtimes(A,B)
Operaciones Bsicas
Operaciones Bsicas
Operaciones lgicas:
A&B, and(A,B) A|B, or(A,B) ~A, not(A)
xor(A,B)
Todas se calculan elemento por elemento.
any(A): Verdadero si un elemento de la entrada
es verdadero
all(A): Verdadero si todos los elementos de la
entrada son verdaderos
Operadores de Relacin
A == B, eq(A,B) A ~= B, neq(A,B)
A < B, lt(A,B)A > B, gt(A,B)
A <= B, le(A,B)A >= B, ge(A,B)
:, colon()
A:C:B, colon(A,C,B): Crea arreglos de la forma:
[A, A+C, A+2C, , B].
C puede ser negativo, y se puede obviar si es uno.
El resultado es un arreglo vaco si A>B y C>0 o si
A<B y C<0
Funciones bsicas
sin(A), cos(A), tan(A), cot(A) , sec(A),
csc(A): Trigonomtricas con argumentos en
radianes.
sind(A), cosd(A), tand(A), cotd(A),
secd(A), cscd(A): Trigonomtricas con
argumentos en grados.
asin(A), acos(A), atan(A), acot(A),
asec(A), acsc(A): Trigonomtricas
inversas con salida en radianes.
asind(A), acosd(A), atand(A), acotd(A),
asecd(A), acscd(A) : Trigonomtricas
inversas con salida en grados.
Funciones bsicas
sinh(A), cosh(A), tanh(A), coth(A) ,
sech(A), csch(A): Trigonomtricas
hiperblicas.
asinh(A), acosh(A), atanh(A), acoth(A),
asech(A), acsch(A): Trigonomtricas
hiperblicas inversas
square(A,P): Onda cuadrada con perodo
2 y valores 1 y -1. A es un vector de
tiempo, P es el porcentaje del perodo en
que la seal es positiva. Se usa como
sin(A).
exp(A): Exponencial (base e)
log(A): Logaritmo natural (base e)
Funciones bsicas
log10(A): Logaritmo base 10
Log2(A): Logaritmo base 2
pow2(A): Exponencial base 2
sqrt(A): Raz cuadrada
abs(A): Valor absoluto/magnitud
angle(A): Fase (nmeros complejos)
conj(A): Conjugado
imag(A)/real(A): Parte imaginaria/ real
sign(A): Signo, 1 para los positivos, -1 para
los negativos y 0 para cero.
Constantes
pi: 3.1415926535
exp(1): e = 2.718281
i, j : -1
inf: Infinito
Constantes
Grficos
Grficos
semilogx(X,Y,O): usa una escala
logartmica base 10 para el eje X
semilogy(X,Y,O): usa una escala
logartmica base 10 para el eje Y
loglog(X,Y,O): usa escalas logartmicas
base 10 para ambos ejes
hold: retiene la grfica actual para poder
dibujar varias en la misma figura, usar
hold por segunda vez libera la figura, la
prxima grfica eliminar las dems
Grficos
Grficos
Grficos
figure(1)
plot(X,Y1,'r')
plot(X,Y2,'b')
title('Ejemplo
Funcin plot')
xlabel('X')
ylabel('Y1 & Y2')
legend('Cinco veces
X','X al cuadrado')
axis([0 11 0 110 ])
Grficos
Grficos
subplot(2,1,1)
stem(X,Y1,'r')
legend('Cinco
veces X')
subplot(2,1,2)
stem(X,Y2,'bx'
)
legend('X al
cuadrado')
Seales en Matlab
Transformaciones de la
variable independiente
Corrimiento: Un
corrimiento es
simplemente un
cambio en los
ndices.
Ejemplo: Y =
X[n+3]
n = [X(4:end)
zeros(1,3)];
% X como vector
Y = sqrt(n+3); %
X como funcin
Transformaciones de la
variable independiente
Inversin:
Ejemplo: Y = X[-n]
X = [zeros(1,12)
X];
Y = fliplr(X);
% voltear el vector
n = [zeros(1,12)
n];
X = sqrt(n);
Y =
sqrt(fliplr(n))
% voltear los
ndices
Transformaciones de la
variable independiente
Escalamiento en tiempo:
Ejemplo: Y = X[2n]
X = [X
zeros(1,12) ];
for i = 1:13
Y(i) = X(2*i-1);
end
% completar con
zeros y escoger
los elementos
adecuados de X
Y = sqrt(2*n)
% escalar los
ndices
Transformaciones de la
variable independiente
Escalamiento en
tiempo:
Ejemplo: Y = X[n/2]
Y = zeros(1,13);
for i = 1:2:13
Y(i) = X((i1)/2+1);
end
Y = zeros(1,13);
for i = 0:2:13
Y(i+1) =
sqrt(i/2);
end
Convolucin
Ejemplo:
0n4
1,
x[n ]
0, otros valores
0n6
0,
otros valores
h[n ]
n,
1.1
Ejemplo
Simulacin digital de
seales & sistemas
continuos
t = n
dvc (t ) vc (n) vc n 1
dt
vc[n]= vc(n)
vs[n]= vs(n)
dv c (t )
1
1
vc (t )
v s (t ) dvc (t ) vc n vc n 1
dt
RC
RC
dt
Simulacin digital de
seales & sistemas
continuos
vc [n ]
vs [n ]
RC
RC
1
RC 1
vc n
vs [n ]
vc n 1
RC
RC
vc n
vs n
vc [n 1]
RC
RC
Simulacin digital de
seales & sistemas
continuos
El mismo principio se puede aplicar para
simular una seal continua
x(t) = x(n) = x[n]
Una seal continua, en principio, se
deber representar con una funcin, no
como un vector de valores
En las transformaciones de la variable
independiente, en lugar de rellenar con
ceros se deben interpolar los valores
intermedios.
Simulacin digital de
seales & sistemas
continuos
RC
vc n
vs n
vc [n 1]
RC
RC