UNIVERSIDAD DE PUERTO RICO RECINTO UNIVERSITARIO DE MAYAGÜEZ Departamento de Ingeniería Industrial CENTRO DE CÓMPUTO INGENIERÍA INDUSTRIAL 2006
MATLAB Directorio: donde MATLAB tienes almacenado tus algoritmos. Workspace: Espacio donde permite observar las variables definidas en el comando o mediante un algoritmo. Command Window: Espacio donde puede escribir comandos como: hacer calculos (suma, resta, ect), desarrollar graficas (figuras) llamar funciones de ayuda (help). Command History: Espacio donde puede observar los comando hechos anteriormente. Ademas comandos se mantienen almacenados a traves del tiempo. Directorio: donde MATLAB tienes almacenado tus algoritmos. Edit: Editor donde escribes tus algoritmos Help: (F1) Manual de Ayuda para utilizar todos los recursos que tiene MATLAB
Elementos básicos en MATLAB Matriz vacía y Matriz escalar: a = []; Define una variable como una matriz estructura vacía a = [4]; a = 4; Define una variable a como una matriz escalar un valor de 4.
Ejercicio Comando length(a) : Define la cantidad de elementos maximo que tiene un vector Almacena los comandos anteriores ; Al terminar el comando con punto y coma, la respuesta no aparecerá en la ventana de comando, si en la ventana de Workspace 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 básicos en MATLAB Matriz vector (fila y columna) Fila a = [ 1,2,3,4,5] o a = [ ]; 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) = [3 2] length(c) = 3 size(b) = [2 3] length(b) = 3 size(a) = [5 1] length(a) = 5 size(a) = [1 5] length(a) = 5 size(c) = [fila,columna] length(c) = max(size(c)) Array Editor: Ventana donde podemos observar las matrices
Elementos básicos en MATLAB Suma, Resta, Multiplicación, División 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
Multiplicación y División 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 Multiplicación de Matrices n(1) x n(2) x m(1) x m(2) donde n(2) = m(1) c = a*b Elementos básicos en MATLAB
Ejercicio ones(filas, columnas): Define una matriz de filas por columna.
Multiplicación “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 distribución de probabilidad gausiana. d = 4* rand(3,3); e = [1 1 1;2 2 2;3 3 3]; f = d.*e; f = d./e; Elementos básicos en MATLAB
Ejercicio Dot Product
Manipulación de Matrices a = *randn(5,5); a(1,1); a(:,1); a(:,1:2:end); a(3,:); a(3,1:3); Elementos básicos en MATLAB
Ejercicio a(1,1) = a(:,1) =
Ejercicio a(1:2:end,1) = a(3,:) =
Ejercicio a(3,1:3) =
Redondeo: a= b=fix(a) valor entero = 4 c=roundn(a,-2), redondeo al decimal mas próximo 4.57 d=ceil(a) redondeo al entero próximo = 5 Elementos básicos en MATLAB
Estadística 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,[ ]); Percetiles Elementos básicos en MATLAB
Ejercicio a Orden ascedente Orden descedente Posición Orden ascedente Posición Orden descedente
Ejercicio bar(p) Opciones para generar gráficas Percentiles 25% 50% 75% hist(p,5)
Ejercicio >>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) % p = hist (oa,5) Equivale Limite SuperiorLimite InferiorMedia
Programación Básica Editor: Hoja de trabajo donde podrás desarrollar algoritmos Nueva hoja de trabajo Open “files” “Find”: Busqueda de algun “string” Debugger and “Run”. Revisa el procedimiento del algoritmo Run Debug Step (dentro de cada funcion)
Programación Básica: Lógica clear all; close all clc; warning off all Instrucciones introductorias para cualquier algoritmos Borra del comando y de workspace las variables generadas anteriormente Eliminar todas las figuras generadas anteriormente En el comando no aparecerá las adventencias que reclame MATLAB al correr el algoritmo
Programación Básica: Lógica %Programación condicional: If a=[2]; if a>1 a=2*a; else a=a/4; end %a = 2(2) = 4 %Programación condicional: for a=1:10; %Define un vector de 10 números b=0; for i=1:length(a) b=b+a(i); end %b = … + 10 %n=10 %b =0.5*(n)(n+1) = 0.5*10(11)=55 % comentario de texto If: condicional exclusivo for: condicional repetitivo definido
Otras Condiciones lógicas while: Condicional exclusivo repetitivo variado. switch: Condicional Exclusivo find: Condicional exclusivo repetitivo definido Switch a Case1 Instruccion a Case 2 Instruccion 2 Case N Instruccion N end While a<3 Instruccion end a=100*rand(100,1) b=find(a>10) a(b)=0 Programación Básica: Lógica
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 plot(t,Y1,t,Y2) %plot(t,[‘Y1‘Y2’]; 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 Y1 Y2 Programación Básica: Figuras
subplot(2,1,2) plot(t,Y2,’linewidth’,3);grid;axis([0 10 minmax(Y2)] title(‘Y2 = 2t’) %Titulo de la figura ylabel(‘Y1’) %Eje de y xlabel(‘x’) %Eje de y Programación Básica: Figuras
Otras funciones para generar figuras stem(t,p) stairs(t,p) Programación Básica: Figuras