Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Transp PDF
Transp PDF
Universidad de Alcalá
1. ¿QUÉ ES MATLAB?.
Teoría de control
Tratamiento de señales
Inteligencia artificial
Diseño de sistemas de potencia
Control de procesos mecánicos, de aviación, automoción, etc.
Financiero
Mapeo y tratamiento de imágenes
Instrumentación y adquisición de datos
Identificación de sistemas
...
ENTORNO DE TRABAJO
Ventana de comandos:
Directamente sobre S.O. MATLAB
Entorno de trabajo (Workspace):
Visualiza las variables definidas en
cada instante
Editor de ficheros *.m: Editor
inteligente (colores e indentado)
con depurador paso a paso y
visualización de variables internas
Editor de ficheros *.mdl: Editor
gráfico para diseñar modelos de
Simulink
Elección del directorio de
trabajo: Explorador de Windows
Figuras: Potente editor de figuras
con posibilidad de incluir textos,
cambiar el formato, etc.
2. EL USO DE MATLAB
GENERACIÓN DE MATRICES
A=[a b c d e] ó A=[a, b, c, d, e]
A= [a, b, c; d, e, f; g, h, i] ó
a b c
A = d e f
g h i
Ejemplo:
B=[1:1:8]
B=[1 2 3 4 5 6 7 8 ]
Ejemplo:
1 2 3
A = 4 5 6
7 8 9
A(fila_inicial:fila_final, col_inicial:col_final)
Ejemplo:
B=A(1:3,1:2)
1 2
B = 4 5
7 8
VARIABLES
A/B ≠ B/A
ya que A/B= A*B-1 y B/A= B*A-1
• Funciones Elementales.
sin Sine.
sinh Hyperbolic sine.
asin Inverse sine.
asinh Inverse hyperbolic sine.
cos Cosine.
cosh Hyperbolic cosine.
acos Inverse cosine.
acosh Inverse hyperbolic cosine.
tan Tangent.
tanh Hyperbolic tangent.
atan Inverse tangent.
atan2 Four quadrant inverse tangent.
atanh Inverse hyperbolic tangent.
sec Secant.
sech Hyperbolic secant.
asec Inverse secant.
asech Inverse hyperbolic secant.
csc Cosecant.
csch Hyperbolic cosecant.
acsc Inverse cosecant.
acsch Inverse hyperbolic cosecant.
cot Cotangent.
coth Hyperbolic cotangent.
acot Inverse cotangent.
acoth Inverse hyperbolic cotangent.
exp Exponential.
log Natural logarithm.
log10 Common (base 10) logarithm.
log2 Base 2 logarithm and dissect floating point number.
pow2 Base 2 power and scale floating point number.
sqrt Square root.
nextpow2 Next higher power of 2.
abs Absolute value.
• Análisis de datos
• Manipulación de matrices
Tipo de línea
* star
Color + plus
y yellow -- dashed
m magenta x x-mark
c cyan -. dashdot
r red o circle
g green : dotted
b blue . point
w white - solid
k black ^ triangle (up)
< triangle (left)
> triangle (right)
v triangle (down)
d diamond
s square
p pentagram
h hexagram
Ejemplo:
grid
title(‘Ejemplo funcion seno y coseno’)
xlabel(‘tiempo’)
ylabel(‘seno/coseno’)
gtext(‘valor nulo’) % y se coloca el texto en el punto deseado
gtext(‘valor máximo’) % y se coloca el texto en el punto deseado
gtext(‘valor mínimo’) % y se coloca el texto en el punto deseado
Ejemplo:
0.5
seno
-0.5
-1
0 2 4 6 8 10 12 14 16 18 20
tiempo
Ejemplo funcion coseno
1
0.5
coseno
-0.5
-1
0 2 4 6 8 10 12 14 16 18 20
tiempo
function prueba()
%esta función no tiene parámetros de entrada ni de salida
Ejemplo:
function y=media(x)
[m,n]=size(x);
if m==1 %es por tanto un vector
y=sum(x)/n;
else
error ('Debes de introducir un vector');
end
Ejemplo:
[sol,n_sol]=sistema(S)
donde:
• sol= vector que contiene las soluciones al sistema
• N_sol= número de soluciones del sistema
• S=matriz que contiene los coeficientes y términos independientes de
las n ecuaciones en el siguiente formato:
3 − 1 1 - 2
3a − b + c − 2 = 0
S = 5 2 3 - 1
5a + 2b + 3c − 1 = 0
- 1 5 - 2 - 5
− a + 5b − 2c − 5 = 0
function [sol,n_sol]=prac2_1(S)
[filas,columnas]=size(S);
if (filas>columnas)
error('Sistema de ecuaciones no correcto')
else
%vector formado por la ultima col
Aux_1=S(:,columnas);
Ejemplo:
N=maximo(A)
• N= número mayor de A;
• A= vector enviado;
function x=maximo(A)
else
error ('Introduce un vector y no una matriz');
end %fin del if principal
3. EL USO DE SIMULINK
Ejemplo
Numerator [1 2]
Denominator [1 2 5]
CONFIGURACIÓN DE LA SIMULACIÓN
Ejemplo:
Ejemplo:
Desde MATLAB:
>>plot(tout, Salida);
>>plot(tiempo, Salida);
Ejemplo:
Función de transferencia
Función Polo-Cero
Descomposición en fracciones simples
Variables de Estado
FUNCIÓN DE TRANSFERENCIA
num(s) a1 * sm -1 + a 2 * s m - 2 + ... + a ns m -n
H(s) = =
den(s) b1 * s j−1 + b 2 * s j- 2 + ... + b t * s j- t
Ejemplo:
FORMATO POLO–CERO
Ejemplo:
(s + 1)(s + 2)
H(s) = 4
(s + 3)(s + 4)(s + 5)
Mediante un fichero script:
Ejemplo:
En MATLAB:
num1=10;
num2=[1 10]; %(s+10)
num3=[1 0 0 1]; % (s^3+1)
NUM=conv(num1,(conv(num2,num3)));
Ejemplo:
( s + 1)3
H ( s) =
( s + 4)( s + 3) 2 ( s 4 + s 3 + s 2 + 2)
En MATLAB:
s^3 + 3 s^2 + 3 s + 1
----------------------------------------------------
s^5 + 7 s^4 - 3 s^3 - 107 s^2 - 210 s - 72
Ejemplo:
+ (s-1)(s-2)(s-3)
- +
Step Input - (s+1)(s+3)(s-4)
Sum Sum1
Zero-Pole Auto-Scale
Graph
25
s+10
Transfer Fcn
RESPUESTA TEMPORAL
Ejemplo:
>>impulse([1],[1 1]);
Impulse Response
1
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec)
>>step([1],[1 1]);
Step Response
1
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (sec)
Ejemplo:
1
s2 +1.5s+8
Transfer Fcn1
5
-10
10
0.7
15
-20
20
25
-30 0.4
30
35
-40 0.28 0.19 0.135 0.095 0.06 0.03
40
-12 -10 -8 -6 -4 -2 0
Real Axis
Ejemplo:
Dicho valor será aquél que haga que las raíces del lugar representado
anteriormente tengan parte real positiva. Para poder obtener dicho
valor se utiliza la función rlocfind, de esta forma:
>> rlocfind(N,D)
>>[K,raices]= rlocfind(N,D)
Ejemplo:
>> sgrid(0.1,2)
20
15
10
-5
0 2 4 6 8 10 12 14 16 18 20