Profesor Hermann Pempelfort
Punto y coma Permite que no se muestre por pantalla la acción o resultado ejecutado. Ejemplo1: x = 3 Ejemplo2: x = 3; Ejemplo3: x = linspace(2,100) Ejemplo4: x = linspace(2,100);
Archivos.m Los archivos.m son utilizados en Matlab y Octave para guardar: Matrices de información, Funciones, Sonido, Video, Otros.
Como crear un archivo. Para funciones.
Nuevo archivo.m Function: Nombre de la función. Author: El autor. Inputs: Variables de entrada. Outputs: Respuesta, Retorno o Resolución. Description: Explicar que hace. Example: Un ejemplo de cómo usarlo. Result : Un ejemplo de un resultado. See Also: Ver también con:
Nuevo archivo.m
Resultado
Funciones function respuesta = funcion( x, y ) respuesta = Acción/Cálculo/Definición ; endfunction
Funciones ejercicios. Haga una función que retorne la multiplicación entre dos variables.
Funciones ejercicios. Function respuesta = multiplicar(x,y) respuesta = x * y; endfunction
Funciones function respuesta = promedio( x ) respuesta = sum(x) / length(x); endfunction
Sentencia IF Sentencia Sí y Síno. Si. if ( condición ) //Algoritmo si se cumple la condición. endif Si-Sino if ( condición ) //Si se cumple la condición. Else //Si no se cumple la condición. endif
Funciones function respuesta = promedio( x ) if (is_vector(x)) respuesta = sum(x) / length(x); endif endfunction
Funciones function respuesta = promedio( x ) if (is_vector(x)) respuesta = sum(x) / length(x); else error (Ha ocurrido un error con el vector); endif endfunction
Funciones Se pueden retornar desde 0 a N argumentos. 0: function nombre() 1: function res = nombre() 2: function [res1, res2] = nombre() 3: function [res1, res2, res3 ] = nombre() N: function varargout = nombre()
Funciones ejemplos Para una función con n respuestas, se utiliza una variable de entorno pre- definida. Por ejemplo: function varargout = funcion () for i = 1:nargout varargout{i} = i; endfor endfunction
Funciones function [res1, res2] = promedio( x ) if (is_vector(x)) res1 = sum(x) / length(x); res2 = length(x); else error (Ha ocurrido un error con el vector); endif endfunction
Funciones x = [ ] [promedio,tamano] = promedio ( x )
Sentencias repetitivas Desde hasta: for i = 0; 10 //Algoritmo repetitivo endfor
Sentencias repetitivas Mientras While ( condición ) //Algoritmo repetitivo Endwhile
Funciones function [avg, size, max] = promedio( x ) if (is_vector(x)) res1 = sum(x) / length(x); res2 = length(x); else error (Ha ocurrido un error con el vector); endif max = x(1); for i = 2; length(x) if (x ( i ) > max) max = x ( i ); endif endfor endfunction
Funciones ejercicios Haga una función que me retorne el máximo y el mínimo de un vector.
Funciones ejercicios Function [max, min] = funcion(x) max = x (1) ; min = x (1) ; for i = 2;length(x) if (x ( i ) > max ) max = x (i) endif if (x ( i ) < min ) min = x (i) endif endfor endfunction
Mostrar por pantalla. Para mostrar por pantalla resultados, cálculos u otro, hay dos formas. 1. Con disp( ) : 1. Despliega un mensaje o una variable. 2. Con printf() : 1. Despliega un mensaje con contenido dinámico, es decir, depende de una o más variables.
Mostrar por pantalla Ejemplos: disp(Hola mundo); disp(3); disp(variable) printf(Hola mundo) printf(3); Printf(%d,variable) Si es entero Printf(%f,variable) Si es fracción Printf(%s,variable) Si es String Printf(Hola mundo, somos %d personas vivas,variable)
Funciones Es posible que no sepamos cuantos argumentos se utilizarán en la función. Para esto declaramos con puntos suspensivos como argumentos.
Funciones ejemplo function print_arguments (varargin) for i = 1:length (varargin) printf ("Argumento %d: ", i); disp (varargin{i}); endfor endfunction
Funciones Otra forma de retornar más de una información es utilizando la variable como matriz.
Función ejemplo function respuesta = funcion (x,y) respuesta(1) = x; respuesta(2) = y; respuesta(3) = x * y; endfunction
Funciones diferenciables Si necesitamos escribir una ecuación como esta: dx/dt=f(x(t),t). lsode (nombreFuncion,x(t),t) Si necesitamos escribir una ecuación como esta: dx/dt=g(t,x). rk4(nombreFuncion,t,x)
Funciones diferenciables function ret=f(x,t) ret=x^2; endfunction
Funciones diferenciables t=(0:0.1:1)'; x=lsode(f,0.5,t); plot (t,x)
Funciones diferenciales function ret=g(t,x) ret=x^2; endfunction
Funciones diferenciales [t,x]=rk4('g',[0,1],0.5); plot (t,x) Se necesita rk4.mrk4.m
Función gráfica ejemplo. function xdot=funcion(x,t) a=10;b=28;c=8/3; xdot(1,1)=a*(x(2)-x(1)); xdot(2,1)=x(1)*(b-x(3))-x(2); xdot(3,1)=x(1)*x(2)-c*x(3); endfunction
Función gráfica ejemplo. x0=[1;1;1]; t=linspace(0,50,5000); x=lsode( "funcion",x0,t); plot3(x(:,1),x(:,2),x(:,3))
Función gráfica ejemplo.