Sei sulla pagina 1di 29

Carlos Mesa 44042035 Universidad de la Salle 2011 Ingeniera de Diseo & Automatizacin Electrnica

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(:,1:2:end); 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(1:2:end,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

Gracias