Beruflich Dokumente
Kultur Dokumente
Raimundo Soto
Saturday 19 July 2008
1 Un grimorio es un libro de conocimiento mágico escrito entre la Alta Edad Media y el siglo XVIII. Tales libros
contienen correspondencias astrológicas, listas de ángeles y demonios, instrucciones para lanzar encantamientos y
hechizos, mezclar medicamentos, convocar entidades sobrenaturales y fabricar talismanes.
1. Introducción
Gauss es un programa matemático que opera sobre la base de matrices y se usa para hacer
econometría.
La primera característica significa que el econometrista debe programar toda acción que el
programa deba hacer. El número de “comandos” es muy limitado, circunscribiéndose a aquellas
operaciones que se puede hacer con matrices.
El programa es 100% estúpido, lo que significa que cada vez que se comete un error, es
culpa del econometrista y no de Gauss. Existe un número enorme de aplicaciones de Gauss
(subrutinas existentes) que son de fácil acceso, abiertas y que nosotros no vamos a usar (p.e.,
mínimos cuadrados). Abiertas significa que se puede ver el código base. NO las vamos a usar para
aprender econometría en serio.
● Editor
● Ambiente de comandos
● Inicie Gauss
● Abra un archivo en blanco (File → New)
● Divida la pantalla usando Window → Tile Horizontal
1/15
Las instrucciones de Gauss se terminan todas con el caracter ;
Si no ponen ;, Gauss seguirá leyendo la línea siguiente (y se va a caer).
A = A + 2;
2/15
/* MANEJO DE MATRICES
Creación de matrices */
y = 3; /* Crea un escalar */
x = {1 2 3 4 5 6 7 8 9}; /* Crea una matriz de 1x9 */
z = {1,2,3,4,5,6,7,8,9}; /* Crea una matriz de 9x1 */
w = {1 2 3, 4 5 6, 7 8 9}; /* Crea una matriz de 3x3 */
Para ejecutar el programa, grabe el archivo del editor con algún nombre y luego presione F6.
Como se ve, no pasa nada cuando se ejecuta (si no pasa nada es un buen síntoma)
3/15
En el ambiente de comandos escriba show para obtener:
Esto quiere decir que Gauss creó –y tiene en la memoria– cuatro matrices con las
dimensiones que se ven en la última columna.
4/15
/* se puede operar con estas matrices directamente */
b = w[y-1,y^0];
c = w[1:2,2:3];
d = w[a^0:y-1,2*b^0:y]; /* produce lo mismo */
5/15
/* Las matrices pueden contener alfanuméricos (strings) */
h = "Colo ";
j = "Viva ";
i =j$+h$+h;
print i;
● Es buena idea incluir una instrucción para que borre los resultados de la pantalla después de
cada ejecución: escriba cls; (clear screen) en la primera línea del editor y corra el programa.
6/15
7/15
/* FUNCIONES, CICLOS, Y CONDICIONALES
fn area(r) = pi * r * r;
z = area(4);
x = area(2*pi);
w = sqrt(area(3*cos(30)));
8/15
/* CICLOS (bucles) Los ciclos permiten hacer operaciones repetidas */
9/15
/* CONDICIONALES Los condicionales son tambien muy utiles */
i = 1;
if i==1;
"Colo Colo Campeon";
else;
"Muera la U";
endif;
10/15
/*
proc(3) = mico(x,y); /* Nombre del procedimiento "mico" y sus argumentos son dos
matrices "x" e "y". Entre parentesis el número de retornos.
*/
11/15
/* Suponga ahora que en el programa principal se llama este procedure (como
necesitamos datos, los vamos a "inventar" usando una distribucion normal) */
x = rndn(150,6);
y = rndn(150,1);
{b,sd,t} = mico(x,y);
12/15
13/15
/* Este programa convierte datos leidos de un archivo ASCII en formato Gauss (.dat)
obs = 33;
reg = 8;
let vnames = VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8 ;
create f1 = dataconvert with ^vnames, reg, 8; /* 8 es doble precision */
dataconvert = writer(f1,x);
/*
Esto va a crear un archivo dataconvert.dat que es un archivo de datos GAUSS
Note que es de un tamaño menor que el archivo de texto, lo que es util
*/
/* Si se leen etiquetas */
mat = xlsReadSa("DATA.XLS", "A10:H65", 5,"");
/* donde Data.xls es el nombre del archivo, A10:H65 es el rango a leer, 5 es la hoja dentro
del archivo, y "" es un vector nulo que */
14/15