Académique Documents
Professionnel Documents
Culture Documents
Funciones
Arreglos
Strings
Recomendaciones
Febrero, 2012
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Agenda
1 2 3 4 5 6 7
Qu es Octave? e Octave vs. Matlab Primeros pasos con Octave Funciones Arreglos Strings Recomendaciones
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es Octave? e
GNU Octave es un lenguaje de programacin principalmente o enfocado a computaciones numricas. Este lenguaje tiene e capacidad para la solucin de problemas lineales y no lineales. o El programa generalmente se manipula a travs de su interfaz tipo e consola donde se pueden ejecutar diferentes comandos para la ejecucin de sus programas. o El lenguaje de Octave es similar al leguaje de Matlab por lo que la mayor de sus programas pueden ser fcilmente ejecutados en a a Matlab.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es Octave? e
GNU Octave es un lenguaje de programacin principalmente o enfocado a computaciones numricas. Este lenguaje tiene e capacidad para la solucin de problemas lineales y no lineales. o El programa generalmente se manipula a travs de su interfaz tipo e consola donde se pueden ejecutar diferentes comandos para la ejecucin de sus programas. o El lenguaje de Octave es similar al leguaje de Matlab por lo que la mayor de sus programas pueden ser fcilmente ejecutados en a a Matlab.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es Octave? e
GNU Octave es un lenguaje de programacin principalmente o enfocado a computaciones numricas. Este lenguaje tiene e capacidad para la solucin de problemas lineales y no lineales. o El programa generalmente se manipula a travs de su interfaz tipo e consola donde se pueden ejecutar diferentes comandos para la ejecucin de sus programas. o El lenguaje de Octave es similar al leguaje de Matlab por lo que la mayor de sus programas pueden ser fcilmente ejecutados en a a Matlab.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
El principal problema de Matlab es su precio. Una licencia de Matlab cuesta alrededor de USD$ 10,000 y cada toolbox adicional cuesta alrededor de USD $ 100. Sin embargo, una alternativa de software libre es Octave, que permite realizar programas similares a los de Matlab pero sin tener que invertir dinero en la licencia.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Como Octave es un software gratuito no es adecuado hacer comparaciones directas entre las funcionalidades de Octave y Matlab. Sin embargo, para el uso comn (el que necesitarn para u a el curso) Octave proporciona todas las funciones necesarias.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Comparar Matlab y Octave es como comparar Oce y Open Oce. Para usuarios bsicos los dos tienen las mismas a funcionalidades pero uno de ellos es libre y el para el otro se necesita comprar una licencia.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Abriendo Octave
1 2
Escribir comandos en la consola: Funciones predenidas Nombre de archivos .m (guardados en el mismo directorio) Funciones hechas por el usuario. Escribir el comando edit para abrir la ventana del editor y escribir all un programa.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Sabemos que al programar se utilizan ciclos y decisiones. Veamos cmo se escriben estos en Octave. o
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ciclos
As se representan los ciclos en Octave: Ciclos Pseudocdigo: o para i desde 1 hasta n a = a + 1 fin Cdigo: o for i = 1 : 1 : n a = a + 1; end
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Decisiones
As se representan las decisiones en Octave: Decisiones Pseudocdigo: o si i < n a = a + 1 sino a = 0 fin Cdigo: o if (i < n) a = a + 1; else a = 0; end
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Operadores lgicos o
Los operadores lgicos en Octave se representan as o : Operadores lgicos o Matemticamente: a a<b ab a=b a=b a b (a y b) a b (a o b) a (no a)
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ciclos mientras
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicios
Programar y ejecutar en Octave los siguientes programas: Ejercicio 1 n = 100, suma = 0 para i desde 1 hasta n suma = suma + i fin muestre suma Ejercicio 2 n = 100, i = 1, suma = 0 mientras que i n suma = suma + i i = i + 1 fin muestre suma
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicios
Programar y ejecutar en Octave los siguientes programas: Ejercicio 1 n = 100, suma = 0 para i desde 1 hasta n suma = suma + i fin muestre suma Ejercicio 2 n = 100, i = 1, suma = 0 mientras que i n suma = suma + i i = i + 1 fin muestre suma
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Reexin o
Preguntas
1
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Reexin o
Preguntas
1
Los dos programas hacen lo mismo? Respuesta: S los dos calculan la suma de los nmeros del 1 , u al 100
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Reexin o
Preguntas
1
Los dos programas hacen lo mismo? Respuesta: S los dos calculan la suma de los nmeros del 1 , u al 100 Cul es el valor nal de la variable suma? a
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Reexin o
Preguntas
1
Los dos programas hacen lo mismo? Respuesta: S los dos calculan la suma de los nmeros del 1 , u al 100 Cul es el valor nal de la variable suma? a Respuesta: suma = 5050. En general suma =
n(n+1) 2
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Funciones
Acabamos de escribir programas como una secuencia de instrucciones que no recibe parmetros y luego lo ejecutamos en la a ventana de Octave escribiendo el nombre del archivo. Sin embargo hay otra forma de ejecutar los programas entregndole algunos a valores como parmetros. Esta forma se logra escribiendo el a programa como una funcin. o
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Funciones
Ejemplo La siguiente funcin toma dos nmeros a y b y retorna su suma y o u su producto. function [suma, producto] = f(a, b) suma = a + b; producto = a * b; end function [suma, producto] = f(a, b) Se van a retornar los valores de las variables suma y producto. function [suma, producto] = f(a, b) La funcin va a o ser llamada por el nombre f. function [suma, producto] = f(a, b) La funcin o recibe dos parmetros que se van a llamar a y b. a
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Funciones
Ejemplo La siguiente funcin toma dos nmeros a y b y retorna su suma y o u su producto. function [suma, producto] = f(a, b) suma = a + b; producto = a * b; end function [suma, producto] = f(a, b) Se van a retornar los valores de las variables suma y producto. function [suma, producto] = f(a, b) La funcin va a o ser llamada por el nombre f. function [suma, producto] = f(a, b) La funcin o recibe dos parmetros que se van a llamar a y b. a
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Funciones
Cmo se ejecutan las funciones? o El archivo en el cual est guardada la funcin y la funcin deben a o o tener el mismo nombre. Luego se llama a la funcin as o . Ejemplo El resultado de f(5, 3) se guarda en las variables sum y prod. [sum, prod] = f(5, 3) sum = 8 prod = 15 Nota: Las funciones pueden ser llamadas tanto desde la ventana de comandos como desde otros programas guardados en el mismo directorio.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicio
Ejercicio 3 Escriba una funcin que, dado n, retorne la suma de los nmeros o u de 1 hasta n.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicio
Ejercicio 3 Escriba una funcin que, dado n, retorne la suma de los nmeros o u de 1 hasta n. Solucin o Una de las posibles soluciones ser a: function suma = sumar_hasta_n (n) suma = n * (n + 1) / 2; end
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Arreglos
En programacin existe una estructura de datos muy util que se o llama arreglo. Veamos cmo se representan los arreglos en Octave. o
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Inicializacin de arreglos o
Para crear un arreglo es necesario denir su nombre y su tamao n con una funcin de inicializacin. o o Inicializacin de arreglos o A = zeros(n, m) Inicializa el vector (o matriz) A en un tamao de n las y m columnas llenas de ceros. n A = ones(n, m) Inicializa el vector (o matriz) A en un tamao de n las y m columnas llenas de unos. n A = eye(n, m) Inicializa la matriz A como la matriz identidad de n las y m columnas (Matriz de ceros con unos en la diagonal). B = 1 : n Inicializa el vector B con los nmeros u consecutivos de 1 a n. Nota: Tambin se pueden inicializar matrices k-dimensionales e
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Inicializacin de arreglos o
El resultado de aplicar las funciones de inicializacin es un arreglo o del tamao especicado. n Ejemplos A = ones(2, 3) A= 1 1 1 1 1 1
A=
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicio
Ejercicio 4 Realice un programa que, dado un nmero n 1, retorne un u arreglo cuya posicin i sea la suma de los nmeros de 1 a i. o u
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicio
Ejercicio 4 Realice un programa que, dado un nmero n 1, retorne un u arreglo cuya posicin i sea la suma de los nmeros de 1 a i. o u Solucin o function sumas = suma_en_vector(n) sumas = ones(n, 1); for i = 2 : n sumas(i) = sumas(i - 1) + i; end end
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Qu es un String? e
Un String es una palabra que en el computador se representa como un vector de caracteres (letras). Por ser vectores tienen las mismas propiedades que los arreglos numricos pero su inicializacin es e o diferente.
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Los Strings se representan en Octave con las comillas simple ( ) as : Ejemplo s =Hola mundo Mi nombre es Ana
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Preguntas
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Preguntas
Preguntas Sea s = Bienvenidos Cul es el resultado del comando s(1)? a B Cul es el resultado del comando s(1:4)? a
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Preguntas
Preguntas Sea s = Bienvenidos Cul es el resultado del comando s(1)? a B Cul es el resultado del comando s(1:4)? a Bien
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicio
Ejercicio 5 Teniendo el cuenta el resultado del ejercicio 3 modique el programa para que verique que n 1. En caso de que no sea as el programa debe mostrar un String que diga El nmero ingresado deber ser mayor o igual a 1. u
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Ejercicio
Ejercicio 5 Teniendo el cuenta el resultado del ejercicio 3 modique el programa para que verique que n 1. En caso de que no sea as el programa debe mostrar un String que diga El nmero ingresado deber ser mayor o igual a 1. u Solucin o function suma = sumar_hasta_n2 (n) if (n < 1) error = El nmero ingresado deber ser mayor u o igual a 1 suma = NaN; else suma = n * (n + 1) / 2; end end
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Recomendaciones nales
Algunos consejos para cuando se va a programar 1 Tener siempre un cdigo organizado, de tal manera que otra o persona que lo vaya a ver entienda qu es lo que se e est haciendo. Algunos consejos son: a
Tener el cdigo identado o Usar nombres claros para las variables Usar subfunciones como apoyo para una funcin muy grande o Comentar qu hace el cdigo, qu parmetros recibe y e o e a qu retorna y adems si hay una parte muy compleja explicar e a qu es lo se hace en ese pedazo del cdigo. En Octave se e o utiliza el s mbolo % para los comentarios
2
Saber cmo funciona el mtodo que se implement, o e o independientemente de qu persona de grupo lo program. e o Probar que sus mtodos funcionen ejecutndolo con casos de e a prueba para los que ya se sabe la respuesta (en el libro se presentan muchos casos en muchos ejemplos resueltos).
Qu es Octave? e
Funciones
Arreglos
Strings
Recomendaciones
Prxima sesin o o
En la prxima sesin se aprendern algunos comandos de Octave o o a como: Entrada y salida de datos y mensajes. Manejo de funciones con el comando inline. Grca de funciones a Otros comandos utiles