1 / 37

Octave 2

Profesor Hermann Pempelfort. Octave 2. 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.

berne
Download Presentation

Octave 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Profesor Hermann Pempelfort Octave 2

  2. 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);

  3. Archivos .m • Los archivos .m son utilizados en Matlab y Octave para guardar: • Matrices de información, • Funciones, • Sonido, • Video, • Otros.

  4. Como crear un archivo. Para funciones.

  5. 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. SeeAlso: Ver también con:

  6. Nuevo archivo .m

  7. Resultado

  8. Funciones function respuesta = funcion( x , y ) respuesta = Acción/Cálculo/Definición ; endfunction

  9. Funciones ejercicios. • Haga una función que retorne la multiplicación entre dos variables.

  10. Funciones ejercicios. Function respuesta = multiplicar(x,y) respuesta = x * y; endfunction

  11. Funciones function respuesta = promedio( x ) respuesta = sum(x) / length(x); endfunction

  12. 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

  13. Funciones function respuesta = promedio( x ) if (is_vector(x)) respuesta = sum(x) / length(x); endif endfunction

  14. 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

  15. 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: functionvarargout= nombre()

  16. Funciones ejemplos • Para una función con n respuestas, se utiliza una variable de entorno pre-definida. • Por ejemplo: functionvarargout = funcion () for i = 1:nargout varargout{i} = i; endfor endfunction

  17. 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

  18. Funciones • x = [1 2 3 4 5 6] • [promedio,tamano] = promedio ( x )

  19. Sentencias repetitivas • Desde hasta: for i = 0; 10 //Algoritmo repetitivo endfor

  20. Sentencias repetitivas • Mientras While ( condición ) //Algoritmo repetitivo Endwhile

  21. 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

  22. Funciones ejercicios • Haga una función que me retorne el máximo y el mínimo de un vector.

  23. 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

  24. Mostrar por pantalla. Para mostrar por pantalla resultados, cálculos u otro, hay dos formas. • Con disp( ) : • Despliega un mensaje o una variable. • Con printf() : • Despliega un mensaje con contenido dinámico, es decir, depende de una o más variables.

  25. 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)

  26. Funciones • Es posible que no sepamos cuantos argumentos se utilizarán en la función. • Para esto declaramos con puntos suspensivos como argumentos.

  27. Funciones ejemplo functionprint_arguments (varargin) for i = 1:length (varargin) printf ("Argumento %d: ", i); disp (varargin{i}); endfor endfunction

  28. Funciones • Otra forma de retornar más de una información es utilizando la variable como matriz.

  29. Función ejemplo function respuesta = funcion (x,y) respuesta(1) = x; respuesta(2) = y; respuesta(3) = x * y; endfunction

  30. Funciones diferenciables • Si necesitamosescribirunaecuacióncomoesta: dx/dt=f(x(t),t). • lsode (‘nombreFuncion’,x(t),t) • Si necesitamosescribirunaecuacióncomoesta: dx/dt=g(t,x). • rk4(‘nombreFuncion’,t,x)

  31. Funciones diferenciables functionret=f(x,t) ret=x^2; endfunction

  32. Funciones diferenciables t=(0:0.1:1)'; x=lsode(‘f’,0.5,t); plot (t,x)

  33. Funciones diferenciales functionret=g(t,x) ret=x^2; endfunction

  34. Funciones diferenciales • [t,x]=rk4('g',[0,1],0.5); • plot (t,x) • Se necesita rk4.m

  35. Función gráfica ejemplo. functionxdot=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

  36. 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))

  37. Función gráfica ejemplo.

More Related