Practico 1
Practico 1
Practico 1
Instituto de Computación
Curso 2018
PRÁCTICO Nº 1
Introducción
El objetivo de este práctico es introducir al estudiante en el manejo del entorno Octave y comparar las
funcionalidades de Octave con las de las planillas de cálculo.
Funcionalidades Básicas
Ejercicio 1
Inicie el Octave haciendo doble click en el icono que se encuentra en el Escritorio con el nombre
Octave (GUI), o sino desde el menú de programas. La ventana que aparece la llamaremos Ventana de
Comandos (Command Window) y permite a los usuarios introducir comandos sencillos. Probaremos
algunos sencillos. Tecleé en la línea de comandos:
s=1+2 (Pulse Enter)
fun=sin(pi/4) (Pulse Enter)
a=log(s^-1) (Pulse Enter)
Los resultados que Ud. ha tecleado fueron guardados en variables, puede observar la lista de variables
que tiene definidas en el ambiente con el comando who o en el menú Workspace. Puede obtener sus
valores solamente tecleando su nombre y pulsando Enter.
Ejercicio 2
Ahora trabajaremos con vectores. Para Octave todas las variables son matrices, los escalares matrices
de 1x1, los vectores tipo fila son matrices de 1xN y los del tipo columna son matrices de Nx1.
Tecleé en la línea de comandos:
a=[2 3 4]
b=[2,3,4]
c=[2;3;4]
Utilice el comando size para observar las dimensiones de las variables A, B y C. Observe que al igual
que la notación matemática habitual las dimensiones son expresadas en la forma [fila, columna]. Para
conocer la sintaxis del comando size utilice el help haciendo help size.
Ejercicio 3
Pasemos a trabajar con matrices. Introduzca las siguientes matrices:
4 7 6
2 4 0 1
A B C 1 9 6
8 7 1 0
3 2 3
Calcule:
D=A+B
A' es la transpuesta conjugada de A, el ’ (apóstrofe) se encuentra en la tecla ? (a la derecha
del 0)
A^-1 esto también se puede realizar mediante la función inv, ingresando inv(A)
A*B
A.*B
Observe que las dos últimas operaciones dan resultado diferente, esto se debe a que ingresar un punto
(.) antes del operador le indica a Octave que la operación a realizar se realizará elemento a elemento.
Esto es aplicable a las operaciones ’ , * , / , ^ y \
Por ej.: (A+i*B)' es distinto a (A+i*B).'Verifíquelo.
Ejercicio 5
Resolución de sistemas de ecuaciones lineales. (Ver help mldivide)
Sea A=[1 2 3;4 5 6;7 8 10] y b=ones(3,1), entonces podemos resolver el sistema lineal
Ax=b tecleando x=A\b (el operador \ recibe el nombre de división izquierda o backslash). Calcule
el error residual de la solución calculada (r = b-Ax).
En el caso de un sistema sobredeterminado, se utiliza el mismo operador pero Octave internamente
utiliza el método de mínimos cuadrados para su solución. Por ejemplo para A=[2 –1;1 10;1 2] y
b el mismo de antes calcule la solución del sistema Ax=b.
Nota: Excel es dependiente de la “configuración local” de Windows. Por ejemplo, para algunos países se
utiliza la coma como separador decimal, mientras que para otros se utiliza el punto. Si estamos trabajando en
una computadora que utiliza el formato numérico en idioma español es probable que Excel considere que el
separador decimal es la coma “,” y no el “.”.
5. Seleccione las celdas con datos (desde A1 hasta C6) y elija la opción de menú Insertar
Diagrama (Insert Chart)
6. En Tipo de gráfico (Chart type), seleccione XY (Dispersión) (XY (Scatter))
7. Para la apariencia de la gráfica seleccione la opción de dispersión con puntos de datos
conectados por líneas sin marcadores de datos (lines only).
8. Haga clic en Finalizar (Finish). Debería obtener un gráfico como el que se muestra a
continuación.
NOTA: Si está utilizando el programa LibreOffice u OpenOffice en vez de Excel en el último paso debe hacer click en
Siguiente (Next), elegir la opción Primer fila como etiqueta (First row as label) y luego Finalizar (Finish).
Cuando usamos Excel, tenemos que tener en cuenta el idioma de la instalación. Si está en español, el menú y
los mensajes aparecerán en español, aunque la traducción puede resultar engañosa. Por ejemplo, la versión
en español traduce “Import External Data” como “Obtener Datos Externos”. Por otra parte, lo realmente
llamativo es que Excel también traduce las fórmulas al español.
Otro aspecto a tener en cuenta es que Excel es dependiente de la “configuración local” de Windows. Por
ejemplo, para algunos países se utiliza la coma como separador decimal, mientras que para otros se utiliza el
punto. Dependiendo de esta configuración, puede que los valores numéricos no se carguen correctamente. Si
estamos trabajando en una computadora que utiliza el formato numérico en idioma español es probable que
Excel considere que el separador decimal es la coma “,” y no el “.” que viene por defecto en el archivo
telmex.csv. Si este es el caso, una vez cargado el archivo ejecutar la siguiente secuencia:
Editar -> Buscar y Reemplazar… -> Escribir . en el recuadro Buscar –> Escribir , en el
recuadro Reemplazar por -> Reemplazar todo.
(Edition Replace Escribir . en el recuadro Find Escribir , en el recuadro Replace with
Replace all)
Los datos que se calcularán en las siguientes secciones corresponden a realizar estadística descriptiva
de la variable “volumen de acciones comercializadas” en el período tratado.
Las siguientes funciones se utilizan frecuentemente a lo largo del curso: round, fix, ceil, floor, mod,
rem. El objetivo de este ejercicio y el siguiente es conocerlas a través de su uso práctico.
round(n): Redondea el número al entero más cercano. Ejemplo: round(1.5) = 2
ceil(n) : Devuelve el techo del número (redondea hacia más infinito). Ejemplo: ceil(1.5) = 2
fix(n) : Se queda con la parte entera del número (redondea hacia cero). Ejemplo: fix(1.5) = 1
floor(n) : Devuelve el piso del número (redondea hacia menos infinito). Ejemplo: floor(1.5) = 1
1. Complete la tabla con el resultado de aplicar las funciones round, fix, ceil y floor en
Octave.
2. Tomando en cuenta esos resultados, infiera para qué conjunto de números fix y ceil se
comportan de idéntica forma, y para qué conjunto se comportan de manera distinta.
3. Haga lo mismo para fix y floor.
4. Explique qué hacen esas funciones con los números complejos.
5. Utilizando Octave, encuentre una forma de armar la tabla sin tener que ejecutar estas
funciones para cada número. Pista: teniendo los números en memoria se puede hacer en un
único paso.
Procediendo de forma análoga al ejercicio 11, aplique las funciones rem y mod sobre las siguientes
parejas de valores de a y d, y explique su comportamiento:
mod(a,d) : Devuelve el resto r de dividir a entre d, calculado como: a – d .* floor(a ./ d)
rem(a,d) : Devuelve el resto r de dividir a entre d, calculado como: a – d .* fix(a ./ d)
a 6 5 5 -5 -5
d 2 2 -2 2 -2
Ejercicio 13
Otras dos funciones útiles y muy utilizadas son size y length. Si M es una matriz y v un vector:
>> size(M,2)
>> size(M',2)
>> size(M(2,2:3))
>> length(M(1:3,2))
>> length(M(1:3,2:2))
>> size(M(:,1:2:4))
>> size([])
>> length(M(1:3,2:1))