Example: dental hygienist

Tutorial de Octave - materias.fi.uba.ar

Tutorial de OctaveSebasti an Horacio CarbonettoRevisi on: Septiembre 2010 Universidad de Buenos AiresFacultad de Ingenier Dispositivos Semiconductores1. Introducci onGNU Octavees un lenguaje de programaci on de alto nivel especializado enc alculos num ericos. Es libre, gratuito y puede descargarse un programa multiplataforma ya que corre bajo Windows, Linux y MacOSentre otros. Se maneja por l nea de comando, aunque existen numerosas GUI s1,comoqtOctave(Ubuntu).Este Tutorial tiene como objetivo familiarizar al estudiante con la sintaxisdel lenguaje, as como tambi en con las funciones m as b asicas y las cuales ser ande utilidad para la realizaci on de los trabajos pr acticos de la materia.

Este tutorial tiene como objetivo familiarizar al estudiante con la sintaxis del lenguaje, as como tambi en con las funciones m as b asicas y las cuales ser an de utilidad para la realizaci on de los trabajos pr acticos de la materia. Con este n, la explicaci on se basar a en ejemplos triviales para que la atenci on del

Tags:

  Objetivos

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Tutorial de Octave - materias.fi.uba.ar

1 Tutorial de OctaveSebasti an Horacio CarbonettoRevisi on: Septiembre 2010 Universidad de Buenos AiresFacultad de Ingenier Dispositivos Semiconductores1. Introducci onGNU Octavees un lenguaje de programaci on de alto nivel especializado enc alculos num ericos. Es libre, gratuito y puede descargarse un programa multiplataforma ya que corre bajo Windows, Linux y MacOSentre otros. Se maneja por l nea de comando, aunque existen numerosas GUI s1,comoqtOctave(Ubuntu).Este Tutorial tiene como objetivo familiarizar al estudiante con la sintaxisdel lenguaje, as como tambi en con las funciones m as b asicas y las cuales ser ande utilidad para la realizaci on de los trabajos pr acticos de la materia.

2 Coneste fin, la explicaci on se basar a en ejemplos triviales para que la atenci on delestudiante se base en la comprensi on de la herramienta y no en el entendimientodel problema profundizar el estudio de esta herramienta, existen numerosos tutorialesen la web2, aunque una de las maneras m as utiles de aprender es mediante elcomandohelp, como veremos m as en se recomienda leer el ap endice d onde se indican qu e paquetes debenser instalados, adem as del mismo programa, para que todas las funciones nece-sarias para la realizaci on de los trabajos pr acticos est en Primer vistazoAl iniciar el programa, ya sea en un entorno gr afico o por l nea de comando,nos encontraremos con alg un mensaje de bienvenida y la l nea de comando enblanco para comenzar a User Interfase2 Por ejemplo, o bien la docu-mentaci on oficial PRIMER VISTAZO2 GNU Octave , version (C) 2009 John W.

3 Eaton and is free software; see the source code for copying is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. For details, type warranty . Octave was configured for 486-pc-linux-gnu".Additional information about Octave is available contribute if you find this software more information, visit bugs to first, please to learn how to write a helpful report).>>Existen dos maneras de trabajar con Octave : de forma directa, ingresando co-mandos por la l nea de comandos, o bien generando unscript. Un script esun archivo de texto plano que contiene una serie de instrucciones que octavepuede interpretar y ejecutar, de extensi Lo m as usual es trabajar conscripts, pero para comenzar este Tutorial , los primero ejemplos se trabajar andirectamente por l nea de m as sencillo que podemos hacer en Octave son cuentas, por ejemplo>> 1+1ans = 2>> 65998-4855ans = 61143>>Todo resultado puede ser guardado en una variable.

4 Para asignar un valor auna variable, debemos utilizar el operador = .>> a=1a = 1>> b=599b = 599>> c=a+bc = 600>> d=2*3d = 6>>Como se ve en el ejemplo anterior, a una variable no s olo se le puede asignar unvalor aislado, sino tambi en el resultado de una operaci todos los ejemplos mostrados se ve que Octave siempre muestra el resul-tado de la operaci on realizada, lo que puede llegar a ser molesto, especialmenteen un script que tiene m as de mil operaciones y no queremos verlas todas enpantalla. Para decirle a Octave que no queremos visualizar el resultado en lapantalla es necesario agregar un ; al final de la l nea TODOS LOS ELEMENTOS SON MATRICES3>> a=1;>> b=599;>> c=a+b;>> d=2*3;>> c*dans = 3600>>3.

