SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Referencias para utilizar Matlab
Temas: Números complejos, Funciones y operaciones, Funciones de usuario, Inversa de una matriz,
Ecuaciones lineales, Bucles y decisiones, Interpolar, Ajuste de curvas y polinomios, Tiempo, Gráficos,
Entrada-salida, Conversión de base, Arrays, Puesta a punto, MuPAD, Integral, Derivada, ODE
Números Complejos
>> sqrt(-1)
ans = 0 + 1.0000i % No utilizar i o j para otras variables
Algunas operaciones:
>> c=2+3i
c = 2.0000 + 3.0000i
>> c=complex(2,3)
c = 2.0000 + 3.0000i
>> conj(c)
ans = 2.0000 - 3.0000i
>> real(c)
ans = 2
>> imag(c)
ans = 3
>> abs(c) % sqrt(real(c).^2 + imag(c).^2)
ans = 3.6056
Forma polar o exponencial responde a:
Diagrama de Argand
Rectangular a Polar:
>> r=abs(c)
r = 3.6056
>> tetha=angle(c)
tetha = 0.9828
Exponencial a Rectangular:
>> c=r*exp(i*tetha)
c = 2.0000 + 3.0000i
Polar a Rectangular:
>> c=r*cos(tetha)+i*r*sin(tetha)
c = 2.0000 + 3.0000i
Dibujar un círculo en forma polar:
>> circle = exp( 2*i*[1:360]*pi/360 );
>>plot(circle)
>>axis('equal')
Gráfica Polar:
>> theta = 0:2*pi/100:2*pi;
>>r = theta/(2*pi);
>>polar(theta,r),title('Gráfica polar con radio creciente')
-1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
30
210
60
240
90
270
120
300
150
330
180 0
Gráfica polar con radio creciente
𝑟
𝜃
𝑐 𝑥 + 𝑖𝑦
𝑥 𝑟𝑐𝑜𝑠( 𝜃)
𝑦 𝑟𝑠𝑖𝑛( 𝜃)
Eje real
Eje imaginario
Conversión de coordenadas cartesianas a polares o cilíndricas:
[THETA,RHO] = cart2pol(X,Y)
Conversión de coordenadas polares a cartesianas:
[X,Y] = pol2cart(THETA,RHO)
Funciones y operaciones matemáticas comunes
Funciones matriciales:
’ Traspuesta
[f, c]=size(x)
rand(n) Matriz de números aleatorios
eye(n) Matriz identidad
zeros(n) Matriz de ceros
ones(n) Matriz de unos
diag(n) Crea o extrae diagonales
det(x) Determinante
eig(x) Autovalores
Funciones vectoriales:
max(x) % Cuando matriz, máximo de cada columna. Máximo de matriz: max(max(x))
min(x)
sum(x)
prod(x)
median(x) Mediana % Más funciones estadísticas: plot(x,y) y activar Tools  Data Statistics
mean(x) Promedio o media
any(x) Si al menos un valor es desigual a cero
all(x) Si todos los valores son desiguales a cero
Funciones elementales:
abs(x) Módulo
sqrt(x) Raíz cuadrada
sign(x) El signo de x, (0 si x = 0, −1 si x < 0, y +1 si x > 0)
round(x) Se redondea al entero más cercano
fix(x) Se redondea al entero más cercano a cero
floor(x) Se redondea al entero más cercano a -∞
ceil(x) Se redondea al entero más cercano a +∞
rem(x,y) Devuelve el residuo de x/y
find(x) Indices a valores desiguales a cero
norm(x) % Norma Euclídea
Funciones Trigonométricas (Suponen ángulos en radianes):
Conversión de ángulos:
ang_grados=ang_radianes*(180/pi)
ang_radianes= ang_grados*(pi/180)
sin(x)
cos(x)
tan(x)
cot(x)
sec(x)
csc(x)
Funciones Trigonométricas Inversas:
asin(x)
acos(x)
.
Funciones exponenciales y logarítmicas:
exp(x)
log(x) ( )
log10(x) ( )
Funciones Hiperbólicas:
sinh(x)
.
Funciones Hiperbólicas Inversas:
asinh(x)
.
Precedencia de los operadores (de mayor a menor):
Operadores aritméticos:
.’ .^ ’ ^ ~(Not) .* ./ . * /  + -
Producto/división elemento por elemento (matrices de igual tamaño):
x.*y=[x(1)*y(1), x(2)*y(2),…,x(n)*y(n)]
x./y=[x(1)/y(1), x(2)/y(2),…,x(n)/y(n)]
Ejemplo1: Evitar división por cero
>> x=[-1:.5:1]
>> sin(x)./x
ans =
0.8415 0.9589 NaN 0.9589 0.8415
>> x = x + (x==0)*eps % eps es una constante ≈ 2.2e-16, representa la precisión de operaciones en MATLAB
>> sin(x)./x
ans =
0.8415 0.9589 1.0000 0.9589 0.8415
Ejemplo2: Evitar infinito
x = -3/2*pi : pi/200 : 3/2*pi;
y = tan(x);
plot(x, y)
figure;
y = y .* (abs(y) < 1e10); %Devuelve cero sólo en las asíntotas
plot(x, y)
Operadores relacionales:
< <= > >= == ~=
Operadores lógicos:
~ (NOT) & (And) | (Or) && (And, escalar) || (Or, escalar)
Ejemplo:
La magnitud de un vector:
[ ]
es
| | √ + + +
S:
>>magnitud=sqrt(sum(v.*v))
>>magnitud_otra=norm(v) % Norma euclídea
Ver problema 28
Funciones de usuario
function z=euclidea(x,y)
z=sqrt(x.^2+y.^2);
end
Se ejecuta:
>> z=euclidea(2,3)
z = 3.6056
Inversa de una matriz
 La matriz por la matriz identidad es la matriz original: A=A*I=I*A
 Dos escalares son inversas si su producto es 1 (Ej.: .5 y 2)
 Dos matrices son inversas si su producto es la matriz identidad:
 Para que exista la inversa: La matriz debe ser cuadrada y su rango (número de filas o columnas linealmente
independientes) igual al número de filas (ver ejemplo bucle If).
Ejemplo:
Matriz cuya tercera columna es 3 veces la primera (no es linealmente independiente):
a =
1 2 3
4 5 12
7 8 21
>> rank(a)
ans = 2
>> inv(a)
Warning: Matrix is singular to working precision.
ans =
Inf Inf Inf
Inf Inf Inf
Inf Inf Inf
-5 -4 -3 -2 -1 0 1 2 3 4 5
-80
-60
-40
-20
0
20
40
60
80
-5 -4 -3 -2 -1 0 1 2 3 4 5
-6
-4
-2
0
2
4
6
x 10
15
Ecuaciones lineales
Solución de un producto vectorial:
+ +
>>a=[1 -2 -3]
>>x=[2 3 4]
>> dot(a,x)
ans = -16
>> a*b'
ans = -16
Ecuaciones básicas:
>> solve('3*x-2=0')
ans = 2/3
Solución de un sistema de ecuaciones lineales:
Forma: Ax=b
+
+ +
+
>> A=[3 2 -1; 2 5 2; 4 -2 5]
A =
3 2 -1
2 5 2
4 -2 5
>> b=[15 1 7]'
b =
15
1
7
>> x=inv(A)*b % Utilizando la inversa (ver Jacobiano, Filtro lineal y ejemplo de If)
x =
4.5794
-0.6262
-2.5140
>> x=Ab % Utilizando la división
x = linsolve(A,b) % Otra opción
Forma: xA=b
x y b deben ser vectores filas
>> bp=b'
bp =
15 1 7
>> xp=bp*inv(A)
xp =
2.4766 -0.0280 1.9065
>> bp=xp*A
bp =
15.0000 1.0000 7.0000
Bucles y Decisiones
Bucles:
for indice = j:m:k
sentencias
end
Ejemplo
while expresión
sentencias
end
Ejemplo:
x=-1;
while x<=1
if x==0
disp('Se encontró cero');
break, % Sale del bucle (utilizado con for y while) continue sigue el lazo
end
y=sin(x)/x
x=x+.5
end
% Salta aquí cuando se ejecuta break
Decisiones:
if expresión1
sentencia1
elseif expresión2
sentencia2
elseif expresión3
sentencia3
.
.
else
sentencian
end
Ejemplo:
[nf,nc] = size(A);
if nf ~= nc
disp(‘No existe la inversa, la matriz no es cuadrada’)
elseif rank(A) ~= nf
disp(‘No existe la inversa, el rango no es igual al número de filas’)
else
disp(‘Inversa de la Matriz:’)
disp(inv(A))
end
switch expresión
case valor1
sentencias1
case valor2
sentencias2
·
·
otherwise
sentenciasn
end
Ejemplo:
x = 3.2; % x en metros
unidades ='pulgadas';
switch unidades
case {'pulgadas'}
y = x*0.0254;
case{'pies'}
y = x*0.3048;
case{'metros'}
y = x;
case{'centímetros'}
y = x/100;
case{'milímetros'}
y = x/1000;
otherwise
disp(['Unidad desconocida: ' unidades])
y = NaN;
end
Interpolar, Ajuste de curvas y polinomios
t=linspace(n1, n2, n) n valores de n1 a n2
t=inicio:incremento:final
Interpolación lineal:
A partir de la ecuación que se deduce de los triángulos similares, supone que la función entre dos puntos se puede
estimar con una línea recta.
Ejemplo:
x = 0:1:10;
y = sin(x);
xi = 0:.1:10;
ylin = interp1(x,y,xi); % Interpolación lineal
ycub = spline(x,y,xi); % Comparación con Spline (ver Ejemplo)
plot(x,y,'o',xi,ylin,'r',xi,ycub,'g')
0 1 2 3 4 5 6 7 8 9 10
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
𝑓(𝑎) 𝑓(𝑏)
𝑏 𝑎
𝑓(𝑎) 𝑓(𝑐)
𝑐 𝑎
y
x
𝑓(𝑎)
a b c
𝑓(𝑏)
𝑓(𝑐)𝑓(𝑏) 𝑓(𝑎) +
𝑏 𝑎
𝑐 𝑎
(𝑓(𝑐) 𝑓(𝑎))
Regresión o ajuste de curvas:
Ejemplo1:
x = 0:0.1:1;
y = [-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
a = polyfit(x,y,3) % Devuelve a = 16.0758 -33.9245 29.3246 -0.6104
yhat = polyval(a,x); % Polinomio solución: ̂ +
err = yhat - y
MSE = mean(err.^2)
RMSE = sqrt(MSE)
plot(x,y,'o',x,yhat),title('Regresión lineal'),...
xlabel('x'),ylabel('y'),...
grid,axis([-.1,1.1,-.5,11.5]),legend('medida','estimada',4)
% Realizar la interpolación directamente en gráfico: plot(x,y) y activar Tools  Basic Fitting
% Obtener datos estadísticos directamente en gráfico: plot(x,y) y activar Tools  Data Statistics
Ejemplo2, Ejemplo3
Polinomios:
( ) + % a=[1 4 -7 -10] ; A = x.^3+ 4*x.^2 - 7*x - 10;
( ) + % b=[0 1 0 1] ; B = s.^2 + 1;
polyval(a,x) Evalúa el polinomio
c=a+b Suma polinomios
c=a-b Resta polinomios
c=conv(a,b) Multiplica polinomios
[q r]=dconv(a,b) División de polinomios % q=Cociente, r=Resto;
polyder(a) Derivada del polinomio
polyint(a,C) Integral del polinomio
r=roots(a) Raíces del polinomio % Valores de x para los cuales A(X)=0;
a=poly(r) Coeficientes del polinomio % Coeficientes del polinomio cuya raíz es r;
Ejemplo:
a=[1 5 11 13]
b=[1 2 4]
>> [q r] = deconv(a,b) % a/b = q + r/b
q = 1 3
r = 0 0 1 1
+ + +
+ +
+ +
+
+ +
Tiempo
tic;
for t=1:5000
y(t)=sin(2*pi*t/10);
end
ttranscurrido = toc % Tiempo transcurrido
Gráficos
Funciones básicas:
plot(x, y, ’g*-’)
stairs(x, y) % Gráfico discreto
fplot(@(x) 200*sin(x(:))./x(:), [-20 20]) % Ajuste automático de número de puntos
title(’Título del gráfico’)
xlabel(’…’)
ylabel(’…’)
axis([xmin, xmax, ymin, ymax, …])
axis square
figure
subplot
% Colocar texto en gráfico con gtext, a través del cursor
>> x=0:.01:2;
>> y=exp(x);
>> z=4*sin(3*x);
>> plot(x,y,x,z), xlabel('x'), gtext('y'), gtext('z');
[x, y]=ginput(n) % Lectura de n puntos directamente de un gráfico
Ejemplos de gráficos en 3D
0 0.2 0.4 0.6 0.8 1
0
2
4
6
8
10
Regresión lineal
x
y
medida
estimada
Entrada-salida
>>disp(‘Hola’)
Hola
>> fprintf( 'Errores son: %5.1f %12.2en', 1.256, 0.1256 )
Errores son: 1.3 1.26e-001
>>x = input( ’Entre el valor de x: ’ ) % Entrada de valores por teclado
>> K = menu('Seleccione un color','Rojo','Azul','Verde') % Entrada a través de un cuadro de diálogo
>> a=5.123456789 % Cambia formato en que se ven los datos (no confundir con eps, precisión de cálculo)
a = 5.1235
>> format long
>> a
a = 5.123456789000000
De archivos:
uiimport % Importar datos
save salida.dat A –ASCII % Salvar datos
Conversión de base
dec2bin(d)
bin2dec(b)
dec2hex(d)
hex2dec(h)
dec2base(d,b) % A cualquier base
Arrays % Se atiende un conjunto de elementos como una sola entidad
Arrays o clases en MATLAB: numéricos, caracteres, lógicos, célula, estructura, referencia de funciones, Java.
Ejemplo de Estructura: Nombre, email, DNI, edad, calificaciones
Alumno.nombre='Juan Pérez' % Datos del primer alumno
Alumno.email='juan@yahoo.com'
Alumno.DNI='43033342'
Alumno.edad=34
Alumno.calificaciones=[3 5 2 8]
Alumno(2).nombre='Carlos Sánchez' % Datos del segundo alumno
Alumno(2).email='carlos@yahoo.com'
Alumno(2).DNI='36355542'
Alumno(2).edad=30
Alumno(2).calificaciones=[2 7 3 7]
>> Alumno % Estructura creada
Alumno =
1x2 struct array with fields:
nombre
email
DNI
edad
calificaciones
>> max(Alumno(1).calificaciones) % Máxima calificación del primer alumno
ans = 8
>> Alumno(2).email % email del segundo alumno
ans = carlos@yahoo.com
>> mean(Alumno(1).calificaciones) % Promedio de calificaciones del primer alumno
ans = 4.5000
struct(‘nombre’,……) % Otra forma de crear estructuras
Ejemplo de Células:
AlumnoC=struct2cell(Alumno) % Convierte la anterior estructura a células
cellplot(AlumnoC) % Visualiza la estructura de las células
>> AlumnoC{2,1,2}
ans = carlos@yahoo.com
>>AlumnoC{2,1,2}='carloss@yahoo.com' % Altera el email del segundo alumno
Ejemplo 2 de Células:
Definir la siguiente tabla
Jamaica [1995, 1996, 1997]
[70 73 65 79;
69 68 81 82;
72 77 78 81]
3 de Setiembre de 2011
D(1,1)={'Jamaica'};
D(1,2)={[1995, 1996, 1997]};
D(2,1)={[70 73 65 79; 69 68 81 82; 72 77 78 81]};
D(2,2)={'3 de Septiembre de 2011'};
celldisp(D) % Muestra el contenido de los elementos del arreglo
cellplot(D) % Muestra visual
Pais=D{1,1} % Muestra el contenido de una celda
Maxhum1996=max(D{2,1}(2,:)) % Máxima humedad de 1996 (segunda fila de D)
cell(n) % Crea celda de tamaño nxn
Puesta a punto (Debugging)
A continuación se muestra una captura de un programa dividido en células (no confundir con células de arrays), para
facilitar su puesta a punto
Cada célula se identifica a través de %%, lo que permite ejecutar secciones de programa de forma separada,
facilitando la puesta a punto.
La utilización de puntos de ruptura (Breakpoints) permite ejecutar el programa hasta determinada línea de código,
utilizando Set/Clear Breakpoints desde el menú Debug.
MuPAD
Es la herramienta (a través de Notebooks) que permite obtener la solución de problemas utilizando matemática
simbólica.
>> mupadwelcome
Integral
Numérica:
x=linspace(0,4,200);
y=2*ones(1,200);
z=trapz(x,y) % Integral de un rectángulo
z = 8
% Posición a partir de velocidad
( ) ∫ ( ) + ( ) % Ecuación base
t=0:10; % Tiempo
v=[0 3 5 7 8 10 25 45 55 60 76]; % Velocidad
% Se calcula posición
p(1)=0;
for k=1:10
p(k+1)=trapz(t(k:k+1), v(k:k+1)) + p(k);
end
Analítica:
Derivada
Numérica:
x=[x(1), x(2),…x(n)];
dx=[x(2)-x(1), x(3)-x(2),…,x(n)-x(n-1)]; % Diferencia de valores sucesivos
>> x=[5 9 10 13];
>> y=diff(x)
y = 4 1 3
Analítica:
ODE
Ecuaciones diferenciales ordinarias: ̇( ) ; ̈( ) ; (Conceptos básicos).
Consideraciones para obtener la solución:
Tipo:
-Paso fijo: Período de muestreo constante para la solución, requerido para generar código
-Paso variable: Período de muestreo variable, este es menor mientras mayor es la tasa de cambio de las variables.
Discreto o continuo:
-Discreto: Presencia de variables de estado discretas
-Continuo: Presencia de variables de estado continuas
Algoritmo:
-ode1: Método de Euler , Simulink
-ode45: Cuarto o quinto orden del método de Runge-Kutta
-ode15s: Ecuaciones con mayor dificultad (stiff equations)
Simulink: Simulation  Configuration Parameters…
Ejemplos:
-Sistemas de primer orden
-Sistemas de segundo orden
Sistemas lineales:
initial(ss)
dt=0.01 % Período muestreo
t=[0:dt:10];
% Se definen las matrices
A=[0, 1;-3, -2];
B=[0; 1];
C=[1 0];
D=0;
% Se crea el modelo
ejemp=ss(A,B,C,D);
% Solución utilizando initial
yt=initial(ejemp, [y0, dy0], t);
Comparación de initial con ode45

Más contenido relacionado

La actualidad más candente (19)

Matlab 2 Capitulo 4
Matlab 2 Capitulo 4Matlab 2 Capitulo 4
Matlab 2 Capitulo 4
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlab
 
Matlab
MatlabMatlab
Matlab
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
matlab
matlabmatlab
matlab
 
AritméTica Del Computador
AritméTica Del ComputadorAritméTica Del Computador
AritméTica Del Computador
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Matrices pseint
Matrices   pseintMatrices   pseint
Matrices pseint
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
sistemas de numeración que maneja el computador
sistemas de numeración que maneja el computadorsistemas de numeración que maneja el computador
sistemas de numeración que maneja el computador
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Asignacion #3
Asignacion  #3Asignacion  #3
Asignacion #3
 
Estadística con Lenguaje R: Sesión 2
Estadística con Lenguaje R: Sesión 2Estadística con Lenguaje R: Sesión 2
Estadística con Lenguaje R: Sesión 2
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 
Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01
 
Ejercicios MATLAB
Ejercicios MATLABEjercicios MATLAB
Ejercicios MATLAB
 
Matlab
MatlabMatlab
Matlab
 
Graficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlab
 
Matlab
MatlabMatlab
Matlab
 

Destacado

Cinematica Vehiculos
Cinematica VehiculosCinematica Vehiculos
Cinematica VehiculosOmar Sanchez
 
Robots móviles y antropomórficos
Robots móviles y antropomórficosRobots móviles y antropomórficos
Robots móviles y antropomórficosJavier Aguilar Cruz
 
Robot de triciclo
Robot de tricicloRobot de triciclo
Robot de tricicloJoel Perea
 
Robots con ruedas
Robots con ruedasRobots con ruedas
Robots con ruedasIES Monreal
 

Destacado (6)

Cinematica con resultados
Cinematica con resultadosCinematica con resultados
Cinematica con resultados
 
WEP and WPA exposed
WEP and WPA exposedWEP and WPA exposed
WEP and WPA exposed
 
Cinematica Vehiculos
Cinematica VehiculosCinematica Vehiculos
Cinematica Vehiculos
 
Robots móviles y antropomórficos
Robots móviles y antropomórficosRobots móviles y antropomórficos
Robots móviles y antropomórficos
 
Robot de triciclo
Robot de tricicloRobot de triciclo
Robot de triciclo
 
Robots con ruedas
Robots con ruedasRobots con ruedas
Robots con ruedas
 

Similar a Referencias MATLAB

Similar a Referencias MATLAB (20)

Funciones parte i
Funciones parte iFunciones parte i
Funciones parte i
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3
 
CLASE 01.pdf
CLASE 01.pdfCLASE 01.pdf
CLASE 01.pdf
 
CLASE 04.pdf
CLASE 04.pdfCLASE 04.pdf
CLASE 04.pdf
 
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
 
Matemáticas
MatemáticasMatemáticas
Matemáticas
 
Clase8 minisem
Clase8 minisemClase8 minisem
Clase8 minisem
 
Algebra
AlgebraAlgebra
Algebra
 
Tutoria Algebra I Bimestre 20082
Tutoria Algebra I Bimestre 20082Tutoria Algebra I Bimestre 20082
Tutoria Algebra I Bimestre 20082
 
Clase 6
Clase 6Clase 6
Clase 6
 
Clase 6
Clase 6Clase 6
Clase 6
 
Fundamentos Matematicos
Fundamentos MatematicosFundamentos Matematicos
Fundamentos Matematicos
 
Ejercicios funciones-4c2ba-opcic3b3n-b (1)
Ejercicios funciones-4c2ba-opcic3b3n-b (1)Ejercicios funciones-4c2ba-opcic3b3n-b (1)
Ejercicios funciones-4c2ba-opcic3b3n-b (1)
 
Ejercicios funciones-4c2ba-opcic3b3n-b (1)
Ejercicios funciones-4c2ba-opcic3b3n-b (1)Ejercicios funciones-4c2ba-opcic3b3n-b (1)
Ejercicios funciones-4c2ba-opcic3b3n-b (1)
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Resumen formulas en Matemática para bachillerato 2015
Resumen formulas en Matemática para bachillerato 2015 Resumen formulas en Matemática para bachillerato 2015
Resumen formulas en Matemática para bachillerato 2015
 
Funciones elementales
Funciones elementalesFunciones elementales
Funciones elementales
 
Clase 1_Funciones.pdf
Clase 1_Funciones.pdfClase 1_Funciones.pdf
Clase 1_Funciones.pdf
 

Más de Omar Sanchez

Assembly programming II
Assembly programming IIAssembly programming II
Assembly programming IIOmar Sanchez
 
Assembly programming
Assembly programmingAssembly programming
Assembly programmingOmar Sanchez
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler ProgrammingOmar Sanchez
 
Functions for Nano 5 Card
Functions for Nano 5 CardFunctions for Nano 5 Card
Functions for Nano 5 CardOmar Sanchez
 
Ejemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaEjemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaOmar Sanchez
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionOmar Sanchez
 
Segmentación de imagenes
Segmentación de imagenesSegmentación de imagenes
Segmentación de imagenesOmar Sanchez
 
Imagen e histograma
Imagen e histogramaImagen e histograma
Imagen e histogramaOmar Sanchez
 
Funciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiFunciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiOmar Sanchez
 
Sensores de robots
Sensores de robotsSensores de robots
Sensores de robotsOmar Sanchez
 
Vehiculos no tripulados
Vehiculos no tripuladosVehiculos no tripulados
Vehiculos no tripuladosOmar Sanchez
 
Algunos aspectos de estabilidad
Algunos aspectos de estabilidadAlgunos aspectos de estabilidad
Algunos aspectos de estabilidadOmar Sanchez
 
Control basado en modelo
Control basado en modeloControl basado en modelo
Control basado en modeloOmar Sanchez
 
Algunas consideraciones
Algunas consideracionesAlgunas consideraciones
Algunas consideracionesOmar Sanchez
 

Más de Omar Sanchez (20)

Assembler4
Assembler4Assembler4
Assembler4
 
Assembly programming II
Assembly programming IIAssembly programming II
Assembly programming II
 
Assembly programming
Assembly programmingAssembly programming
Assembly programming
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler Programming
 
Functions for Nano 5 Card
Functions for Nano 5 CardFunctions for Nano 5 Card
Functions for Nano 5 Card
 
Ejemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaEjemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametrica
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Nano5 features
Nano5 featuresNano5 features
Nano5 features
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po Realimentacion
 
Fundposori
FundposoriFundposori
Fundposori
 
Segmentación de imagenes
Segmentación de imagenesSegmentación de imagenes
Segmentación de imagenes
 
Imagen e histograma
Imagen e histogramaImagen e histograma
Imagen e histograma
 
Funciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiFunciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en Krasovskii
 
Sensores de robots
Sensores de robotsSensores de robots
Sensores de robots
 
Vehiculos no tripulados
Vehiculos no tripuladosVehiculos no tripulados
Vehiculos no tripulados
 
Algunos aspectos de estabilidad
Algunos aspectos de estabilidadAlgunos aspectos de estabilidad
Algunos aspectos de estabilidad
 
Control basado en modelo
Control basado en modeloControl basado en modelo
Control basado en modelo
 
Grupos próximos
Grupos próximosGrupos próximos
Grupos próximos
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Algunas consideraciones
Algunas consideracionesAlgunas consideraciones
Algunas consideraciones
 

Último

Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfjhorbycoralsanchez
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfautomatechcv
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfAnthony Gualpa
 
ENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptx
ENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptxENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptx
ENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptxjosetuanama2
 
ENFOQUE METODOLOGICO DE LA INVESTIGACION
ENFOQUE METODOLOGICO DE LA INVESTIGACIONENFOQUE METODOLOGICO DE LA INVESTIGACION
ENFOQUE METODOLOGICO DE LA INVESTIGACIONJOHNNY SURI MAMANI
 
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfSESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfEsvinAlvares
 
Sistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas EstructuraSistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas EstructuraJairoMaxKevinMartine
 
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdfnurix_15
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfElenaNagera
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejerciciosEfrain Yungan
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxOSCARADRIANMEDINADUR
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfAuraGabriela2
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALFOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALRiveraPemintelAlejan
 
Análisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaAnálisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaJoellyAlejandraRodrg
 
04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptx04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptxHenryApaza12
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxaxelalejossantos
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxKeylaArlethTorresOrt
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasPaulina Cargua
 

Último (20)

Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdf
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdf
 
ENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptx
ENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptxENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptx
ENSAYO DE PENETRACIÓN ESTÁTICA CTP ULTRADEFINITIVO.pptx
 
ENFOQUE METODOLOGICO DE LA INVESTIGACION
ENFOQUE METODOLOGICO DE LA INVESTIGACIONENFOQUE METODOLOGICO DE LA INVESTIGACION
ENFOQUE METODOLOGICO DE LA INVESTIGACION
 
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfSESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
 
Sistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas EstructuraSistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas Estructura
 
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicios
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptx
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALFOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
 
Análisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaAnálisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadística
 
04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptx04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptx
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicas
 

Referencias MATLAB

  • 1. Referencias para utilizar Matlab Temas: Números complejos, Funciones y operaciones, Funciones de usuario, Inversa de una matriz, Ecuaciones lineales, Bucles y decisiones, Interpolar, Ajuste de curvas y polinomios, Tiempo, Gráficos, Entrada-salida, Conversión de base, Arrays, Puesta a punto, MuPAD, Integral, Derivada, ODE Números Complejos >> sqrt(-1) ans = 0 + 1.0000i % No utilizar i o j para otras variables Algunas operaciones: >> c=2+3i c = 2.0000 + 3.0000i >> c=complex(2,3) c = 2.0000 + 3.0000i >> conj(c) ans = 2.0000 - 3.0000i >> real(c) ans = 2 >> imag(c) ans = 3 >> abs(c) % sqrt(real(c).^2 + imag(c).^2) ans = 3.6056 Forma polar o exponencial responde a: Diagrama de Argand Rectangular a Polar: >> r=abs(c) r = 3.6056 >> tetha=angle(c) tetha = 0.9828 Exponencial a Rectangular: >> c=r*exp(i*tetha) c = 2.0000 + 3.0000i Polar a Rectangular: >> c=r*cos(tetha)+i*r*sin(tetha) c = 2.0000 + 3.0000i Dibujar un círculo en forma polar: >> circle = exp( 2*i*[1:360]*pi/360 ); >>plot(circle) >>axis('equal') Gráfica Polar: >> theta = 0:2*pi/100:2*pi; >>r = theta/(2*pi); >>polar(theta,r),title('Gráfica polar con radio creciente') -1 -0.5 0 0.5 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 30 210 60 240 90 270 120 300 150 330 180 0 Gráfica polar con radio creciente 𝑟 𝜃 𝑐 𝑥 + 𝑖𝑦 𝑥 𝑟𝑐𝑜𝑠( 𝜃) 𝑦 𝑟𝑠𝑖𝑛( 𝜃) Eje real Eje imaginario
  • 2. Conversión de coordenadas cartesianas a polares o cilíndricas: [THETA,RHO] = cart2pol(X,Y) Conversión de coordenadas polares a cartesianas: [X,Y] = pol2cart(THETA,RHO) Funciones y operaciones matemáticas comunes Funciones matriciales: ’ Traspuesta [f, c]=size(x) rand(n) Matriz de números aleatorios eye(n) Matriz identidad zeros(n) Matriz de ceros ones(n) Matriz de unos diag(n) Crea o extrae diagonales det(x) Determinante eig(x) Autovalores Funciones vectoriales: max(x) % Cuando matriz, máximo de cada columna. Máximo de matriz: max(max(x)) min(x) sum(x) prod(x) median(x) Mediana % Más funciones estadísticas: plot(x,y) y activar Tools  Data Statistics mean(x) Promedio o media any(x) Si al menos un valor es desigual a cero all(x) Si todos los valores son desiguales a cero Funciones elementales: abs(x) Módulo sqrt(x) Raíz cuadrada sign(x) El signo de x, (0 si x = 0, −1 si x < 0, y +1 si x > 0) round(x) Se redondea al entero más cercano fix(x) Se redondea al entero más cercano a cero floor(x) Se redondea al entero más cercano a -∞ ceil(x) Se redondea al entero más cercano a +∞ rem(x,y) Devuelve el residuo de x/y find(x) Indices a valores desiguales a cero norm(x) % Norma Euclídea Funciones Trigonométricas (Suponen ángulos en radianes): Conversión de ángulos: ang_grados=ang_radianes*(180/pi) ang_radianes= ang_grados*(pi/180) sin(x) cos(x) tan(x) cot(x) sec(x) csc(x) Funciones Trigonométricas Inversas: asin(x) acos(x) . Funciones exponenciales y logarítmicas: exp(x) log(x) ( ) log10(x) ( ) Funciones Hiperbólicas: sinh(x) . Funciones Hiperbólicas Inversas: asinh(x) . Precedencia de los operadores (de mayor a menor): Operadores aritméticos: .’ .^ ’ ^ ~(Not) .* ./ . * / + - Producto/división elemento por elemento (matrices de igual tamaño): x.*y=[x(1)*y(1), x(2)*y(2),…,x(n)*y(n)] x./y=[x(1)/y(1), x(2)/y(2),…,x(n)/y(n)] Ejemplo1: Evitar división por cero >> x=[-1:.5:1] >> sin(x)./x ans = 0.8415 0.9589 NaN 0.9589 0.8415 >> x = x + (x==0)*eps % eps es una constante ≈ 2.2e-16, representa la precisión de operaciones en MATLAB >> sin(x)./x ans = 0.8415 0.9589 1.0000 0.9589 0.8415
  • 3. Ejemplo2: Evitar infinito x = -3/2*pi : pi/200 : 3/2*pi; y = tan(x); plot(x, y) figure; y = y .* (abs(y) < 1e10); %Devuelve cero sólo en las asíntotas plot(x, y) Operadores relacionales: < <= > >= == ~= Operadores lógicos: ~ (NOT) & (And) | (Or) && (And, escalar) || (Or, escalar) Ejemplo: La magnitud de un vector: [ ] es | | √ + + + S: >>magnitud=sqrt(sum(v.*v)) >>magnitud_otra=norm(v) % Norma euclídea Ver problema 28 Funciones de usuario function z=euclidea(x,y) z=sqrt(x.^2+y.^2); end Se ejecuta: >> z=euclidea(2,3) z = 3.6056 Inversa de una matriz  La matriz por la matriz identidad es la matriz original: A=A*I=I*A  Dos escalares son inversas si su producto es 1 (Ej.: .5 y 2)  Dos matrices son inversas si su producto es la matriz identidad:  Para que exista la inversa: La matriz debe ser cuadrada y su rango (número de filas o columnas linealmente independientes) igual al número de filas (ver ejemplo bucle If). Ejemplo: Matriz cuya tercera columna es 3 veces la primera (no es linealmente independiente): a = 1 2 3 4 5 12 7 8 21 >> rank(a) ans = 2 >> inv(a) Warning: Matrix is singular to working precision. ans = Inf Inf Inf Inf Inf Inf Inf Inf Inf -5 -4 -3 -2 -1 0 1 2 3 4 5 -80 -60 -40 -20 0 20 40 60 80 -5 -4 -3 -2 -1 0 1 2 3 4 5 -6 -4 -2 0 2 4 6 x 10 15
  • 4. Ecuaciones lineales Solución de un producto vectorial: + + >>a=[1 -2 -3] >>x=[2 3 4] >> dot(a,x) ans = -16 >> a*b' ans = -16 Ecuaciones básicas: >> solve('3*x-2=0') ans = 2/3 Solución de un sistema de ecuaciones lineales: Forma: Ax=b + + + + >> A=[3 2 -1; 2 5 2; 4 -2 5] A = 3 2 -1 2 5 2 4 -2 5 >> b=[15 1 7]' b = 15 1 7 >> x=inv(A)*b % Utilizando la inversa (ver Jacobiano, Filtro lineal y ejemplo de If) x = 4.5794 -0.6262 -2.5140 >> x=Ab % Utilizando la división x = linsolve(A,b) % Otra opción Forma: xA=b x y b deben ser vectores filas >> bp=b' bp = 15 1 7 >> xp=bp*inv(A) xp = 2.4766 -0.0280 1.9065 >> bp=xp*A bp = 15.0000 1.0000 7.0000 Bucles y Decisiones Bucles: for indice = j:m:k sentencias end Ejemplo while expresión sentencias end Ejemplo: x=-1; while x<=1 if x==0 disp('Se encontró cero'); break, % Sale del bucle (utilizado con for y while) continue sigue el lazo end y=sin(x)/x x=x+.5 end % Salta aquí cuando se ejecuta break Decisiones: if expresión1 sentencia1 elseif expresión2 sentencia2 elseif expresión3 sentencia3 . . else sentencian end
  • 5. Ejemplo: [nf,nc] = size(A); if nf ~= nc disp(‘No existe la inversa, la matriz no es cuadrada’) elseif rank(A) ~= nf disp(‘No existe la inversa, el rango no es igual al número de filas’) else disp(‘Inversa de la Matriz:’) disp(inv(A)) end switch expresión case valor1 sentencias1 case valor2 sentencias2 · · otherwise sentenciasn end Ejemplo: x = 3.2; % x en metros unidades ='pulgadas'; switch unidades case {'pulgadas'} y = x*0.0254; case{'pies'} y = x*0.3048; case{'metros'} y = x; case{'centímetros'} y = x/100; case{'milímetros'} y = x/1000; otherwise disp(['Unidad desconocida: ' unidades]) y = NaN; end Interpolar, Ajuste de curvas y polinomios t=linspace(n1, n2, n) n valores de n1 a n2 t=inicio:incremento:final Interpolación lineal: A partir de la ecuación que se deduce de los triángulos similares, supone que la función entre dos puntos se puede estimar con una línea recta. Ejemplo: x = 0:1:10; y = sin(x); xi = 0:.1:10; ylin = interp1(x,y,xi); % Interpolación lineal ycub = spline(x,y,xi); % Comparación con Spline (ver Ejemplo) plot(x,y,'o',xi,ylin,'r',xi,ycub,'g') 0 1 2 3 4 5 6 7 8 9 10 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 𝑓(𝑎) 𝑓(𝑏) 𝑏 𝑎 𝑓(𝑎) 𝑓(𝑐) 𝑐 𝑎 y x 𝑓(𝑎) a b c 𝑓(𝑏) 𝑓(𝑐)𝑓(𝑏) 𝑓(𝑎) + 𝑏 𝑎 𝑐 𝑎 (𝑓(𝑐) 𝑓(𝑎))
  • 6. Regresión o ajuste de curvas: Ejemplo1: x = 0:0.1:1; y = [-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; a = polyfit(x,y,3) % Devuelve a = 16.0758 -33.9245 29.3246 -0.6104 yhat = polyval(a,x); % Polinomio solución: ̂ + err = yhat - y MSE = mean(err.^2) RMSE = sqrt(MSE) plot(x,y,'o',x,yhat),title('Regresión lineal'),... xlabel('x'),ylabel('y'),... grid,axis([-.1,1.1,-.5,11.5]),legend('medida','estimada',4) % Realizar la interpolación directamente en gráfico: plot(x,y) y activar Tools  Basic Fitting % Obtener datos estadísticos directamente en gráfico: plot(x,y) y activar Tools  Data Statistics Ejemplo2, Ejemplo3 Polinomios: ( ) + % a=[1 4 -7 -10] ; A = x.^3+ 4*x.^2 - 7*x - 10; ( ) + % b=[0 1 0 1] ; B = s.^2 + 1; polyval(a,x) Evalúa el polinomio c=a+b Suma polinomios c=a-b Resta polinomios c=conv(a,b) Multiplica polinomios [q r]=dconv(a,b) División de polinomios % q=Cociente, r=Resto; polyder(a) Derivada del polinomio polyint(a,C) Integral del polinomio r=roots(a) Raíces del polinomio % Valores de x para los cuales A(X)=0; a=poly(r) Coeficientes del polinomio % Coeficientes del polinomio cuya raíz es r; Ejemplo: a=[1 5 11 13] b=[1 2 4] >> [q r] = deconv(a,b) % a/b = q + r/b q = 1 3 r = 0 0 1 1 + + + + + + + + + + Tiempo tic; for t=1:5000 y(t)=sin(2*pi*t/10); end ttranscurrido = toc % Tiempo transcurrido Gráficos Funciones básicas: plot(x, y, ’g*-’) stairs(x, y) % Gráfico discreto fplot(@(x) 200*sin(x(:))./x(:), [-20 20]) % Ajuste automático de número de puntos title(’Título del gráfico’) xlabel(’…’) ylabel(’…’) axis([xmin, xmax, ymin, ymax, …]) axis square figure subplot % Colocar texto en gráfico con gtext, a través del cursor >> x=0:.01:2; >> y=exp(x); >> z=4*sin(3*x); >> plot(x,y,x,z), xlabel('x'), gtext('y'), gtext('z'); [x, y]=ginput(n) % Lectura de n puntos directamente de un gráfico Ejemplos de gráficos en 3D 0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 Regresión lineal x y medida estimada
  • 7. Entrada-salida >>disp(‘Hola’) Hola >> fprintf( 'Errores son: %5.1f %12.2en', 1.256, 0.1256 ) Errores son: 1.3 1.26e-001 >>x = input( ’Entre el valor de x: ’ ) % Entrada de valores por teclado >> K = menu('Seleccione un color','Rojo','Azul','Verde') % Entrada a través de un cuadro de diálogo >> a=5.123456789 % Cambia formato en que se ven los datos (no confundir con eps, precisión de cálculo) a = 5.1235 >> format long >> a a = 5.123456789000000 De archivos: uiimport % Importar datos save salida.dat A –ASCII % Salvar datos Conversión de base dec2bin(d) bin2dec(b) dec2hex(d) hex2dec(h) dec2base(d,b) % A cualquier base Arrays % Se atiende un conjunto de elementos como una sola entidad Arrays o clases en MATLAB: numéricos, caracteres, lógicos, célula, estructura, referencia de funciones, Java. Ejemplo de Estructura: Nombre, email, DNI, edad, calificaciones Alumno.nombre='Juan Pérez' % Datos del primer alumno Alumno.email='juan@yahoo.com' Alumno.DNI='43033342' Alumno.edad=34 Alumno.calificaciones=[3 5 2 8] Alumno(2).nombre='Carlos Sánchez' % Datos del segundo alumno Alumno(2).email='carlos@yahoo.com' Alumno(2).DNI='36355542' Alumno(2).edad=30 Alumno(2).calificaciones=[2 7 3 7] >> Alumno % Estructura creada Alumno = 1x2 struct array with fields: nombre email DNI edad calificaciones >> max(Alumno(1).calificaciones) % Máxima calificación del primer alumno ans = 8 >> Alumno(2).email % email del segundo alumno ans = carlos@yahoo.com >> mean(Alumno(1).calificaciones) % Promedio de calificaciones del primer alumno ans = 4.5000 struct(‘nombre’,……) % Otra forma de crear estructuras
  • 8. Ejemplo de Células: AlumnoC=struct2cell(Alumno) % Convierte la anterior estructura a células cellplot(AlumnoC) % Visualiza la estructura de las células >> AlumnoC{2,1,2} ans = carlos@yahoo.com >>AlumnoC{2,1,2}='carloss@yahoo.com' % Altera el email del segundo alumno Ejemplo 2 de Células: Definir la siguiente tabla Jamaica [1995, 1996, 1997] [70 73 65 79; 69 68 81 82; 72 77 78 81] 3 de Setiembre de 2011 D(1,1)={'Jamaica'}; D(1,2)={[1995, 1996, 1997]}; D(2,1)={[70 73 65 79; 69 68 81 82; 72 77 78 81]}; D(2,2)={'3 de Septiembre de 2011'}; celldisp(D) % Muestra el contenido de los elementos del arreglo cellplot(D) % Muestra visual Pais=D{1,1} % Muestra el contenido de una celda Maxhum1996=max(D{2,1}(2,:)) % Máxima humedad de 1996 (segunda fila de D) cell(n) % Crea celda de tamaño nxn Puesta a punto (Debugging) A continuación se muestra una captura de un programa dividido en células (no confundir con células de arrays), para facilitar su puesta a punto Cada célula se identifica a través de %%, lo que permite ejecutar secciones de programa de forma separada, facilitando la puesta a punto. La utilización de puntos de ruptura (Breakpoints) permite ejecutar el programa hasta determinada línea de código, utilizando Set/Clear Breakpoints desde el menú Debug.
  • 9. MuPAD Es la herramienta (a través de Notebooks) que permite obtener la solución de problemas utilizando matemática simbólica. >> mupadwelcome Integral Numérica: x=linspace(0,4,200); y=2*ones(1,200); z=trapz(x,y) % Integral de un rectángulo z = 8 % Posición a partir de velocidad ( ) ∫ ( ) + ( ) % Ecuación base t=0:10; % Tiempo v=[0 3 5 7 8 10 25 45 55 60 76]; % Velocidad % Se calcula posición p(1)=0; for k=1:10 p(k+1)=trapz(t(k:k+1), v(k:k+1)) + p(k); end Analítica: Derivada Numérica: x=[x(1), x(2),…x(n)]; dx=[x(2)-x(1), x(3)-x(2),…,x(n)-x(n-1)]; % Diferencia de valores sucesivos >> x=[5 9 10 13]; >> y=diff(x) y = 4 1 3
  • 10. Analítica: ODE Ecuaciones diferenciales ordinarias: ̇( ) ; ̈( ) ; (Conceptos básicos). Consideraciones para obtener la solución: Tipo: -Paso fijo: Período de muestreo constante para la solución, requerido para generar código -Paso variable: Período de muestreo variable, este es menor mientras mayor es la tasa de cambio de las variables. Discreto o continuo: -Discreto: Presencia de variables de estado discretas -Continuo: Presencia de variables de estado continuas Algoritmo: -ode1: Método de Euler , Simulink -ode45: Cuarto o quinto orden del método de Runge-Kutta -ode15s: Ecuaciones con mayor dificultad (stiff equations) Simulink: Simulation  Configuration Parameters… Ejemplos: -Sistemas de primer orden -Sistemas de segundo orden Sistemas lineales: initial(ss) dt=0.01 % Período muestreo t=[0:dt:10]; % Se definen las matrices A=[0, 1;-3, -2]; B=[0; 1]; C=[1 0]; D=0; % Se crea el modelo ejemp=ss(A,B,C,D); % Solución utilizando initial yt=initial(ejemp, [y0, dy0], t); Comparación de initial con ode45