Profesor Hermann Pempelfort. Punto y coma Permite que no se muestre por pantalla la acción o...

37
OCTAVE 2 Profesor Hermann Pempelfort

Transcript of Profesor Hermann Pempelfort. Punto y coma Permite que no se muestre por pantalla la acción o...

Page 1: 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:

OCTAVE 2Profesor Hermann Pempelfort

Page 2: 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:

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

Page 3: 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:

Archivos .m

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

Page 4: 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:

Como crear un archivo.

Para funciones.

Page 5: 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:

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:

Page 6: 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:

Nuevo archivo .m

Page 7: 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:

Resultado

Page 8: 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:

Funciones

function respuesta = funcion( x , y )

respuesta = Acción/Cálculo/Definición ;

endfunction

Page 9: 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:

Funciones ejercicios.

Haga una función que retorne la multiplicación entre dos variables.

Page 10: 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:

Funciones ejercicios.

Function respuesta = multiplicar(x,y)

respuesta = x * y;

endfunction

Page 11: 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:

Funciones

function respuesta = promedio( x )

respuesta = sum(x) / length(x);

endfunction

Page 12: 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:

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

Page 13: 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:

Funciones

function respuesta = promedio( x )

if (is_vector(x))

respuesta = sum(x) / length(x);

endif

endfunction

Page 14: 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:

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

Page 15: 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:

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()

Page 16: 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:

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

Page 17: 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:

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

Page 18: 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:

Funciones

x = [1 2 3 4 5 6] [promedio,tamano] = promedio ( x )

Page 19: 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:

Sentencias repetitivas

Desde hasta:for i = 0; 10

//Algoritmo repetitivo

endfor

Page 20: 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:

Sentencias repetitivas

MientrasWhile ( condición )

//Algoritmo repetitivo

Endwhile

Page 21: 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:

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

Page 22: 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:

Funciones ejercicios

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

Page 23: 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:

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

Page 24: 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:

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.

Page 25: 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:

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)

Page 26: 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:

Funciones

Es posible que no sepamos cuantos argumentos se utilizarán en la función.

Para esto declaramos con puntos suspensivos como argumentos.

Page 27: 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:

Funciones ejemplo

function print_arguments (varargin)

for i = 1:length (varargin)

printf ("Argumento %d: ", i);

disp (varargin{i});

endfor

endfunction

Page 28: 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:

Funciones

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

Page 29: 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:

Función ejemplo

function respuesta = funcion (x,y)

respuesta(1) = x;

respuesta(2) = y;

respuesta(3) = x * y;

endfunction

Page 30: 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:

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)

Page 31: 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:

Funciones diferenciables

function ret=f(x,t)

ret=x^2;

endfunction

Page 32: 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:

Funciones diferenciables

t=(0:0.1:1)';

x=lsode(‘f’,0.5,t);

plot (t,x)

Page 33: 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:

Funciones diferenciales

function ret=g(t,x)

ret=x^2;

endfunction

Page 34: 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:

Funciones diferenciales

[t,x]=rk4('g',[0,1],0.5); plot (t,x)

Se necesita rk4.m

Page 35: 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:

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

Page 36: 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:

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

Page 37: 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:

Función gráfica ejemplo.