UNIVERSIDAD DE PUERTO RICO RECINTO UNIVERSITARIO DE MAYAGEZ Departamento de Ingeniera Industrial
CENTRO DE CMPUTO INGENIERA INDUSTRIAL 2006
MATLAB
Edit: Editor donde escribes tus algoritmos Directorio: donde MATLAB tienes almacenado tus algoritmos.
Workspace: Espacio donde permite observar las variables definidas en el comando o mediante un algoritmo. Directorio: donde MATLAB tienes almacenado tus algoritmos.
Command Window: Espacio donde puede escribir comandos como: hacer calculos (suma, resta, ect), desarrollar graficas (figuras) llamar funciones de ayuda (help). Help: (F1) Manual de Ayuda para utilizar todos los recursos que tiene MATLAB Command History: Espacio donde puede observar los comando hechos anteriormente. Ademas comandos se mantienen almacenados a traves del tiempo.
Elementos bsicos en MATLAB
Matriz vaca y Matriz escalar: a = []; Define una variable como una matriz estructura vaca a = [4]; a = 4; Define una variable a como una matriz escalar un valor de 4.
Ejercicio
Comando
; Al terminar el comando con punto y coma, la respuesta no aparecer en la ventana de comando, si en la ventana de Workspace
length(a) : Define la cantidad de elementos maximo que tiene un vector
Almacena los comandos anteriores
Al terminar el comando sin punto y coma, la respuesta aparecer en la ventana de comando. Si define el comando como una variable, la respuesta estar almacenada como la variable ans
Elementos bsicos en MATLAB
Matriz vector (fila y columna) Fila a = [ 1,2,3,4,5] o a = [ 1 2 3 4 5]; a=1:5; Columna a = [ 1;2;3;4;5]; a=[1:5]; Matriz 2x3 b = [1 2 3;4 5 6]; Matriz 3x2 c = [1 2;3 4;5 6]; Funciones : length (a); size(a) identifican estructura de las matrices
Ejercicio
size(c) = [fila,columna] length(c) = max(size(c))
size(a) = [1 5] length(a) = 5
size(a) = [5 1] length(a) = 5
size(b) = [2 3] length(b) = 3 size(c) = [3 2] length(c) = 3
Array Editor: Ventana donde podemos observar las matrices
Elementos bsicos en MATLAB
Suma, Resta, Multiplicacin, Divisin Suma y Resta a = [ 1 2;3 4] ; b = [1 1; 1 1]; c= a + b; d = a b; La estructura de las matrices debe ser igual size(c) = size (a) = size (b) = [2 2]
Ejercicio
Elementos bsicos en MATLAB
Multiplicacin y Divisin a = [1 2;4 5;7 8]; n = size(a); funcion: ones(filas,columnas) : genera una matriz de unos b = 2*ones(n(2),n(1)); m = size(b); Regla de Multiplicacin de Matrices n(1) x n(2) x m(1) x m(2) donde n(2) = m(1) c = a*b
Ejercicio
ones(filas, columnas): Define una matriz de filas por columna.
Elementos bsicos en MATLAB
Multiplicacin dot point product. Funcion: rand(fila,columna) = genera numeros aletorios entre cero y uno Tambien se utiliza randn(fila,columna) = genera numeros aletorios basado en la distribucin de probabilidad gausiana. d = 4* rand(3,3); e = [1 1 1;2 2 2;3 3 3]; f = d.*e; f = d./e;
Ejercicio
Dot Product
Elementos bsicos en MATLAB
Manipulacin de Matrices a = 10 + 2*randn(5,5); a(1,1); a(:,1); a(:,[Link]nd); a(3,:); a(3,1:3);
Ejercicio
a(1,1) = 7.9787
7.9787 11.229 a(:,1) = 11.015 13.385 11.183
Ejercicio
7.9787 a([Link]nd,1) = 11.015 11.183
a(3,:) =
11.015 7.9818 12.19 11.156 9.2451
Ejercicio
a(3,1:3) = 11.015 7.9818 12.19
Elementos bsicos en MATLAB
Redondeo: a= 4.566 b=fix(a) valor entero = 4 c=roundn(a,-2), redondeo al decimal mas prximo 4.57 d=ceil(a) redondeo al entero prximo =5
Elementos bsicos en MATLAB
Estadstica Simple a = 100 *rand(15,1); [oa,pa]=sort(a); Orden ascendente [od,pd]=sort(a,descend); Orden descendente p=hist(a,5); Histograma y = prctile(a,[25 50 75]); Percetiles
Ejercicio
Orden ascedente
Posicin Orden ascedente
Orden descedente
Posicin Orden descedente
Ejercicio
Opciones para generar grficas
4 3.5 3 2.5 2 1.5 1 0.5 0
bar(p)
hist(p,5)
4 3.5 3 2.5 2 1.5 1 0.5 0
Percentiles
10
20
30
40
50
60
70
80
90
25%
50%
75%
Ejercicio
Limite Superior
Limite Inferior
Media
1.5009 18.68812 35.87534 53.06256 70.24978
18.68812 35.87534 53.06256 70.24978 87.437
10.09451 27.28173 44.46895 61.65617 78.84339
% p = hist (oa,5) Equivale >>L=length(oa) >>m = minmax(oa) >>delta = (m(2) m(1))/5 >>lo = oa(1):delta: oa(L-1) >>la = oa(1)+delta:delta:oa(L) >>M = (lo + la )/2 >>p1 = hist(a,M)
Programacin Bsica
Step (dentro de cada funcion)
Editor: Hoja de trabajo donde podrs desarrollar algoritmos
Debug
Run
Nueva hoja de trabajo
Open files
Find: Busqueda de algun string
Debugger and Run. Revisa el procedimiento del algoritmo
Programacin Bsica: Lgica
Instrucciones introductorias para cualquier algoritmos clear all; close all
Borra del comando y de workspace las variables generadas anteriormente Eliminar todas las figuras generadas anteriormente Eliminar todas las figuras generadas anteriormente En el comando no aparecer las adventencias que reclame MATLAB al correr el algoritmo
clc;
warning off all
Programacin Bsica: Lgica
%Programacin condicional: If
a=[2]; if a>1 a=2*a; else a=a/4; end %a = 2(2) = 4 %Programacin condicional: for a=1:10; %Define un vector de 10 nmeros
% comentario de texto
b=0; for i=1:length(a) b=b+a(i); end %b = 1 + 2 +3 + + 10 %n=10 %b =0.5*(n)(n+1) = 0.5*10(11)=55
If: condicional exclusivo
for: condicional repetitivo definido
Programacin Bsica: Lgica
Otras Condiciones lgicas while: Condicional exclusivo repetitivo variado. switch: Condicional Exclusivo find: Condicional exclusivo repetitivo definido
While a<3 Instruccion end
Switch a Case1 Instruccion a a=100*rand(100,1) b=find(a>10) a(b)=0
Case 2
Instruccion 2 Case N Instruccion N end
Programacin Bsica: Figuras
100
t=0:0.1:10; % tiempo inicial, intervalo, tiempo final Y1=2*t; %Variable de respuesta Y1 Y=2t Y2=t.^2; % Y2= t^2 figure(1) % Observar simultaneamente las 2 funciones dentro de una figura
90 80 70 60 50 40 30 20 10 0
plot(t,Y1,t,Y2) %plot(t,[Y1Y2];
grid figure(2) %Observar por separado las figuras subplot(2,1,1) plot(t,Y1);grid;axis([0 10 minmax(Y1)]) title(Y1 = 2t) %Titulo de la figura ylabel(Y1) %Eje de y xlabel(x) %Eje de y
Y2
Y1
10
Programacin Bsica: Figuras
subplot(2,1,2) plot(t,Y2,linewidth,3);grid;axis([0 10 minmax(Y2)]
20 Y1=2t
title(Y2 = 2t) %Titulo de la figura ylabel(Y1) %Eje de y xlabel(x) %Eje de y
Y1
15 10 5 0
5 x Y2=t 2
10
100
Y2
50
5 x
10
Programacin Bsica: Figuras
Otras funciones para generar figuras stem(t,p) stairs(t,p)
20 18 16 14 12 10 8 6 4 2 0
20
40
60
80
100
120