5 Todos los elementos son matricesPara Octave todos los elementos son matrices. En particular, los escalaresson matrices de dimensi on 1 1, los vectores fila son matrices de dimensi on1 n, y los vectores columna son matrices de dimensi onn 1. Las matricesse declaran entre corchetes ([]), las columnas se separan con espacios, y parainiciar una nueva fila se utiliza el ; .>> matrix=[1 2;3 4]matrix =1 23 4>> rVector=[1 2 3 4]rVector =1 2 3 4>> cVector=[1;2;3;4]cVector =1234>>Una vez que tenemos nuestra matriz almacenada en una variable, podemosacceder independientemente a cualquier elemento en forma individual. Bastacon indicar entre par entesis a cu al de todos los elementos queremos acceder.

6 >> matrix=[ ; ; ];>> matrix(1,3)ans = >> minimatrix=matrix(2:3,2:3)minimatrix= >>En el primer ejemplo se accede al elemento de la fila 1 y columna 3. Es im-portante notar que la numeraci on de los vectores y matrices comienza en 1 yno en 0 como en otros lenguajes de programaci on (por ejemplo lenguaje C).En el segundo ejemplo, en lugar de acceder a un unico elemento, se accede auna submatriz que corresponde a la inferior izquierda. El operador : puede3 TODOS LOS ELEMENTOS SON MATRICES4utilizarse para indicar que se desea tener acceso a todos los elementos de unafila o columna, y de esta manera tomar filas y/o columnas individuales dentrode una matriz>> matrix(1,:)ans = >> matrix(:,1)ans = >>Otro caso especial de indexado de elementos en un vector sucede cuandoqueremos acceder desde el elementonhasta el ultimo, pero desconocemos lalongitud del mismo.

7 En este caso, se puede utilizar la palabra reservadaendqueindica hasta el final .>> n=96;>> x(n:end)ans =96 97 98 99 100>> n=5;>> x(end-n+1:end)ans =96 97 98 99 100>>El resultado en los ultimos dos ejemplos es equivalente, sin embargo son dosoperaciones esencialmente diferentes. En el primer caso se accede a todos loselementos a partir deln esimo elemento, mientras que en el segundo ejemplo seaccede a los ultimosnelementos. Qu e sucede si necesitamos un vector con valores de 1 a 100? Tenemos queingresar los 100 valores manualmente? Por suerte, no. Con el operador : puedenconstruirse vectores indicando el primer valor, el ultimo valor, y el paso entreelementos.

8 Si no se indica un valor para el paso, Octave entiende por defectoque este es :paso:valorf inal3 TODOS LOS ELEMENTOS SON MATRICES5>> [1:5]ans =1 2 3 4 5>> [5:-1:1]ans =5 4 3 2 1>> 11:3:20ans =11 14 17 20>> [0:.2:1]ans = >>Notar dos cosas del ejemplo anterior. Cuando se utiliza el operador : no esnecesario utilizar los corchetes, Octave entiende que se est a construyendo unvector. Adem as, cuando se ingresan n umeros decimales, no es necesario ingresarel cero a la todos los elementos son matrices, todas las operaciones que se real-izan en Octave son operaciones matriciales, por lo tanto las dimensiones de loselementos involucrados en la operaci on deben ser acordes a la misma, en casocontrario obtendremos un mensaje de error.

9 Por ejemplo, no podemos sumar unvector fila con un vector columna>> x=rVector+cVector;error: operator +: nonconformant arguments (op1 is 1x4, op2 is 4x1)>>pero s podemos multiplicarlos, y dependiendo del orden de los factores el re-sultado ser a un escalar o una matriz.>> rVector*cVectorans = 30>> cVector*rVectorans =1 2 3 42 4 6 83 6 9 124 8 12 16>> Qu e sucede si tengo datos almacenados en dos matrices distintas dondecada elemento de la matriz representa informaci on independiente del resto delos elementos, pero se relaciona con el mismo elemento de la otra matriz? Eneste caso es posible que queramos realizar operaciones elemento a elemento en lugar de operaciones matriciales.

10 En estos casos, ser a necesario anteponerun . al operador. El . justamente lo que hace es indicar al operador que laoperaci on no es matricial sino elemento a FUNCIONES6>> A=[9 8;7 6];>> B=[1 0;0 1];>> C=[1 2;3 4];>> A*Bans =9 87 6>> A.*Bans =9 00 6>> C^2ans =7 1015 22>> C.^2ans =1 49 16>>Una operaci on muy frecuente que se realiza sobre matrices es la transposi-ci on. En forma estricta, el operador de transposici on es . , mientras que (sin el punto) es el operador herm tico. Cuando se trabaja con n umero realesambos son equivalentes.>> a=[(1+i) 1]a =1 + 1i 1 + 0i>> D ans =1 - 1i1 - 0i>> D. ans =1 + 1i1 + 0i>>4. FuncionesUn comando es una orden que el usuario le indica al programa.


Related search queries