REFERENCIA DE MATLAB 1/58.

Slides:



Advertisements
Presentaciones similares
Condicional if y switch
Advertisements

Estructuras de control
Lenguaje PHP Capítulo 4.
Introducción/repaso a MATLAB
Seminario de Actualización - Excel Avanzado y Macros
Estructuras de control
Tema 4: Sentencias de control
Estructuras de Decisión Múltiple
Programación en Matlab
Instrucciones if/else y while
Capítulo 1 “Elementos de Programación”
Informática Ingeniería en Electrónica y Automática Industrial
EXPRESIONES Y SENTENCIAS
Gráficas de funciones Con Matlab.
Estructuras de Control.
Break en PHP Programación en Internet II. Break en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa Break.
Representación gráfica y declaraciones de control.
Símbolos de Programación Estructurada
COMPUTO III Ing. Jimmy Ojeda Arnica.
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Programación con MATLAB 5.3
Introducción/repaso a MATLAB Procesamiento de Señales 1 Germán Montoya, Universidad Pontificia Bolivariana Medellín,
Práctica Profesional PHP.
Estructuras de Decisión
1 Desarrollo Web en Entorno Servidor Tema 4: Estructuras de control. Estructuras Selectivas. Operadores de comparación. Operadores Lógicos. Operadores.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Estructuras de Decisión en Visual Basic 6.0
Estatutos en Scilab 3.1 De entrada y salida estándar.
Tema – 5 Construcciones condicionales Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas.
Estatutos en Matlab 3.1 De entrada y salida estándar. 3.2 De control o selección if. 3.3 De ciclos: for, while. 3.4 Otros estatutos.
Applications Development I 6.1 Foro Tomas Anzalotta Alvarado.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
 Do- While y Do- Until Las instrucciones Do-while y Do-until permiten repetir un bloque de código mientras cierta condición sea True o hasta que cierta.
Unidad V: Estatutos en Basic De control o selección if. De ciclos: Do, for, while. Otros estatutos. Solución de problemas aplicando estatutos de control.
Ciclos disponibles en Visual Basic Nury Capera Tovar.
ESTRUCTURAS DE DATOS Y ALGORITMOS Samuel Peñaló
Programación PHP switch saregune CC 2009.
SERIES Y SUMATORIAS.
Estructuras de Control en Visual Basic.net
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
BUCLES Realizan de forma rápida cálculos repetitivos dentro de código.
Estructuras de Control.
Olimpiadas Chilenas de Informática - Formación
Anexo Chame-San Carlos
Introducción al OCTAVE
MATLAB lenguaje interpretado: instrucciones se ejecutan (interpretan) de inmediato ejemplo: >>x = [1 2 3 ; 4 5 6] x = Tipo de dato fundamental:
Estructuras de control iterativas
Estructuras de Control en Visual Basic.net
While... End While Jerónimo Jesica Oropeza William Montes Cesar
“Escritura” formateada a un string
Instrucciones if/else y while
Searching data in Arrays
Instrucciones y excepciones
Bucles y estructuras de decisión
MATLAB 6.5 Clase 3: Funciones básicas e Introducción a la Programación
GRÁFICOS 2D Y 3D con matlab
Programación Orientada a Objetos
Estructuras de control en PHP
Programación en Java..
Curso de iniciación al trabajo con MatLab 7.0
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
Tema 6 Clasificación de algoritmos
Metodología de la Programación
Programación I MC José Andrés Vázquez Flores
Bucles y estructuras de decisión
Javascript.
Estructuras de Control
Informática Ingeniería en Electrónica y Automática Industrial
Instrucciones if/else y while
Introducción a la Programación “El lenguaje C”
Transcripción de la presentación:

REFERENCIA DE MATLAB 1/58

INSTRUCCIONES 2/58

ARRAYS 3/58

ARRAYS x=[0.1*pi 0.2*pi 0.3*pi 0.4*pi 0.5*pi 0.6*pi 0.7*pi 0.8*pi 0.9*pi pi] y=sin(x) x(3) % el tercer elemento de X x(1:5) % los 5 elementos de X y(3:-1:1) % los 3, 2 y 1 elementos de Y x(2:2:7) % los 2 4 y 6 elementos y([8 2 9 1]) % los elementos de Y en el orden que se quiera x=(0:0.1:1)*pi % crea un array comenzando con 0 incrementa de 0.1 y termina en 1 4/58

BUCLE FOR 5/58

En cada iteración se asigna a x la próxima columna del array. BUCLE FOR for x = array …ordenes… end Las ordenes entre las sentencia for y end se ejecutan una vez para cada columna en el array. En cada iteración se asigna a x la próxima columna del array. 6/58

BUCLE FOR for n = 1 : 10 x(n)=sin(n*pi/10); end 7/58

BUCLE FOR A = 1 : 2 : 10 for n = A n x(n)=sin(n*pi/10); end % n tomó los valores : 1 3 5 7 9 x= 0.3090 0 0.8090 0 1.0000 0 0.8090 0 0.3090 8/58

