Documente Academic
Documente Profesional
Documente Cultură
MATLAB 6.5
1. ACCESO A MATLAB
Debido a que MATLAB es un interpretador de comandos, se puede ejecutar fácilmente
funciones y programas en el ‘prompt’ de MATLAB ( >> ) y programar en un lenguaje
de comandos.
Los archivos de MATLAB tienen la extensión .m (M-files), y funcionan igual en
cualquiera de las versiones y plataformas en las que corra MATLAB. El espacio de
trabajo similar guarda variables, lee, graba y manipula archivos .m, archivos de datos,
sonido y gráficos tipo texto, editor de sonido o gráficos en formato .mat.
Para ingresar a MATLAB, hacer doble click en el ícono de MATLAB,
obteniéndose:
2. ELEMENTOS BASICOS
+ Suma
- Resta
* Multiplicación
/ División
^ Operador de potencia
‘ Transpuesta
Ejemplos:
[6.9 9.64 3.4] es una matriz de 1X3, donde cada elemento es separado por
espacios en blanco.
[6.9, 9.64, 3.4] cumple la misma función que la anterior; con la diferencia que
cada elemento de la matriz se ha separado por comas.
, Usado para separar los subíndices de matriz y los argumentos de una función.
Usado para separar declaraciones en multideclaración de líneas.
Ejemplo:
Ejemplos:
Ejemplo:
Ejemplo:
» A=[1 2 3; 4 5 6; 7 8 9]
A=
1 2 3
4 5 6
7 8 9
» A(:)
ans =
1
4
7
2
5
8
3
6
9
A (: , J) es la J-va columna de A
» A(:,2)
ans =
2
5
8
» A(1:6)
ans =
1 4 7 2 5 8
» A(:,1:2)
ans =
1 2
4 5
7 8
3. FUNCIONES MATRICIALES
Ejemplo:
ans =
33
ans =
ans =
1 4 0
2 5 1
3 -6 -5
ans =
0 0
0 0
» zeros(1,2)
ans =
0 0
ans =
1 1 1
1 1 1
1 1 1
» ones(2,3)
ans =
1 1 1
1 1 1
ans =
1 0
0 1
ans =
Columns 1 through 7
Columns 8 through 10
ans =
ans =
-0.4636 0 0.6435
1.5708 0 -1.1071
-0.1419 -0.9828 0
ans =
11.1380
ans =
ans =
VALORES PROPIOS
» A=[1 2 3; 4 5 -6; 0 1 -5];
» eig(A)
ans =
6.2067
-1.3948
-3.8120
E=
D=
6.2067 0 0
0 -1.3948 0
0 0 -3.8120
ans =
» p1=[1 2 5];
» p1
p1 =
1 2 5
ans =
-1.0000 + 2.0000i
-1.0000 - 2.0000i
ans =
1 3 2
» p1=[1 2 5];
» polyval(p1,2)
ans =
13
ans =
2 2
es decir la derivada del polinomio P(x) = x^2+2x+5 viene a ser: P'(x) = 2x+2
ans =
0.6004 -0.2325
0.4651 -0.0972
ans =
ans =
0 0 + 1.0000i
1.4142 0 + 1.7321i
SUMA
» A=[0 -1; 2 -3];
» B=[4 1; 0 2];
» S=A*B
S=
0 -2
8 -4
RESTA
» A=[0 -1; 2 -3];
» B=[4 1; 0 2];
» R=A-B
R=
-4 -2
2 -5
M=
0 -2
8 -4
» pr=conv(p1,p2)
pr =
1 2 8 6 15
X=
-1.5000
-1.0000
6. GRAFICAMIENTO
El resultado es:
Ejemplo 2: Graficar la respuesta de una función “y” vs. “t” mediante barras.
Ejemplo 3: Graficar la respuesta de una función “y” vs. “t” mediante líneas y
puntos.
[num, den]=ss2tf(A,B,C,D)
[num, den]=ss2tf(A,B,C,D,iu)
donde ‘iu’ es un índice que especifica la entrada que se va a usar para obtener la
respuesta.
x&1 0 1 x1 1 0 u1
= + ;
x&2 − 2 − 3 x2 0 1 u2
x u
y = (1 0 ) 1 + (0 0 ) 1
x2 u2
SOLUCION
x&1 − a1 − a2 L − an −1 − an x1 1
x&2 1 0 L 0 0 x2 0
x& = 0 1 L 0 0 x3 + 0 u
3
M M M M M M M M
x
&n 0 0 L 1 0 xn 0
x1
x
y = (b1 − a1b0 b2 − a2b0 L bn − anb0 ) 2 + b0 u
M
x
n
• Para
y ( s) s+3 b s + b2
= 2 = 2 1 ; donde b0 = 0, b1 = 1, b2 = 3, a1 = 3, a2 = 2
u1 ( s ) s + 3s + 2 s + a1s + a2
x& − 3 − 2 x1 1
⇒ 1 = + u1 ;
x&2 1 0 x2 0
x
y = (1 3) 1 + (0 ) u1
x2
• Para
y ( s) 1 b2
= 2 = 2 ; donde b0 = 0, b1 = 0, b2 = 1, a1 = 3, a2 = 2
u1 ( s ) s + 3s + 2 s + a1s + a2
x& − 3 − 2 x1 1
⇒ 1 = + u2 ;
x&2 1 0 x2 0
x
y = (0 1) 1 + (0 ) u2
x2
x&1 0 1 0 x1 0
x&2 = 0 0 1 x2 + 1 u ;
x& − 160 − 56 − 14 x − 14
3 3
x1
y = (1 0 0 ) x2 + (0) u
x
3
SOLUCION
B( s ) 2s 3 + 5s 2 + 3s + 6
=
A( s ) s 3 + 6s 2 + 11s + 6
SOLUCION
B( s ) 2 s 3 + 5s 2 + 3s + 6 r r r
= 3 = 1 + 2 + 3 +k
A( s ) s + 6s + 11s + 6 s − p1 s − p2 s − p3
2
Veamos:
B( s) −6 −4 3
= + + +2
A( s ) s + 3 s + 2 s + 1
[numd,dend]=c2dm(numc,denc,T,’method’)
T: peridodo de muestreo
method: método de conversión
x&1 − 14 − 56 − 160 x1 1
x&2 = 1 0 0 x2 + 0 u ;
x& 0 1 0 x3 0
3
x1
y = (0 1 0 ) x2
x
3
SOLUCION
Al ejecutarse el programa del archivo disc1.m podemos obtener las matrices en tiempo
discreto G, H, Cd y Dd, así:
Nota: Para convertir modelos de tiempo discreto a tiempo continuo, se usan los
siguientes comandos:
[Ac,Bc,Cc,Dc] = d2cm(G,H,Cd,Dd,T,’method’)
[numc,denc] = d2cm(numd,dend,T,’method’)
step(num,den,t)
step(A,B,C,D,iu,t)
Y ( s) 25
= 2
R( s ) s + 4 s + 25
SOLUCION
N(s)
Caso 1: J = 1, b = 0.5, Kp = 1
Caso 2: J = 1, b = 0.5, Kp = 4
SOLUCION
Nota:
• La respuesta impulsional del sistema Y(s)/R(s) = G(s) es la misma que la respuesta a
un escalón unitario de sG(s).
• La respuesta a una entrada rampa del sistema Y(s)/R(s) = G(s) es la misma que la
resouesta a un escalón unitario de G(s)/s.
x& = Ax + Bu ; y = Cx + Du
donde :
0 1 0 0 0
0 0 1 0 0
A=
0 0 0 1
; B = 5 ; C = (1 0 0 0) ; D = 0
− 100 − 80 − 32 − 8 60
SOLUCION
y = filter(num,den,x)
u(k) = 1, para k = 0
u(k) = 0, para k ≠ 0
u = [1 zeros(1,N)]
u(k) = A, para k = 0
u(k) = 0, para k ≠ 0
u = [A zeros(1,N)]
y( z) 0.4673 z − 0.3393
= 2
u ( z ) z − 1.5327 z + 0.6607
SOLUCION
Ejemplo 9: Obtener la respuesta a una entrada escalón unitario del siguiente sistema:
y( z) 0.4673 z − 0.3393
= 2
u ( z ) z − 1.5327 z + 0.6607
SOLUCION
u = t, para t ≥ 0
u = 0:T:N*T (T en segundos)
o
k = 0:N; u = [k*T]
Ejemplo 10: Obtener la respuesta a una entrada rampa unitaria del siguiente sistema:
y( z) 0.4673 z − 0.3393
= 2
u ( z ) z − 1.5327 z + 0.6607
SOLUCION
dθ i 1 1 1
=− θ i+ θ 0+ Vc2 = f (θ i,θ 0,Vc ) (1)
dt 3000 3000 60000
X =θ i ; V =θ 0 ; U = Vc
1 1 1
X& = − X+ V+ U2 = f (θ i,θ 0,Vc ) (2)
3000 3000 60000
Y = θ i= X = h ( X ,U , W ) (3)
x = X − X , u = Vc − Vc , v = θ 0 − θ 0
se calcula así:
Ecuación de estado :
∂f ∂f ∂f
x& = x+ u+ v
∂X X ∂U U ∂V V
1 2U 1
x& = − x+ U = 20 u + v
3000 60000 3000
1 1 1
x& = − x+ u+ v
3000 1500 3000
x& = Ax + Bu + Ev
Ecuación de salida :
∂h ∂h ∂h
y= x+ u+ w
∂X X ∂U U ∂W W
y = x+0u+0 w
y = Cx + Du + Fw
Se solicita:
SOLUCION