Un bucle for no se puede terminar reasignando la variable de control x(n)=sin(n*pi/10); n=10; end x=0.3090 0.5879 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 9/58

BUCLE FOR Cualquier array MATLAB es valido en una bucle for data=[3 9 45 6; 7 16 -1 5]; data = 3 9 45 6 7 16 -1 5 for n = data x=n(1)-n(2); end x= -4 x= -7 x= 46 x= 1 10/58

BUCLE FOR Los bucles for se pueden anidar for n = 1:5 for m=5:-1:1 A(n,m)=n^2+m^2; end disp (n) 1 2 3 4 5 11/58

BUCLE FOR A= 2 5 10 17 26 5 8 13 20 29 10 13 18 25 34 17 20 25 32 41 26 29 34 41 50 12/58

BUCLE FOR Las bucles for se deben de evitar siempre que haya un método de un array equivalente. for n = 1 : 10 x(n)=sin(n*pi/10); end ES EQUIVALENTE A n=1:10; x=sin(n*pi/10); 13/58

BUCLE WHILE 14/58

BUCLE WHILE Las bucles while evalúan un conjunto de ordenes un numero infimito de veces. while expresion …ordenes … end Las ordenes se ejecutan mientras que los elementos en expresión son verdaderos. 15/58

BUCLE WHILE num=0; Sum=0; while num < 10 Sum=Sum + num; num=num+1; end 16/58

ESTRUCTURA IF - ELSE 17/58

ESTRUCTURA IF - ELSE if expresion …ordenes… end Las ordenes se evalúan si los elementos son verdaderos (distintos de cero) 18/58

ESTRUCTURA IF - ELSE manzanas=10; costo=manzanas*25; if manzanas > 5 % aplicar 20% de descuento costo=(1-20/100)*costo; end costo = 200 19/58

ESTRUCTURA IF - ELSE if expresion % se ejecuta si expresion es verdadero else % se ejecuta si expresion es falso end 20/58

ESTRUCTURA IF - ELSE if expresion1 % se ejecuta si expresion1 es verdadera elseif expresion2 % se ejecuta si expresion2 es verdadera elseif expresion3 % se ejecuta si expresion3 es verdadera elseif expresion4 else % se ejecuta si ninguna expresion es verdadera end 21/58

ESTRUCTURA IF - ELSE if expresion1 % se ejecuta si expresion1 es verdadera elseif expresion2 % se ejecuta si expresion2 es verdadera elseif expresion3 % se ejecuta si expresion3 es verdadera elseif expresion4 else % se ejecuta si ninguna expresion es verdadera End Solo se evalúa la primera expresión verdadera encontrada. La instrucción else puede no aparecer … 22/58

ESTRUCTURA CASE 23/58

ESTRUCTURA CASE switch expresion case case_exp1 …ordenes case {case_expr1, case_expr2, case_expr3,...} otherwise end 24/58

ESTRUCTURA CASE method = 'Bilinear'; switch lower(method) case {'linear','bilinear'} disp('Method is linear') case 'cubic' disp('Method is cubic') case 'nearest' disp('Method is nearest') otherwise disp('Unknown method.') end Respuesta : Method is linear 25/58

INSTRUCCION BREAK 26/58

Termina la ejecución de los bloques if for while y case INSTRUCCION BREAK break Termina la ejecución de los bloques if for while y case 27/58

INSTRUCCION BREAK method = 'Bilinear'; switch lower(method) case {'linear','bilinear'} disp('Method is linear') a=28 if 1 break end b=13 case 'cubic' disp('Method is cubic') case 'nearest' disp('Method is nearest') otherwise disp('Unknown method.') End a= 28 28/58

INSTRUCCION BREAK a=1:1:4 if 1 a(1) a(2) break a(3) a(4) end ans = 1 29/58

INSTRUCCION BREAK method = 'Bilinear'; switch lower(method) case {'linear','bilinear'} disp('Method is linear') break disp('Method is NO linear') % se salta esta linea case 'cubic' disp('Method is cubic') case 'nearest' disp('Method is nearest') otherwise disp('Unknown method.') end 30/58

FUNCIONES 31/58

FUNCIONES Una función debe de estar escrita en un archivo que lleva el nombre de la función. e.g. MYFUNCTION.M 32/58

FUNCIONES El archivo de la función (MYFUNCTION.M) debe de contener en el encabezado la descripción de la función con comentarios Archivo SUMAITV.m % HOLA MUNDO % MI PRIMERA FUNCTION % SUMAITV(x,y) % TOMA 2 ARRELOS Y LOS SUMA ELEMENTO A ELEMENTO % COPYRIGHT (c) SIMULACION 1 de 10:00 - 11:00 Este texto se muestra como ayuda en línea en MATLAB cuando de escribe: Help ‘SUMAITV’ 33/58

function z = SUMAITV(x,y) z=x+y; FUNCIONES Después del encabezado la descripción sigue el código MATLAM que implementa la función: Archivo SUMAITV.m function z = SUMAITV(x,y) z=x+y; 34/58

FUNCIONES Archivo SUMAITV.m Cualquier archivo .M puede utilizar la función: Archivo SUMAITV.m function z = SUMAITV(x,y) z=x+y; 35/58

FUNCIONES Archivo SUMAITV.m function z = SUMAITV(x,y) z=x+y; % HOLA MUNDO % MI PRIMERA FUNCTION % SUMAITV(x,y) % TOMA 2 ARRELOS Y LOS SUMA ELEMENTO A ELEMENTO % COPYRIGHT (c) SIMULACION 1 de 10:00 - 11:00 % Si x = 1 2 3 4 5 6 7 8 9 10 y % Si y = 1 2 3 4 5 6 7 8 9 10 % regresa % z = 2 4 6 8 10 12 14 16 18 20 function z = SUMAITV(x,y) z=x+y; Archivo M5.m x=(1:1:10) y=x z=SUMAITV(x,y) x = 1 2 3 4 5 6 7 8 9 10 y = 1 2 3 4 5 6 7 8 9 10 z = 2 4 6 8 10 12 14 16 18 20 36/58

EJEMPLOS 37/58

G1 x=linspace(0,2*pi,30); y=sin(x); z=x.*y; plot3(x,y,z); 38/58

G2 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,y,'+'); 39/58

x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,'+',x,z,'+'); G3 40/58

G4 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(y,z); 41/58

x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,2*y.*z,'--'); G5 42/58

G6 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,2*y.*z,'--'); grid 43/58

G7 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,2*y.*z,'--'); grid xlabel('Independent variable X'); 44/58

G8 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); %grafica la funcion 2sin(teta)cos(teta)=sen(2Teta) plot(x,y,x,2*y.*z,'--'); grid xlabel('Independent variable X'); ylabel('Dependent variables'); 45/58

G9 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); %grafica la funcion 2sin(teta)cos(teta)=sen(2Teta) plot(x,y,x,2*y.*z,'--'); grid xlabel('Independent variable X'); ylabel('Dependent variables'); title('2sin(teta)cos(teta)=sen(2Teta)') 46/58

x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot3(y,z,x); grid; G10 47/58

G11 x=-7.5:.5:7.5; y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; % distancia al origen Z=sin(R)./R; % calcula sin(r)/r mesh(X,Y,Z); 48/58

G15 x=-7.5:.5:7.5; y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; % distancia al origen Z=sin(R)./R; % calcula sin(r)/r mesh(X,Y,Z); surf(X,Y,Z); mesh(peaks); % title('mesh plot of the Peaks function'); 49/58

G17 x=-7.5:.5:7.5; y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; % distancia al origen Z=sin(R)./R; % calcula sin(r)/r mesh(X,Y,Z); surf(X,Y,Z); mesh(peaks); % title('mesh plot of the Peaks function'); [x,y,z]=peaks; contour(x,y,z,20); % genera 20 contornos 2D contour3(x,y,z,20); % la misma grafica de contornos en 3D axis([-3 3 -3 3 -6 8]) % ajusta la escala 50/58

G18 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); a=2*sin(x).*cos(x); b=sin(x)./(cos(x)+eps); subplot(2,2,1); % selecciona la subgrafica superior izquierda plot(x,y),axis([0 2*pi -1 1]),title('sin(x)'); subplot(2,2,2); % seleciona la subgrafica superior derecha plot(x,z),axis([0 2*pi -1 1]),title('cos(x)'); subplot(2,2,3); % seleciona la subgrafica inferior izquierda plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)'); subplot(2,2,4); % seleciona la subgrafica inferior derecha plot(x,b),axis([0 2*pi -20 20]),title('sin(x)/cos(x)'); %subplot(1,1,1); % regresa al modo de grafica de una sola ventana 51/58

G19 M=peaks(25); plot(M); title('Peaks Plot for ZOOM'); zoom on; 52/58

G20 t=0:.01:2*pi; r=sin(2*t).*cos(2*t); polar(t,r); title('Polar Plot of sin(2t)cos(2t)'); 53/58

G21 x=-2.9:0.2:2.9; y=exp(-x.*x); bar(x,y); title('Bar chart of a Bell Curve'); 54/58

G22 x=-2.9:0.2:2.9; y=exp(-x.*x); stairs(x,y); title('Stair chart of a Bell Curve'); 55/58

G23 t=rand(1000,1)*pi; rose(t); title('Angle Histogram of Random Angles'); 56/58

G24 x=linspace(-2*pi,2*pi,60); y=sin(x).^2./(x+eps); plot(x,y); title('Plot of sin(x)^2/x'); [a,b]=ginput(8); % captura 8 puntos hold on; plot(a,b,'co'); % representa los puntos capturados hold off; 57/58

G25 colormap(gray); surfl(peaks),shading interp title('Surf plot of Peaks With Default Lighting'); 58/58