]> git.llucax.com Git - z.facultad/75.12/tp1.git/commitdiff
Import inicial después del "/var incident". :(
authorLeandro Lucarella <llucax@gmail.com>
Sun, 23 Mar 2003 07:10:16 +0000 (07:10 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 23 Mar 2003 07:10:16 +0000 (07:10 +0000)
17 files changed:
77891.cpp [new file with mode: 0644]
GFDL [new file with mode: 0644]
GPL [new file with mode: 0644]
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
calc.sh [new file with mode: 0755]
d.gnuplot [new file with mode: 0644]
efg.gnuplot [new file with mode: 0644]
grilla.xcf [new file with mode: 0644]
informe.lyx [new file with mode: 0644]
isolineas.awk [new file with mode: 0644]
isolineas.kmp [new file with mode: 0644]
isolineas.ps [new file with mode: 0644]
mother.xcf [new file with mode: 0644]
plot.sh [new file with mode: 0755]
regiones.xcf [new file with mode: 0644]
resultado.awk [new file with mode: 0755]

diff --git a/77891.cpp b/77891.cpp
new file mode 100644 (file)
index 0000000..8d89ce7
--- /dev/null
+++ b/77891.cpp
@@ -0,0 +1,247 @@
+// vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+//
+// Trabajo Práctico I de Análisis Numérico I
+// Este programa resuelve un sistema de ecuaciones lineales ralo
+// resultante de la discretización mediante diferencias finitas
+// de ecuaciones diferenciales.
+// Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+// 
+// Este programa es Software Libre; usted puede redistribuirlo
+// y/o modificarlo bajo los términos de la "GNU General Public
+// License" como lo publica la "FSF Free Software Foundation",
+// o (a su elección) de cualquier versión posterior.
+// 
+// Este programa es distribuido con la esperanza de que le será
+// útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+// implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+// particular. Vea la "GNU General Public License" para más
+// detalles.
+// 
+// Usted debe haber recibido una copia de la "GNU General Public
+// License" junto con este programa, si no, escriba a la "FSF
+// Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+// Boston, MA  02111-1307, USA.
+//
+// $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/77891.cpp $
+// $Date: 2002-10-13 23:38:45 -0300 (dom, 13 oct 2002) $
+// $Rev: 9 $
+// $Author: luca $
+//
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+// Tipos de datos.
+typedef unsigned int Indice;
+typedef float Numero;
+typedef struct {
+    Indice  N;
+    Numero  w;
+    Numero  rtol;
+    Numero  TS;
+    Numero  TO;
+    Numero  TN;
+    Numero  TE;
+    Numero* X;
+} Datos;
+
+// Constantes.
+const Numero DEFAULT_W    = 1.0,
+             DEFAULT_RTOL = 0.01,
+             DEFAULT_T    = 1.0;
+
+// Calcula la iteración para un nodo.
+Numero procesarNodo( Datos&, Indice );
+
+// Calcula la iteración para un nodo dependiendo del tipo de nodo.
+Numero procesarNodo( Datos&, Indice, bool, bool, bool, bool, Numero = 0 );
+
+// Calcula la norma 2 de un vector.
+Numero norma2( Numero*, Indice );
+
+// Imprime un vector por la salida estándar.
+void imprimirVector( Indice, Numero* );
+
+// Imprime un vector por la salida estándar.
+void imprimirVector( Numero*, Indice );
+
+// Resuelve el sistema de ecuaciones lineales por el método S.O.R. 
+// (o Gasuss-Seidel si w=1).
+void resolver( Datos& );
+
+int main( int argc, char* argv[] ) {
+
+    // Se fija que tenga los argumentos necesarios para correr.
+    if ( argc < 2 ) {
+        printf( "Faltan argumentos. Modo de uso:\n" );
+        printf( "\t%s N w RTOL TS TO TN TE\n", argv[0] );
+        printf( "Desde w en adelante son opcionales. Los valores por defecto son:\n" );
+        printf( "\tw                 = %f\n", DEFAULT_W );
+        printf( "\tRTOL              = %f\n", DEFAULT_RTOL );
+        printf( "\tTS = TO = TN = TE = %f\n", DEFAULT_T );
+        return EXIT_FAILURE;
+    }
+
+    // Se inicializan los datos.
+    Datos D;
+    D.N      = Indice( atol( argv[1] ) );
+    if ( D.N < 3 ) {
+        printf( "N Debe ser un entero mayor o igual a 3\n" );
+        return EXIT_FAILURE;
+    }
+    D.w    = DEFAULT_W;
+    D.rtol = DEFAULT_RTOL;
+    D.TS   =
+    D.TO   =
+    D.TN   =
+    D.TE   = DEFAULT_T;
+    // Se aloca uno más de lo necesario para usar el rango [1,n]
+    D.X    = new Numero[Indice(pow(D.N-1,2))+1]; 
+
+    // Si se pasaron datos como argumento, se los va agregando.
+    switch ( argc ) {
+        case 8: D.TE    = Numero( atof( argv[7] ) );
+        case 7: D.TN    = Numero( atof( argv[6] ) );
+        case 6: D.TO    = Numero( atof( argv[5] ) );
+        case 5: D.TS    = Numero( atof( argv[4] ) );
+        case 4: D.rtol = Numero( atof( argv[3] ) );
+        case 3: D.w     = Numero( atof( argv[2] ) );
+    }
+
+    resolver( D );
+
+    delete D.X;
+
+    return EXIT_SUCCESS;
+
+}
+
+Numero procesarNodo( Datos& D, Indice i ) {
+
+    Indice N = D.N;
+
+    // Si es el primero, es SO.
+    if ( i == 1 )
+        return procesarNodo( D, i,
+                false, false, true, true,
+                D.TS + D.TO );
+
+    // Si es N - 1 es NO.
+    if ( i == ( N - 1 ) )
+        return procesarNodo( D, i,
+                false, true, false, true,
+                D.TN + D.TO );
+
+    // Si es N² - 3N + 3 es SE.
+    if ( i == ( N*N - 3*N + 3 ) )
+        return procesarNodo( D, i,
+                true, false, true, false,
+                D.TS + D.TE );
+
+    // Si es N² - 2N + 1 es NE.
+    if ( i == ( N*N - 2*N + 1 ) )
+        return procesarNodo( D, i,
+                true, true, false, false,
+                D.TN + D.TE );
+
+    // Si pertenece al intervalo [2;N-1] es O.
+    if ( ( 1 < i ) && ( i < ( N - 1 ) ) )
+        return procesarNodo( D, i,
+                false, true, true, true,
+                D.TO );
+
+    // Si pertenece al intervalo [N² - 3N + 3;N² - 2N + 1] es E.
+    if ( ( ( N*N - 3*N + 3 ) < i ) && ( i < ( N*N - 2*N + 1 ) ) )
+        return procesarNodo( D, i,
+                true, true, true, false,
+                D.TE );
+
+    // Si i - 1 es múltiplo de N - 1 (y no es NE, SE, NO, SO) es S.
+    if ( ( ( i - 1 ) % ( N - 1 ) ) == 0 )
+        return procesarNodo( D, i,
+                true, false, true, true,
+                D.TS );
+
+    // Si i es múltiplo de N - 1 (y no es NE, SE, NO, SO) es N.
+    if ( ( i % ( N - 1 ) ) == 0 )
+        return procesarNodo( D, i,
+                true, true, false, true,
+                D.TN );
+
+    return procesarNodo( D, i, true, true, true, true );
+
+}
+
+Numero procesarNodo( Datos& D, Indice i,
+                     bool i_n1, bool i_1, bool i1, bool in_1,
+                     Numero b ) {
+
+    Numero x  = 0,
+           Xo = D.X[i];
+
+    // Voy sumando los elementos que corresponden.
+    if ( i_n1 )
+        x += D.X[i-D.N+1];
+    if ( i_1 )
+        x += D.X[i-1];
+    if ( i1 )
+        x += D.X[i+1];
+    if ( in_1 )
+        x += D.X[i+D.N-1];
+
+    // Calculo el elemento i.
+    D.X[i] = ( 1 - D.w ) * D.X[i] + ( b + x ) * D.w / 4;
+
+    // Devuelve parte de la sumatoria para calcular la norma 2.
+    return pow( D.X[i] - Xo, 2 );
+
+}
+
+Numero norma2( Numero* X, Indice n ) {
+
+    Numero sum = 0;
+
+    for ( Indice i = 1; i <= n; i++ )
+        sum += pow( X[i], 2 );
+
+    return sqrt( sum );
+
+}
+
+void imprimirVector( Indice n, Numero* X ) {
+
+    for ( Indice i = 1; i <= n; i++ )
+        printf( "%.7e%s", X[i], ( i == n ) ? "\n" : " " );
+
+}
+
+void resolver( Datos& D ) {
+
+    Indice ite  = 0,
+           n    = Indice( pow( D.N - 1, 2) );
+    Numero r    = D.rtol + 1,
+           Ek   = 0,
+           Ek_1 = 0;
+
+    // Imprime datos iniciales.
+    // Formato de salida:
+    // iteración R S <vector X>
+    // (si no se puede calcular S, se muestra 0)
+    printf( "%d %.2e 0.00000000 ", ite, r );
+    imprimirVector( n, D.X );
+
+    while ( r > D.rtol ) {
+
+        for ( Indice i = 1; i <= n; i++ )
+            Ek += procesarNodo( D, i );
+        Ek = sqrt( Ek );
+        r = Ek / norma2( D.X, n );
+        printf( "%d %.2e %.8f ", ++ite, r, Ek_1 ? ( Ek / Ek_1 ) : 0 );
+        imprimirVector( n, D.X );
+        Ek_1 = Ek;
+        Ek   = 0;
+
+    }
+
+}
diff --git a/GFDL b/GFDL
new file mode 100644 (file)
index 0000000..b42936b
--- /dev/null
+++ b/GFDL
@@ -0,0 +1,355 @@
+               GNU Free Documentation License
+                  Version 1.1, March 2000
+
+ Copyright (C) 2000  Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+written document "free" in the sense of freedom: to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifying it, either commercially or noncommercially.  Secondarily,
+this License preserves for the author and publisher a way to get
+credit for their work, while not being considered responsible for
+modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a
+notice placed by the copyright holder saying it can be distributed
+under the terms of this License.  The "Document", below, refers to any
+such manual or work.  Any member of the public is a licensee, and is
+addressed as "you".
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject.  (For example, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, whose contents can be viewed and edited directly and
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters.  A copy made in an otherwise Transparent file
+format whose markup has been designed to thwart or discourage
+subsequent modification by readers is not Transparent.  A copy that is
+not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML designed for human modification.  Opaque formats include
+PostScript, PDF, proprietary formats that can be read and edited only
+by proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML produced by some word processors for output
+purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page.  For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License.  You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute.  However, you may accept
+compensation in exchange for copies.  If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover.  Both covers must also clearly and legibly identify
+you as the publisher of these copies.  The front cover must present
+the full title with all words of the title equally prominent and
+visible.  You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a publicly-accessible computer-network location containing a complete
+Transparent copy of the Document, free of added material, which the
+general network-using public has access to download anonymously at no
+charge using public-standard network protocols.  If you use the latter
+option, you must take reasonably prudent steps, when you begin
+distribution of Opaque copies in quantity, to ensure that this
+Transparent copy will remain thus accessible at the stated location
+until at least one year after the last time you distribute an Opaque
+copy (directly or through your agents or retailers) of that edition to
+the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it.  In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+   from that of the Document, and from those of previous versions
+   (which should, if there were any, be listed in the History section
+   of the Document).  You may use the same title as a previous version
+   if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+   responsible for authorship of the modifications in the Modified
+   Version, together with at least five of the principal authors of the
+   Document (all of its principal authors, if it has less than five).
+C. State on the Title page the name of the publisher of the
+   Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+   adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+   giving the public permission to use the Modified Version under the
+   terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+   and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section entitled "History", and its title, and add to
+   it an item stating at least the title, year, new authors, and
+   publisher of the Modified Version as given on the Title Page.  If
+   there is no section entitled "History" in the Document, create one
+   stating the title, year, authors, and publisher of the Document as
+   given on its Title Page, then add an item describing the Modified
+   Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+   public access to a Transparent copy of the Document, and likewise
+   the network locations given in the Document for previous versions
+   it was based on.  These may be placed in the "History" section.
+   You may omit a network location for a work that was published at
+   least four years before the Document itself, or if the original
+   publisher of the version it refers to gives permission.
+K. In any section entitled "Acknowledgements" or "Dedications",
+   preserve the section's title, and preserve in the section all the
+   substance and tone of each of the contributor acknowledgements
+   and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+   unaltered in their text and in their titles.  Section numbers
+   or the equivalent are not considered part of the section titles.
+M. Delete any section entitled "Endorsements".  Such a section
+   may not be included in the Modified Version.
+N. Do not retitle any existing section as "Endorsements"
+   or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant.  To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version.  Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity.  If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy.  If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History"
+in the various original documents, forming one section entitled
+"History"; likewise combine any sections entitled "Acknowledgements",
+and any sections entitled "Dedications".  You must delete all sections
+entitled "Endorsements."
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, does not as a whole count as a Modified Version
+of the Document, provided no compilation copyright is claimed for the
+compilation.  Such a compilation is called an "aggregate", and this
+License does not apply to the other self-contained works thus compiled
+with the Document, on account of their being thus compiled, if they
+are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one quarter
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that surround only the Document within the aggregate.
+Otherwise they must appear on covers around the whole aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections.  You may include a
+translation of this License provided that you also include the
+original English version of this License.  In case of a disagreement
+between the translation and the original English version of this
+License, the original English version will prevail.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License.  Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License.  However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time.  Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.  See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation.  If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+      Copyright (c)  YEAR  YOUR NAME.
+      Permission is granted to copy, distribute and/or modify this document
+      under the terms of the GNU Free Documentation License, Version 1.1
+      or any later version published by the Free Software Foundation;
+      with the Invariant Sections being LIST THEIR TITLES, with the
+      Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+      A copy of the license is included in the section entitled "GNU
+      Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections"
+instead of saying which ones are invariant.  If you have no
+Front-Cover Texts, write "no Front-Cover Texts" instead of
+"Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/GPL b/GPL
new file mode 100644 (file)
index 0000000..d60c31a
--- /dev/null
+++ b/GPL
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..c2a1975
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,112 @@
+#
+# Este programa resuelve un sistema de ecuaciones lineales ralo
+# resultante de la discretización mediante diferencias finitas
+# de ecuaciones diferenciales.
+# Copyright (C) 2002 Leandro Lucarella
+# 
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+# 
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+# 
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+# 
+# $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/Makefile $
+# $Date: 2002-10-17 15:46:08 -0300 (jue, 17 oct 2002) $
+# $Rev: 18 $
+# $Author: luca $
+# 
+
+CPP_OPTS=-g3 -Wall 
+LIBS=-lm
+
+all: ca4.txt ca8.txt ca16.txt ca32.txt cb4.txt cb8.txt cb16.txt cb32.txt eg.txt fg.txt \
+       d4.eps d8.eps d16.eps d32.eps eg.eps fg.eps grilla.eps regiones.eps mother.eps \
+       informe.ps informe.pdf informe.tex
+
+77891: 77891.cpp
+       c++ $(CPP_OPTS) $(LIBS) -o 77891 77891.cpp
+
+calc.sh: 77891 resultado.awk
+
+ca4.txt: calc.sh
+       ./calc.sh
+
+ca8.txt: calc.sh
+       ./calc.sh
+
+ca16.txt: calc.sh
+       ./calc.sh
+
+ca32.txt: calc.sh
+       ./calc.sh
+
+cb4.txt: calc.sh
+       ./calc.sh
+
+cb8.txt: calc.sh
+       ./calc.sh
+
+cb16.txt: calc.sh
+       ./calc.sh
+
+cb32.txt: calc.sh
+       ./calc.sh
+
+plot.sh: d.gnuplot efg.gnuplot cb4.txt cb8.txt cb16.txt cb32.txt eg.txt fg.txt
+
+d4.eps: plot.sh
+       ./plot.sh
+
+d8.eps: plot.sh
+       ./plot.sh
+
+d16.eps: plot.sh
+       ./plot.sh
+
+d32.eps: plot.sh
+       ./plot.sh
+
+eg.eps: plot.sh
+       ./plot.sh
+
+fg.eps: plot.sh
+       ./plot.sh
+
+grilla.eps: plot.sh grilla.xcf
+       ./plot.sh
+
+regiones.eps: plot.sh regiones.xcf
+       ./plot.sh
+
+mother.eps: plot.sh mother.xcf
+       ./plot.sh
+
+informe.ps: informe.lyx grilla.eps d4.eps d8.eps d16.eps d32.eps eg.eps fg.eps \
+       regiones.eps mother.eps
+       lyx -e ps informe.lyx
+
+informe.pdf: informe.lyx grilla.eps d4.eps d8.eps d16.eps d32.eps eg.eps fg.eps \
+       regiones.eps mother.eps
+       lyx -e pdf informe.lyx
+
+informe.tex: informe.lyx
+       lyx -e latex informe.lyx
+
+clean-plot:
+       rm -f *.eps
+
+clean-informe:
+       rm -f informe.ps informe.tex informe.pdf
+
+clean: clean-plot clean-informe
+       rm -f *.o 77891 ca*.txt cb*.txt ?g.txt *~ parte2.txt isolineas.txt
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b8557f5
--- /dev/null
+++ b/README
@@ -0,0 +1,33 @@
+vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+
+Trabajo Práctico I de Análisis Numérico I
+
+$URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/README $
+$Date: 2002-10-17 15:48:39 -0300 (jue, 17 oct 2002) $
+$Rev: 20 $
+$Author: luca $
+
+Para generar el Informe del trabajo práctico basta con hacer:
+
+    make all
+
+(ver Makefile para otras opciones)
+
+Para que esto funcione debe tener instalados los siguientes programas:
+* GNU make - http://www.gnu.org/software/make/ (o compatible)
+* GNU AWK  - http://www.gnu.org/software/gawk/ (o compatible)
+* GNU bash - http://www.gnu.org/software/bash/ (o compatible)
+* GNU GCC  - http://gcc.gnu.org/ (o compilador de C++ compatible)
+* gnuplot  - http://www.gnuplot.info/
+* netpbm   - http://netpbm.sourceforge.net/
+* LyX      - http://www.lyx.org/
+* KMatPlot - http://kmatplot.sourceforge.net/
+
+El gnuplot y el netpbm son necesarios para generar los gráficos, el LyX es
+necesario para generar el informe (y es probable que necesite otras
+herramientas para generar el informe en distintos formatos).
+El KMatPlot es opcional ya que se incluye en el paquete el gráfico
+resultante en formato Postscript.
+
+Todos los programas de este paquete se encuentran bajo licencia GPL y
+los documentos bajo licencia GFDL. Ambas se incluyen en el paquete.
diff --git a/calc.sh b/calc.sh
new file mode 100755 (executable)
index 0000000..77dcfd7
--- /dev/null
+++ b/calc.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+#
+# Trabajo Práctico I de Análisis Numérico I
+# Realiza los cálculos del punto c (y a y b).
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+#
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+#
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+#
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+#
+# $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/calc.sh $
+# $Date: 2002-10-17 00:08:00 -0300 (jue, 17 oct 2002) $
+# $Rev: 16 $
+# $Author: luca $
+#
+
+# Calculo soluciones del punto a, b y c.
+for (( n=4; n <= 32; n*=2 )); do
+    ./77891 $n | tail -n1 | ./resultado.awk > ca$n.txt
+done
+
+# Calculo iteraciones y S en función de w.
+for (( n=4; n <= 32; n*=2 )); do
+    echo "Procesando N = $n ..."
+    for (( i=0; i < 100; i+=1 )); do
+        w=`printf "1.%02d\n" $i`
+        echo -n "$w "
+        # Iteraciones en función de w.
+        ./77891 $n $w | wc -l | awk '{printf "%-4d", $1-1}'
+        echo -n " "
+        # S en función de w.
+        ./77891 $n $w | tail -n1 | awk '{print $3}'
+    done > cb$n.txt
+done
+
+# Calculo los puntos e-g
+./77891 16 1.35 0.001 | awk '{print $1 " " log($2) " " $3 " " $116}' > eg.txt
+# Calculo los puntos f-g
+./77891 16 1.85 0.001 | awk '{print $1 " " log($2) " " $3 " " $116}' > fg.txt
+
+# Calculo la Parte II
+ej2="./77891 8 1.446467 0.001 71 79 78 77"
+$ej2 | tail -n1 | ./isolineas.awk > isolineas.txt
+$ej2 | tail -n1 | awk '{ printf "Radio espectral: %.2f\nX25 = %.3f ± 0.001%%\n", $3, $28 }' > parte2.txt
diff --git a/d.gnuplot b/d.gnuplot
new file mode 100644 (file)
index 0000000..ee4fb7d
--- /dev/null
+++ b/d.gnuplot
@@ -0,0 +1,57 @@
+#!/usr/bin/gnuplot
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+#
+# Trabajo Práctico I de Análisis Numérico I
+# Genera gráficos con los resultados de las corridas utilizando
+# GNU Plot.
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+#
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+#
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+#
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+#
+# $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/d.gnuplot $
+# $Date: 2002-10-14 15:17:56 -0300 (lun, 14 oct 2002) $
+# $Rev: 10 $
+# $Author: luca $
+#
+
+# Seteo terminal para que "dibuje" en un PS.
+set term postscript eps enhanced color
+set encoding iso_8859_1
+set output "d<N>.eps"
+
+# Seteos generales.
+set title "Variacion de iteraciones y S en funcion de w para N = <N>"
+set key left top
+
+# Eje X.
+set xlabel  "Factor de sobrerelajacion (w)"
+set mxtics  5
+
+# Eje Y.
+set ylabel  "Iteraciones"
+set ytics   nomirror
+set mytics  5
+
+# Eje Y secundario.
+set y2label "Radio espectral (S)"
+set y2range [0:1]
+set y2tics   0, 0.1
+set my2tics  5
+
+# Plotea
+plot 'cb<N>.txt' using 1:2 smooth csplines axes x1y1 title "Iteraciones" with lines linetype 1, \
+     'cb<N>.txt' using 1:3 smooth csplines axes x1y2 title "Radio espectral" with lines linetype 3
diff --git a/efg.gnuplot b/efg.gnuplot
new file mode 100644 (file)
index 0000000..cd82ae7
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/gnuplot
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+#
+# Trabajo Práctico I de Análisis Numérico I
+# Genera gráficos con los resultados de las corridas utilizando
+# GNU Plot.
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+#
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+#
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+#
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+#
+# $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/efg.gnuplot $
+# $Date: 2002-10-14 15:17:56 -0300 (lun, 14 oct 2002) $
+# $Rev: 10 $
+# $Author: luca $
+#
+
+# Seteo terminal para que "dibuje" en un PS.
+set term postscript eps enhanced color
+set encoding iso_8859_1
+set output "<A>g.eps"
+
+# Seteos generales.
+set title "Variacion R y S en funcion de las iteraciones N = 16 y w = <B>"
+set key bottom
+
+# Eje X.
+set xlabel  "Iteraciones"
+set mxtics  5
+
+# Eje Y.
+set ylabel  "R (en escala logaritmica)"
+set ytics   nomirror
+set mytics  5
+
+# Eje Y secundario.
+set y2label "Radio espectral (S) / Valor del nodo central (113)"
+set y2range [0:1.2]
+set y2tics   0, 0.1
+set my2tics  5
+
+# Plotea
+plot '<A>g.txt' every ::2 using 1:2 smooth csplines axes x1y1 title "ln(R)" with lines linetype 1, \
+     '<A>g.txt'every ::2  using 1:3 smooth csplines axes x1y2 title "S" with lines linetype 3, \
+     '<A>g.txt'every ::2  using 1:4 smooth csplines axes x1y2 title "Nodo central (113)" with lines linetype 4
diff --git a/grilla.xcf b/grilla.xcf
new file mode 100644 (file)
index 0000000..496d6f8
Binary files /dev/null and b/grilla.xcf differ
diff --git a/informe.lyx b/informe.lyx
new file mode 100644 (file)
index 0000000..fb4196f
--- /dev/null
@@ -0,0 +1,2671 @@
+#LyX 1.1 created this file. For more info see http://www.lyx.org/
+\lyxformat 218
+\textclass book
+\language spanish
+\inputencoding auto
+\fontscheme default
+\graphics default
+\paperfontsize default
+\spacing single 
+\papersize Default
+\paperpackage a4
+\use_geometry 0
+\use_amsmath 0
+\paperorientation portrait
+\secnumdepth 2
+\tocdepth 2
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\quotes_times 2
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+
+\layout Title
+
+Análisis Numérico I
+\newline 
+Trabajo Práctico N° 1
+\layout Author
+
+Leandro Lucarella (77.891)
+\layout Date
+
+$Date: 2002-10-25 23:44:39 -0300 (vie, 25 oct 2002) $ ($Rev: 21 $)
+\layout Standard
+
+Copyright (C) 2002 Leandro Lucarella.
+\layout Standard
+
+Tiene permiso para copiar, distribuir y/o modificar este documento bajo
+ los términos de la GNU Free Documentation License (Licencia de Documentación
+ Libre GNU), Versión 1.1 o cualquier versión posterior publicada por la Free
+ Software Foundation (Fundación de Software Libre); sin Invariant Sections
+ (Secciones Invariantes), sin Front-Cover Texts (Texto de Portada-Delantera),
+ y sin Back-Cover Texts (Texto de Portada-Trasera).
+ Puede obtener una copia de la licencia en inglés en 
+\begin_inset LatexCommand \url{http://www.gnu.org/licenses/fdl.txt}
+
+\end_inset 
+
+ o en español (sin validez legal) en 
+\begin_inset LatexCommand \url{http://www.geocities.com/larteaga/gnu/gfdl.html}
+
+\end_inset 
+
+.
+\layout Standard
+
+
+\begin_inset LatexCommand \tableofcontents{}
+
+\end_inset 
+
+
+\layout Chapter
+
+Introducción.
+\layout Section
+
+Objetivo.
+\layout Standard
+
+El objetivo de este trabajo práctico es adquirir experiencia en el uso de
+ métodos iterativos para la resolución de sistemas de ecuaciones lineales
+ ralos resultantes de la discretización mediante diferencias finitas de
+ ecuaciones diferenciales.
+ Mediante experimentación numérica se optimiza la velocidad de convergencia
+ del proceso iterativo en función de la discretización empleada.
+ Los resultados de la optimización numérica se comparan con resultados teóricos.
+ Finalmente se efectúa una aplicación práctica.
+\layout Section
+
+Generalidades.
+\layout Standard
+
+La solución aproximada 
+\begin_inset Formula \( f_{i} \)
+\end_inset 
+
+ de la ecuación de Laplace 
+\begin_inset Formula \( \nabla ^{2}\phi =0 \)
+\end_inset 
+
+ en un dominio bidimensional cuadrado discretizado usando una grilla uniforme
+\begin_inset Formula \( (x_{i}=x_{0}+ih\; ;\; y_{j}=y_{0}+jh) \)
+\end_inset 
+
+ puede obtenerse resolviendo el sistema de ecuaciones lineales que surge
+ de aplicar el siguiente operador a cada uno de los nodos de la grilla:
+\begin_inset Formula \[
+4f_{i,j}-f_{i-1,j}-f_{i+1,j}-f_{i,j-1}-f_{i,j+1}=0\]
+
+\end_inset 
+
+ La matriz de coeficientes del sistema de ecuaciones lineales resultante
+ es rala (a lo sumo 5 elementos por fila son distintos de cero) y presenta
+ una estructura tri-diagonal en bloques.
+ La resolución de este sistema de ecuaciones fue ampliamente estudiada en
+ forma teórica durante la época del auge del método de las diferencias finitas
+ (aproximadamente a mediados del siglo XX).
+ Estos resultados muestran que el método de Gauss-Seidel converge cuando
+ se aplican condiciones de borde de tipo Dirichlet pero que la velocidad
+ de convergencia disminuye a medida que se mejora la discretización (reducción
+ de h).
+ Esta situación es revertida utilizando sobre-relajación con un valor óptimo
+ que también se estableció en forma teórica para dominios cuadrados y rectangula
+res.
+ Entre las aplicaciones más importantes efectuadas en ese momento con esta
+ técnica se encuentra el desarrollo de reactores nucleares.
+\layout Section
+
+Planteo del Trabajo Práctico.
+\layout Standard
+
+El trabajo práctico se divide en dos partes: en la primera se analiza la
+ optimización del proceso iterativo y en la segunda se efectúa una aplicación
+ practica consistente en determinar la distribución de temperaturas sobre
+ una región del 
+\emph on 
+\lang english
+motherboard
+\emph default 
+\lang spanish
+ de una computadora.
+\layout Chapter
+
+Primera Parte.
+\layout Section
+
+Introducción.
+\layout Standard
+
+En la figura 
+\begin_float fig 
+\layout Caption
+
+
+\begin_inset LatexCommand \label{fig:grilla}
+
+\end_inset 
+
+Discretización de un dominio cuadrado (N=4).
+\layout Standard
+\align center 
+
+\begin_inset Figure size 216 216
+file grilla.eps
+subcaption Grilla
+flags 11
+
+\end_inset 
+
+
+\end_float 
+
+\begin_inset LatexCommand \vref{fig:grilla}
+
+\end_inset 
+
+ se muestra la discretización de un dominio cuadrado cuyos lados se dividieron
+ en N = 4 partes iguales.
+ Sobre los contornos el valor de se encuentra impuesto (condición de tipo
+ Dirichlet).
+ La solución aproximada 
+\begin_inset Formula \( f_{i} \)
+\end_inset 
+
+ en los 
+\begin_inset Formula \( (N-1)\cdot (N-1) \)
+\end_inset 
+
+ nodos interiores se obtienen como solución de un sistema de ecuaciones
+ lineales cuya matriz de coeficientes, para N = 4, es de la forma:
+\begin_inset Formula \[
+A=\left[ \begin{array}{ccc}
+T & -I & 0\\
+-I & T & -I\\
+0 & -I & T
+\end{array}\right] \, con\, T=\left[ \begin{array}{ccc}
+4 & -1 & 0\\
+-1 & 4 & -1\\
+0 & -1 & 4
+\end{array}\right] \]
+
+\end_inset 
+
+
+\layout Standard
+
+donde 
+\begin_inset Formula \( I \)
+\end_inset 
+
+ es la matriz identidad de dimensión N - 1.
+ Si se aplica el método de Gauss-Seidel a este sistema de ecuaciones el
+ radio espectral de la matriz de iteración resulta 
+\begin_inset Formula \( \rho _{\left( T_{GS}\right) }=\cos \left( \frac{\pi }{N}\right)  \)
+\end_inset 
+
+.
+ Observar que si bien el método converge para todo N > 0, la convergencia
+ es muy lenta para valores grandes de N pues 
+\begin_inset Formula \( \rho _{\left( T_{GS}\right) } \)
+\end_inset 
+
+ tiende a 1.
+ En cambio, el método SOR optimizado presenta un 
+\begin_inset Formula \( \rho _{\left( T_{\omega }\right) _{optimo}}=\omega _{optimo}-1 \)
+\end_inset 
+
+ donde el factor de relajación óptimo es:
+\layout Standard
+
+
+\begin_inset Formula \[
+\omega _{optimo}=\frac{2}{1+\sqrt{\rho _{\left( T_{GS}\right) }}}=\frac{2}{1+\sin \left( \frac{\pi }{N}\right) }\]
+
+\end_inset 
+
+Dado que las propiedades de convergencia no dependen del valor de arranque
+ ni del valor sobre los contornos, en la primera parte de este trabajo se
+ asume, por simplicidad, que en los contornos 
+\begin_inset Formula \( \phi =1 \)
+\end_inset 
+
+ y se toma 
+\begin_inset Formula \( f_{i}=0 \)
+\end_inset 
+
+ como valor de arranque.
+ Además se indica utilizar el siguiente criterio de convergencia:
+\begin_inset Formula \[
+R\leq R_{TOL}\, donde\, R=\frac{\left\Vert f^{k+1}-f^{k}\right\Vert _{2}}{\left\Vert f^{k+1}\right\Vert _{2}}\]
+
+\end_inset 
+
+\begin_inset LatexCommand \label{sec:s}
+
+\end_inset 
+
+Para estimar el radio espectral de la matriz de iteración, 
+\begin_inset Formula \( \rho _{\left( T_{\omega }\right) } \)
+\end_inset 
+
+, se usará la expresión:
+\begin_inset Formula \[
+S=\frac{\left\Vert f^{k+1}-f^{k}\right\Vert _{2}}{\left\Vert f^{k}-f^{k-1}\right\Vert _{2}}\]
+
+\end_inset 
+
+
+\layout Section
+
+Construcción del programa principal.
+\layout Standard
+
+Para comenzar se describirá brevemente el proceso de construcción del programa
+ principal que resuelve este particular problema por el método de SOR (o
+ Gauss-Seidel si 
+\begin_inset Formula \( \omega =1 \)
+\end_inset 
+
+).
+\layout Standard
+
+Primero se identificaron los tipos de nodos presentes, dividiéndolos en
+ tres grandes grupos:
+\layout Description
+
+Nodos\SpecialChar ~
+de\SpecialChar ~
+los\SpecialChar ~
+vértices Tienen dos condiciones de borde.
+\layout Description
+
+Nodos\SpecialChar ~
+de\SpecialChar ~
+los\SpecialChar ~
+bordes Tienen una condición de borde.
+\layout Description
+
+Nodos\SpecialChar ~
+centrales No tienen condiciones de borde.
+\layout Standard
+
+A su vez, cada grupo (exceptuando los nodos centrales) se divide en cuatro
+ subgrupos, según la ubicación de los bordes, tomando como nomenclatura
+ a los puntos cardinales como se ve en la figura
+\begin_float fig 
+\layout Caption
+
+
+\begin_inset LatexCommand \label{fig:regiones}
+
+\end_inset 
+
+Regiones según tipo de nodo.
+\layout Standard
+\align center 
+
+\begin_inset Figure size 216 216
+file regiones.eps
+subcaption Regiones
+flags 11
+
+\end_inset 
+
+
+\end_float 
+\begin_inset LatexCommand \vref{fig:regiones}
+
+\end_inset 
+
+.
+ De esta forma, podeNordestemos distinguir N nodos en los vértices (en orden
+ ascendente según el número de nodo):
+\layout Itemize
+
+Sudoeste (SO).
+\layout Itemize
+
+Noroeste (NO).
+\layout Itemize
+
+Sudeste (SE).
+\layout Itemize
+
+Nordeste (NE).
+\layout Standard
+
+De la misma manera se distinguen cuatro subgrupos de los nodos de los bordes
+ (con N - 3 nodos cada uno):
+\layout Itemize
+
+Oeste (O).
+\layout Itemize
+
+Norte (N).
+\layout Itemize
+
+Sur (S).
+\layout Itemize
+
+Este (E).
+\layout Standard
+
+Podemos observar entonces que se tiene 9 tipos distintos de nodos, contenidos
+ en 3 grandes grupos.
+\layout Standard
+
+El problema siguiente es la identificación de cada nodo.
+ Probando con distintos N podemos hallar las siguientes condiciones para
+ que un nodo sea de un tipo particular, a saber:
+\layout Description
+
+SO Si es el primer nodo.
+\layout Description
+
+NO Si es el nodo número N - 1.
+\layout Description
+
+SE Si es el nodo número 
+\begin_inset Formula \( \left( N-1\right) \cdot \left( N-2\right) +1=N^{2}-3\cdot N+3 \)
+\end_inset 
+
+.
+\layout Description
+
+NE Si es el nodo número 
+\begin_inset Formula \( \left( N-1\right) ^{2}=N^{2}-2\cdot N+1 \)
+\end_inset 
+
+.
+\layout Description
+
+O Si el número de nodo pertenece al intervalo 
+\begin_inset Formula \( \left[ 2;N-1\right]  \)
+\end_inset 
+
+.
+\layout Description
+
+N Si el número de nodo es múltiplo de N - 1.
+\layout Description
+
+S Si el número de nodo menos 1 es múltiplo de N - 1.
+\layout Description
+
+E Si el número de nodo pertenece al intervalo 
+\begin_inset Formula \( \left[ N^{2}-3\cdot N+4;N^{2}-2\cdot N\right]  \)
+\end_inset 
+
+.
+\layout Description
+
+C El resto de los nodos son centrales.
+\layout Standard
+
+Finalmente el método SOR para este caso se reduce a:
+\begin_inset Formula \[
+\phi _{i}^{k+1}=\left( 1-\omega \right) \cdot \phi _{i}^{k}+\frac{\omega }{4}\cdot \left( b_{i}+\phi _{i-N+1}^{k+1}+\phi _{i-1}^{k+1}+\phi _{i+1}^{k}+\phi _{i+N-1}^{k}\right) \]
+
+\end_inset 
+
+
+\layout Standard
+
+Siendo necesario sumar sólo algunos términos de 
+\begin_inset Formula \( \phi  \)
+\end_inset 
+
+ según el tipo de nodo.
+\layout Section
+
+Puntos a), b) y c).
+\layout Standard
+
+En los primeros tres puntos del trabajo se propone hallar la solución para
+ N = 4, 8, 16 y 32, primero con 
+\begin_inset Formula \( R_{TOL}=0.01 \)
+\end_inset 
+
+ y 
+\begin_inset Formula \( \omega =1.0 \)
+\end_inset 
+
+ y luego con incrementos de 
+\begin_inset Formula \( \Delta \omega =0.05 \)
+\end_inset 
+
+.
+\layout Standard
+
+A continuación se presentan los resultados de las corridas para 
+\begin_inset Formula \( \omega =1.0 \)
+\end_inset 
+
+, en orden de nodo ascendente de izquierda a derecha y de arriba a abajo.
+\layout Subsection
+
+
+\begin_inset LatexCommand \label{sec:resultadosN}
+
+\end_inset 
+
+Resultados para distintos N.
+\layout Subsubsection
+
+N = 4.
+\layout LyX-Code
+
+Iteraciones: 8
+\layout LyX-Code
+
+Radio espectral experimental: 0.50
+\layout LyX-Code
+
+0.99  0.99  1.00  0.99  0.99  1.00  1.00  1.00 
+\layout Subsubsection
+
+N = 8.
+\layout LyX-Code
+
+Iteraciones: 19
+\layout LyX-Code
+
+Radio espectral experimental: 0.86
+\layout LyX-Code
+
+0.98  0.97  0.96  0.96  0.97  0.98  0.99  0.97  0.94 
+\layout LyX-Code
+
+0.93  0.93  0.94  0.96  0.98  0.96  0.93  0.92  0.92 
+\layout LyX-Code
+
+0.93  0.95  0.97  0.96  0.93  0.92  0.92  0.93  0.95 
+\layout LyX-Code
+
+0.97  0.97  0.94  0.93  0.93  0.94  0.96  0.98  0.98 
+\layout LyX-Code
+
+0.96  0.95  0.95  0.96  0.97  0.98  0.99  0.98  0.97 
+\layout LyX-Code
+
+0.97  0.98  0.98 
+\layout Subsubsection
+
+N = 16.
+\layout LyX-Code
+
+Iteraciones: 37
+\layout LyX-Code
+
+Radio espectral experimental: 0.96
+\layout LyX-Code
+
+0.98  0.97  0.95  0.94  0.93  0.92  0.92  0.92  0.92 
+\layout LyX-Code
+
+0.92  0.93  0.94  0.96  0.97  0.99  0.97  0.93  0.91 
+\layout LyX-Code
+
+0.88  0.86  0.85  0.84  0.84  0.84  0.85  0.87  0.89 
+\layout LyX-Code
+
+0.92  0.94  0.97  0.95  0.91  0.86  0.83  0.80  0.78 
+\layout LyX-Code
+
+0.77  0.77  0.78  0.79  0.81  0.84  0.88  0.92  0.96 
+\layout LyX-Code
+
+0.94  0.88  0.83  0.79  0.75  0.73  0.71  0.71  0.72 
+\layout LyX-Code
+
+0.74  0.77  0.80  0.85  0.90  0.95  0.93  0.86  0.80 
+\layout LyX-Code
+
+0.75  0.71  0.68  0.67  0.66  0.67  0.70  0.73  0.77 
+\layout LyX-Code
+
+0.82  0.88  0.94  0.92  0.85  0.78  0.73  0.68  0.65 
+\layout LyX-Code
+
+0.63  0.63  0.64  0.67  0.70  0.75  0.81  0.87  0.93 
+\layout LyX-Code
+
+0.92  0.84  0.77  0.71  0.67  0.63  0.62  0.61  0.62 
+\layout LyX-Code
+
+0.65  0.69  0.74  0.80  0.86  0.93  0.92  0.84  0.77 
+\layout LyX-Code
+
+0.71  0.66  0.63  0.61  0.61  0.62  0.65  0.69  0.74 
+\layout LyX-Code
+
+0.80  0.86  0.93  0.92  0.84  0.78  0.72  0.67  0.64 
+\layout LyX-Code
+
+0.62  0.62  0.63  0.66  0.70  0.75  0.80  0.87  0.93 
+\layout LyX-Code
+
+0.92  0.85  0.79  0.74  0.70  0.67  0.65  0.65  0.66 
+\layout LyX-Code
+
+0.68  0.72  0.76  0.82  0.88  0.94  0.93  0.87  0.81 
+\layout LyX-Code
+
+0.77  0.73  0.70  0.69  0.69  0.70  0.72  0.75  0.79 
+\layout LyX-Code
+
+0.84  0.89  0.95  0.94  0.89  0.84  0.80  0.77  0.75 
+\layout LyX-Code
+
+0.74  0.74  0.75  0.76  0.79  0.82  0.86  0.91  0.95 
+\layout LyX-Code
+
+0.96  0.92  0.88  0.85  0.82  0.81  0.80  0.80  0.80 
+\layout LyX-Code
+
+0.82  0.84  0.86  0.90  0.93  0.96  0.97  0.94  0.92 
+\layout LyX-Code
+
+0.90  0.88  0.87  0.86  0.86  0.87  0.88  0.89  0.91 
+\layout LyX-Code
+
+0.93  0.95  0.98  0.99  0.97  0.96  0.95  0.94  0.93 
+\layout LyX-Code
+
+0.93  0.93  0.93  0.94  0.95  0.95  0.96  0.98 
+\layout Subsubsection
+
+N = 32.
+\layout LyX-Code
+
+Iteraciones: 44
+\layout LyX-Code
+
+Radio espectral experimental: 0.98
+\layout LyX-Code
+
+0.98  0.97  0.96  0.94  0.93  0.92  0.91  0.91  0.90 
+\layout LyX-Code
+
+0.90  0.89  0.89  0.89  0.88  0.88  0.88  0.88  0.88 
+\layout LyX-Code
+
+0.88  0.89  0.89  0.89  0.90  0.90  0.91  0.92  0.93 
+\layout LyX-Code
+
+0.94  0.96  0.97  0.99  0.97  0.94  0.91  0.89  0.87 
+\layout LyX-Code
+
+0.85  0.83  0.82  0.80  0.80  0.79  0.78  0.78  0.77 
+\layout LyX-Code
+
+0.77  0.77  0.77  0.77  0.77  0.78  0.78  0.79  0.80 
+\layout LyX-Code
+
+0.81  0.83  0.85  0.87  0.89  0.92  0.94  0.97  0.96 
+\layout LyX-Code
+
+0.91  0.87  0.84  0.81  0.78  0.75  0.73  0.71  0.70 
+\layout LyX-Code
+
+0.69  0.68  0.67  0.67  0.67  0.66  0.66  0.66  0.67 
+\layout LyX-Code
+
+0.67  0.68  0.69  0.71  0.73  0.75  0.77  0.81  0.84 
+\layout LyX-Code
+
+0.88  0.92  0.96  0.94  0.89  0.84  0.79  0.75  0.71 
+\layout LyX-Code
+
+0.68  0.65  0.63  0.61  0.60  0.59  0.58  0.57  0.57 
+\layout LyX-Code
+
+0.57  0.57  0.57  0.57  0.58  0.59  0.60  0.62  0.65 
+\layout LyX-Code
+
+0.67  0.71  0.75  0.79  0.84  0.89  0.95  0.93  0.87 
+\layout LyX-Code
+
+0.81  0.75  0.70  0.65  0.62  0.58  0.56  0.53  0.52 
+\layout LyX-Code
+
+0.50  0.49  0.48  0.48  0.48  0.48  0.48  0.48  0.49 
+\layout LyX-Code
+
+0.50  0.52  0.54  0.57  0.61  0.65  0.70  0.75  0.81 
+\layout LyX-Code
+
+0.87  0.94  0.92  0.85  0.78  0.71  0.65  0.60  0.56 
+\layout LyX-Code
+
+0.52  0.49  0.46  0.44  0.43  0.42  0.41  0.40  0.40 
+\layout LyX-Code
+
+0.40  0.40  0.40  0.41  0.43  0.45  0.47  0.51  0.55 
+\layout LyX-Code
+
+0.60  0.65  0.71  0.78  0.85  0.93  0.91  0.83  0.75 
+\layout LyX-Code
+
+0.68  0.62  0.56  0.51  0.47  0.43  0.40  0.38  0.36 
+\layout LyX-Code
+
+0.35  0.34  0.33  0.33  0.33  0.33  0.34  0.35  0.36 
+\layout LyX-Code
+
+0.39  0.41  0.45  0.50  0.55  0.61  0.68  0.76  0.84 
+\layout LyX-Code
+
+0.92  0.91  0.82  0.73  0.65  0.58  0.52  0.47  0.42 
+\layout LyX-Code
+
+0.38  0.35  0.33  0.31  0.29  0.28  0.27  0.27  0.27 
+\layout LyX-Code
+
+0.27  0.28  0.29  0.31  0.33  0.36  0.40  0.45  0.51 
+\layout LyX-Code
+
+0.58  0.65  0.74  0.82  0.91  0.90  0.80  0.71  0.63 
+\layout LyX-Code
+
+0.56  0.49  0.43  0.38  0.34  0.31  0.28  0.26  0.24 
+\layout LyX-Code
+
+0.23  0.22  0.22  0.22  0.22  0.23  0.24  0.26  0.29 
+\layout LyX-Code
+
+0.32  0.36  0.42  0.48  0.55  0.63  0.72  0.81  0.90 
+\layout LyX-Code
+
+0.90  0.80  0.70  0.61  0.53  0.46  0.40  0.35  0.31 
+\layout LyX-Code
+
+0.27  0.24  0.22  0.20  0.19  0.18  0.18  0.18  0.18 
+\layout LyX-Code
+
+0.19  0.20  0.22  0.25  0.28  0.33  0.39  0.45  0.53 
+\layout LyX-Code
+
+0.61  0.70  0.80  0.90  0.89  0.79  0.69  0.60  0.52 
+\layout LyX-Code
+
+0.44  0.38  0.33  0.28  0.24  0.21  0.19  0.17  0.16 
+\layout LyX-Code
+
+0.15  0.14  0.14  0.15  0.15  0.17  0.19  0.22  0.26 
+\layout LyX-Code
+
+0.30  0.36  0.43  0.51  0.60  0.69  0.79  0.90  0.89 
+\layout LyX-Code
+
+0.78  0.68  0.59  0.50  0.43  0.36  0.31  0.26  0.22 
+\layout LyX-Code
+
+0.19  0.17  0.15  0.13  0.12  0.12  0.12  0.12  0.13 
+\layout LyX-Code
+
+0.14  0.16  0.19  0.23  0.28  0.34  0.41  0.49  0.58 
+\layout LyX-Code
+
+0.68  0.78  0.89  0.89  0.78  0.67  0.58  0.49  0.42 
+\layout LyX-Code
+
+0.35  0.29  0.24  0.20  0.17  0.15  0.13  0.11  0.10 
+\layout LyX-Code
+
+0.10  0.10  0.10  0.11  0.12  0.14  0.17  0.21  0.26 
+\layout LyX-Code
+
+0.33  0.40  0.48  0.57  0.67  0.78  0.89  0.88  0.77 
+\layout LyX-Code
+
+0.67  0.57  0.48  0.41  0.34  0.28  0.23  0.19  0.16 
+\layout LyX-Code
+
+0.13  0.11  0.10  0.09  0.08  0.08  0.08  0.09  0.11 
+\layout LyX-Code
+
+0.13  0.16  0.20  0.25  0.31  0.39  0.47  0.57  0.67 
+\layout LyX-Code
+
+0.78  0.89  0.88  0.77  0.67  0.57  0.48  0.40  0.33 
+\layout LyX-Code
+
+0.27  0.22  0.18  0.15  0.12  0.10  0.09  0.08  0.07 
+\layout LyX-Code
+
+0.07  0.07  0.08  0.10  0.12  0.15  0.19  0.24  0.31 
+\layout LyX-Code
+
+0.38  0.47  0.56  0.66  0.77  0.89  0.88  0.77  0.66 
+\layout LyX-Code
+
+0.57  0.48  0.40  0.33  0.27  0.22  0.18  0.14  0.12 
+\layout LyX-Code
+
+0.10  0.08  0.07  0.07  0.06  0.07  0.08  0.09  0.11 
+\layout LyX-Code
+
+0.15  0.19  0.24  0.30  0.38  0.46  0.56  0.66  0.77 
+\layout LyX-Code
+
+0.89  0.88  0.77  0.66  0.57  0.48  0.40  0.33  0.27 
+\layout LyX-Code
+
+0.22  0.18  0.14  0.12  0.10  0.08  0.07  0.06  0.06 
+\layout LyX-Code
+
+0.07  0.08  0.09  0.11  0.14  0.19  0.24  0.30  0.38 
+\layout LyX-Code
+
+0.46  0.56  0.66  0.77  0.89  0.88  0.77  0.66  0.57 
+\layout LyX-Code
+
+0.48  0.40  0.33  0.27  0.22  0.18  0.15  0.12  0.10 
+\layout LyX-Code
+
+0.08  0.07  0.07  0.07  0.07  0.08  0.09  0.12  0.15 
+\layout LyX-Code
+
+0.19  0.24  0.30  0.38  0.46  0.56  0.66  0.77  0.89 
+\layout LyX-Code
+
+0.88  0.77  0.67  0.57  0.48  0.40  0.34  0.28  0.23 
+\layout LyX-Code
+
+0.19  0.15  0.13  0.11  0.09  0.08  0.08  0.08  0.08 
+\layout LyX-Code
+
+0.09  0.10  0.12  0.16  0.20  0.25  0.31  0.39  0.47 
+\layout LyX-Code
+
+0.56  0.67  0.78  0.89  0.89  0.78  0.67  0.58  0.49 
+\layout LyX-Code
+
+0.41  0.35  0.29  0.24  0.20  0.17  0.14  0.12  0.11 
+\layout LyX-Code
+
+0.10  0.09  0.09  0.09  0.10  0.12  0.14  0.17  0.21 
+\layout LyX-Code
+
+0.26  0.32  0.40  0.48  0.57  0.67  0.78  0.89  0.89 
+\layout LyX-Code
+
+0.78  0.68  0.59  0.50  0.43  0.36  0.31  0.26  0.22 
+\layout LyX-Code
+
+0.19  0.16  0.14  0.13  0.12  0.11  0.11  0.12  0.12 
+\layout LyX-Code
+
+0.14  0.16  0.19  0.23  0.28  0.34  0.41  0.49  0.58 
+\layout LyX-Code
+
+0.68  0.79  0.89  0.89  0.79  0.69  0.60  0.52  0.45 
+\layout LyX-Code
+
+0.39  0.33  0.29  0.25  0.22  0.19  0.17  0.16  0.15 
+\layout LyX-Code
+
+0.15  0.14  0.15  0.16  0.17  0.19  0.22  0.26  0.31 
+\layout LyX-Code
+
+0.37  0.43  0.51  0.60  0.69  0.79  0.90  0.90  0.80 
+\layout LyX-Code
+
+0.71  0.62  0.54  0.47  0.41  0.36  0.32  0.28  0.26 
+\layout LyX-Code
+
+0.23  0.21  0.20  0.19  0.19  0.19  0.19  0.20  0.21 
+\layout LyX-Code
+
+0.23  0.26  0.30  0.34  0.40  0.46  0.54  0.62  0.71 
+\layout LyX-Code
+
+0.81  0.90  0.90  0.81  0.73  0.65  0.57  0.51  0.45 
+\layout LyX-Code
+
+0.40  0.36  0.33  0.30  0.28  0.26  0.25  0.24  0.24 
+\layout LyX-Code
+
+0.24  0.24  0.25  0.26  0.28  0.31  0.34  0.39  0.44 
+\layout LyX-Code
+
+0.50  0.57  0.65  0.73  0.82  0.91  0.91  0.83  0.75 
+\layout LyX-Code
+
+0.67  0.61  0.55  0.50  0.45  0.42  0.39  0.36  0.34 
+\layout LyX-Code
+
+0.33  0.31  0.31  0.30  0.30  0.30  0.31  0.32  0.34 
+\layout LyX-Code
+
+0.37  0.40  0.44  0.49  0.54  0.61  0.68  0.75  0.83 
+\layout LyX-Code
+
+0.92  0.92  0.85  0.77  0.71  0.65  0.60  0.55  0.51 
+\layout LyX-Code
+
+0.48  0.45  0.43  0.41  0.40  0.39  0.38  0.38  0.38 
+\layout LyX-Code
+
+0.38  0.39  0.40  0.41  0.43  0.46  0.50  0.54  0.59 
+\layout LyX-Code
+
+0.65  0.71  0.78  0.85  0.93  0.93  0.87  0.81  0.75 
+\layout LyX-Code
+
+0.70  0.65  0.61  0.58  0.55  0.53  0.51  0.49  0.48 
+\layout LyX-Code
+
+0.47  0.47  0.46  0.46  0.46  0.47  0.48  0.49  0.51 
+\layout LyX-Code
+
+0.54  0.57  0.61  0.65  0.70  0.75  0.81  0.87  0.94 
+\layout LyX-Code
+
+0.94  0.89  0.84  0.79  0.75  0.71  0.68  0.65  0.63 
+\layout LyX-Code
+
+0.61  0.60  0.58  0.57  0.57  0.56  0.56  0.56  0.56 
+\layout LyX-Code
+
+0.56  0.57  0.58  0.60  0.62  0.65  0.68  0.71  0.75 
+\layout LyX-Code
+
+0.80  0.85  0.90  0.95  0.96  0.92  0.88  0.84  0.81 
+\layout LyX-Code
+
+0.78  0.76  0.74  0.72  0.70  0.69  0.68  0.67  0.67 
+\layout LyX-Code
+
+0.66  0.66  0.66  0.66  0.67  0.67  0.68  0.69  0.71 
+\layout LyX-Code
+
+0.73  0.75  0.78  0.81  0.85  0.88  0.92  0.96  0.97 
+\layout LyX-Code
+
+0.94  0.92  0.89  0.87  0.85  0.84  0.82  0.81  0.80 
+\layout LyX-Code
+
+0.79  0.78  0.78  0.78  0.77  0.77  0.77  0.77  0.78 
+\layout LyX-Code
+
+0.78  0.79  0.79  0.81  0.82  0.83  0.85  0.87  0.90 
+\layout LyX-Code
+
+0.92  0.95  0.97  0.99  0.97  0.96  0.95  0.94  0.93 
+\layout LyX-Code
+
+0.92  0.91  0.90  0.90  0.90  0.89  0.89  0.89  0.89 
+\layout LyX-Code
+
+0.89  0.89  0.89  0.89  0.89  0.89  0.90  0.90  0.91 
+\layout LyX-Code
+
+0.92  0.93  0.94  0.95  0.96  0.97 
+\layout Subsection
+
+Gráficos.
+\layout Standard
+
+
+\begin_inset LatexCommand \label{sec:graficos}
+
+\end_inset 
+
+En el punto c) se pide realizar gráficos con la evolución de las iteraciones
+ en función de 
+\begin_inset Formula \( \omega  \)
+\end_inset 
+
+ con 
+\begin_inset Formula \( \Delta \omega =0.05 \)
+\end_inset 
+
+ o menor.
+ Para realizar estos gráficos se tomo un 
+\begin_inset Formula \( \Delta \omega =0.01 \)
+\end_inset 
+
+ y se grafica también el radio espectral 
+\begin_inset Formula \( \rho _{\left( T_{\omega }\right) } \)
+\end_inset 
+
+ estimado por S (ver sección 
+\begin_inset LatexCommand \vref{sec:s}
+
+\end_inset 
+
+) para la última iteración.
+\layout Standard
+\added_space_top 0.3cm \added_space_bottom 0.3cm \align center 
+
+\begin_inset Figure size 360 252
+file d4.eps
+subcaption d4
+flags 11
+
+\end_inset 
+
+
+\layout Standard
+\added_space_top 0.3cm \added_space_bottom 0.3cm \align center 
+
+\begin_inset Figure size 360 252
+file d8.eps
+subcaption d8
+flags 11
+
+\end_inset 
+
+
+\layout Standard
+\added_space_top 0.3cm \added_space_bottom 0.3cm \align center 
+
+\begin_inset Figure size 360 252
+file d16.eps
+subcaption d16
+flags 11
+
+\end_inset 
+
+
+\layout Standard
+\added_space_top 0.3cm \added_space_bottom 0.3cm \align center 
+
+\begin_inset Figure size 360 252
+file d32.eps
+subcaption d32
+flags 11
+
+\end_inset 
+
+
+\layout Section
+
+Puntos e), f) y g).
+\layout Standard
+
+En estos tres puntos se pide graficar la evolución de R, S (radio espectral
+ calculado experimentalmente) y 
+\begin_inset Formula \( \phi _{113} \)
+\end_inset 
+
+ (nodo central) a través del proceso iterativo.
+ En el gráfico 
+\begin_inset LatexCommand \vref{fig:eg}
+
+\end_inset 
+
+ se presentan los resultados para N = 8 y 
+\begin_inset Formula \( \omega =1.35 \)
+\end_inset 
+
+ (inferior al 
+\begin_inset Formula \( \omega _{optimo} \)
+\end_inset 
+
+)
+\begin_float fig 
+\layout Caption
+
+
+\begin_inset LatexCommand \label{fig:eg}
+
+\end_inset 
+
+Evolución de R, S y 
+\begin_inset Formula \( \phi _{113} \)
+\end_inset 
+
+ para N = 8 y 
+\begin_inset Formula \( \omega =1.85 \)
+\end_inset 
+
+.
+\layout Standard
+
+
+\begin_inset Figure size 360 252
+file eg.eps
+subcaption eg
+flags 11
+
+\end_inset 
+
+
+\end_float 
+, y en el gráfico 
+\begin_inset LatexCommand \vref{fig:fg}
+
+\end_inset 
+
+, para N = 8 y 
+\begin_inset Formula \( \omega =1.85 \)
+\end_inset 
+
+ (superior al 
+\begin_inset Formula \( \omega _{optimo} \)
+\end_inset 
+
+)
+\begin_float fig 
+\layout Caption
+
+
+\begin_inset LatexCommand \label{fig:fg}
+
+\end_inset 
+
+Evolución de R, S y 
+\begin_inset Formula \( \phi _{113} \)
+\end_inset 
+
+ para N = 8 y 
+\begin_inset Formula \( \omega =1.85 \)
+\end_inset 
+
+.
+\layout Standard
+
+
+\begin_inset Figure size 360 252
+file fg.eps
+subcaption fg
+flags 11
+
+\end_inset 
+
+
+\end_float 
+.
+\layout Section
+
+Conclusiones.
+\layout Standard
+
+En la sección 
+\begin_inset LatexCommand \vref{sec:resultadosN}
+
+\end_inset 
+
+ podemos ver que para tener una noción sobre el orden del error relativo
+ de truncamiento no siempre podemos observar el 
+\begin_inset Formula \( R_{TOL}=0.01 \)
+\end_inset 
+
+ y tomarlo como cota.
+ Esta aproximación es válida sólo para N = 4 ya que se puede aplicar sólo
+ si la norma de la matriz de Gauss-Seidel 
+\begin_inset Formula \( \left\Vert T_{GS}\right\Vert \leq \frac{1}{2} \)
+\end_inset 
+
+.
+ Considerando que en este trabajo se utiliza la norma 2 y la matriz es simétrica
+\begin_inset Formula \( \left( T_{GS}^{t}=T_{GS}\right)  \)
+\end_inset 
+
+ observamos que:
+\begin_inset Formula \[
+\left\Vert T_{GS}\right\Vert _{2}=\sqrt{\rho _{\left( T^{t}_{GS}\cdot T_{GS}\right) }}=\sqrt{\rho _{\left( T^{2}_{GS}\right) }}=\sqrt{\rho ^{2}_{\left( T_{GS}\right) }}=\left| \rho _{\left( T_{GS}\right) }\right| \]
+
+\end_inset 
+
+
+\layout Standard
+
+Por lo que la condición para que la aproximación sea válida se transforma
+ en: 
+\begin_inset Formula \( \left| \rho _{\left( T_{GS}\right) }\right| \leq \frac{1}{2} \)
+\end_inset 
+
+ y para el único N que se cumple es para N = 4.
+\layout Standard
+
+En los gráficos de la sección 
+\begin_inset LatexCommand \vref{sec:graficos}
+
+\end_inset 
+
+ podemos ver como el radio espectral de la matriz para SOR va disminuyendo
+ a medida que 
+\begin_inset Formula \( \omega  \)
+\end_inset 
+
+ se acerca a 
+\begin_inset Formula \( \omega _{optimo} \)
+\end_inset 
+
+.
+ Una vez alcanzado 
+\begin_inset Formula \( \omega _{optimo} \)
+\end_inset 
+
+, el método para calcular 
+\begin_inset Formula \( \rho _{\left( T_{\omega }\right) } \)
+\end_inset 
+
+ (ver sección 
+\begin_inset LatexCommand \vref{sec:s}
+
+\end_inset 
+
+) deja de ser válido y es por esto que pierde 
+\emph on 
+estabilidad
+\emph default 
+ y los resultados no pueden ser tenidos en cuenta.
+\layout Standard
+
+Finalmente en la gráfico 
+\begin_inset LatexCommand \vref{fig:eg}
+
+\end_inset 
+
+ podemos ver como evoluciona el orden del error de truncamiento a través
+ de las iteraciones de forma no sólo monótona sino que prácticamente lineal.
+ El radio espectral de la matriz calculado experimentalmente también evoluciona
+ de forma monótona, pero creciendo de forma muy acelerada en las primeras
+ 10 iteraciones y estabilizándose en un valor cercano a 0,9, lo que indicaría
+ que en cada iteración esta bajando el error en un 10% aproximadamente (el
+ método converge de forma bastante lenta).
+ Por último vemos también que el valor del nodo central crece monótonamente
+ tendiendo a 1, pero llegando siempre a un valor inferior.
+\layout Standard
+
+Este comportamiento monótono de las variables R, S y 
+\begin_inset Formula \( \phi _{113} \)
+\end_inset 
+
+ se debe a que 
+\begin_inset Formula \( \omega \leq \omega _{optimo} \)
+\end_inset 
+
+.
+\layout Standard
+
+En el gráfico 
+\begin_inset LatexCommand \vref{fig:fg}
+
+\end_inset 
+
+, donde 
+\begin_inset Formula \( \omega >\omega _{optimo} \)
+\end_inset 
+
+ (caso inverso al anterior), se observa un comportamiento mucho más caótico.
+ El comportamiento de S ya fue explicado.
+ El nodo central 
+\begin_inset Formula \( \phi _{113} \)
+\end_inset 
+
+ sigue tendiendo a 1 pero superando este valor en varias oportunidades y
+ de forma para nada monótona.
+ La variable que menos cambios presenta es el orden del error de truncamiento
+ que, aunque su comportamiento es mucho menos caótico, tampoco evoluciona
+ de forma monótona como en el caso de que 
+\begin_inset Formula \( \omega \leq \omega _{optimo} \)
+\end_inset 
+
+.
+\layout Chapter
+
+Segunda Parte.
+\layout Section
+
+Introducción.
+\layout Standard
+
+En la figura
+\begin_float fig 
+\layout Caption
+
+
+\begin_inset LatexCommand \label{fig:mother}
+
+\end_inset 
+
+Esquema de placa madre.
+\layout Standard
+\align center 
+
+\begin_inset Figure size 216 216
+file mother.eps
+subcaption mother
+flags 11
+
+\end_inset 
+
+
+\end_float 
+\begin_inset LatexCommand \vref{fig:mother}
+
+\end_inset 
+
+ se representa una región de la plaqueta madre de una computadora, los cuadrados
+ indican procesadores que se encuentran operando a distintas temperaturas.
+ En el centro falta un procesador y se desea conocer la distribución de
+ temperaturas en esa zona.
+ Despreciando las perdidas de calor de la plaqueta, las temperaturas en
+ cuestión se pueden calcular resolviendo la ecuación de Laplace usando 
+\begin_inset Formula \( T_{S} \)
+\end_inset 
+
+, 
+\begin_inset Formula \( T_{O} \)
+\end_inset 
+
+, 
+\begin_inset Formula \( T_{N} \)
+\end_inset 
+
+ y 
+\begin_inset Formula \( T_{E} \)
+\end_inset 
+
+ como condiciones de borde aplicadas en las líneas punteadas.
+ Tomar N = 8, 
+\begin_inset Formula \( R_{TOL}=0.001 \)
+\end_inset 
+
+ y el 
+\begin_inset Formula \( \omega _{optimo} \)
+\end_inset 
+
+.
+\layout Standard
+
+Cada grupo obtendrá los datos de temperatura en °C descomponiendo la parte
+ entera del promedio de los N° de padrón de los integrantes del grupo, NPP,
+ de la siguiente manera:
+\begin_inset Formula \[
+NPP=a\cdot 10^{4}+b\cdot 10^{3}+c\cdot 10^{2}+d\cdot 10+e\]
+
+\end_inset 
+
+
+\layout Standard
+
+En mi caso:
+\layout Itemize
+
+a = 7
+\layout Itemize
+
+b = 7
+\layout Itemize
+
+c = 8
+\layout Itemize
+
+d = 9
+\layout Itemize
+
+e = 1
+\layout Standard
+
+Las temperaturas de los bordes se calculan entonces de la siguiente forma:
+\layout Itemize
+
+
+\begin_inset Formula \( T_{1}=T_{S}=a\cdot 10+e=71^{\circ } \)
+\end_inset 
+
+
+\layout Itemize
+
+
+\begin_inset Formula \( T_{2}=T_{O}=a\cdot 10+d=79^{\circ } \)
+\end_inset 
+
+
+\layout Itemize
+
+
+\begin_inset Formula \( T_{3}=T_{N}=a\cdot 10+c=78^{\circ } \)
+\end_inset 
+
+
+\layout Itemize
+
+
+\begin_inset Formula \( T_{4}=T_{E}=a\cdot 10+b=77^{\circ } \)
+\end_inset 
+
+
+\layout Standard
+
+Cada grupo deberá reportar el valor de temperatura en el centro.
+ En forma opcional se propone graficar las isolíneas (o isobandas) de temperatur
+a calculadas.
+\layout Section
+
+Resultado.
+\layout Standard
+
+Al correr el programa para N = 8, R = 0.001 y 
+\begin_inset Formula \( \omega =\omega _{optimo}=1.44647 \)
+\end_inset 
+
+ y las condiciones de borde expuestas anteriormente, se obtienen los siguientes
+ resultado (mostrados gráficamente con los números de nodos ubicados igual
+ que en la figura 
+\begin_inset LatexCommand \vref{fig:grilla}
+
+\end_inset 
+
+):
+\layout LyX-Code
+
+
+\latex no_latex 
+78.336  77.999  77.801  77.680  77.606  77.542  77.412
+\layout LyX-Code
+
+
+\latex no_latex 
+78.348  77.858  77.521  77.312  77.201  77.150  77.105
+\layout LyX-Code
+
+
+\latex no_latex 
+78.205  77.565  77.113  76.843  76.732  76.750  76.856
+\layout LyX-Code
+
+
+\latex no_latex 
+77.928  77.089  76.521  76.211  76.131  76.259  76.569
+\layout LyX-Code
+
+
+\latex no_latex 
+77.466  76.359  75.676  75.346  75.319  75.584  76.158 
+\layout LyX-Code
+
+
+\latex no_latex 
+76.646  75.239  74.493  74.183  74.212  74.599  75.477
+\layout LyX-Code
+
+
+\latex no_latex 
+74.954  73.507  72.908  72.700  72.754  73.124  74.149
+\layout Standard
+
+Donde se ve que el nodo central es 
+\begin_inset Formula \( \phi _{25}=76.211^{\circ } \)
+\end_inset 
+
+.
+ Considerando que el radio espectral de la matriz en la última iteración
+ es del órden de 
+\begin_inset Formula \( \frac{1}{2}\left( \approx 0.58\right)  \)
+\end_inset 
+
+ podemos aproximar el órden de la cota del error relativo con 
+\begin_inset Formula \( R_{TOL}=0.001 \)
+\end_inset 
+
+.
+ El error absoluto es entonces:
+\begin_inset Formula \[
+\Delta E=R_{TOL}\cdot \phi _{25}\cong 0.001\cdot 76\cong 0.076\cong 0.1\]
+
+\end_inset 
+
+
+\layout Standard
+
+De esta forma, la temperatura del nodo central sería 
+\begin_inset Formula \( \phi _{25}=76.2^{\circ }\pm 0.1^{\circ } \)
+\end_inset 
+
+.
+\layout Standard
+
+Puede verse también gráficamente
+\begin_float fig 
+\layout Caption
+
+
+\begin_inset LatexCommand \label{fig:isolineas}
+
+\end_inset 
+
+Isolíneas de temperatura.
+\layout Standard
+
+
+\begin_inset Figure size 499 355
+file isolineas.ps
+subcaption isolineas
+angle -90
+flags 11
+
+\end_inset 
+
+
+\end_float 
+ la distribución de las temperaturas en la figura 
+\begin_inset LatexCommand \vref{fig:isolineas}
+
+\end_inset 
+
+.
+\layout Chapter
+
+Código Fuente.
+\layout Section
+
+Programa Principal (
+\family typewriter 
+77891.cpp
+\family default 
+).
+\layout LyX-Code
+
+// vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+//
+\layout LyX-Code
+
+// Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+// Este programa resuelve un sistema de ecuaciones lineales ralo
+\layout LyX-Code
+
+// resultante de la discretización mediante diferencias finitas
+\layout LyX-Code
+
+// de ecuaciones diferenciales.
+\layout LyX-Code
+
+// Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+//
+\layout LyX-Code
+
+// Este programa es Software Libre; usted puede redistribuirlo
+\layout LyX-Code
+
+// y/o modificarlo bajo los términos de la "GNU General Public
+\layout LyX-Code
+
+// License" como lo publica la "FSF Free Software Foundation",
+\layout LyX-Code
+
+// o (a su elección) de cualquier versión posterior.
+\layout LyX-Code
+
+//
+\layout LyX-Code
+
+// Este programa es distribuido con la esperanza de que le será
+\layout LyX-Code
+
+// útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+\layout LyX-Code
+
+// implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+\layout LyX-Code
+
+// particular.
+ Vea la "GNU General Public License" para más
+\layout LyX-Code
+
+// detalles.
+\layout LyX-Code
+
+//
+\layout LyX-Code
+
+// Usted debe haber recibido una copia de la "GNU General Public
+\layout LyX-Code
+
+// License" junto con este programa, si no, escriba a la "FSF
+\layout LyX-Code
+
+// Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+\layout LyX-Code
+
+// Boston, MA 02111-1307, USA.
+\layout LyX-Code
+
+//
+\layout LyX-Code
+
+\layout LyX-Code
+
+#include <stdio.h>
+\layout LyX-Code
+
+#include <stdlib.h>
+\layout LyX-Code
+
+#include <math.h>
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Tipos de datos.
+\layout LyX-Code
+
+typedef unsigned int Indice;
+\layout LyX-Code
+
+typedef float Numero;
+\layout LyX-Code
+
+typedef struct {
+\layout LyX-Code
+
+  Indice N;
+\layout LyX-Code
+
+  Numero w;
+\layout LyX-Code
+
+  Numero rtol;
+\layout LyX-Code
+
+  Numero TS;
+\layout LyX-Code
+
+  Numero TO;
+\layout LyX-Code
+
+  Numero TN;
+\layout LyX-Code
+
+  Numero TE;
+\layout LyX-Code
+
+  Numero* X;
+\layout LyX-Code
+
+} Datos;
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Constantes.
+\layout LyX-Code
+
+const Numero DEFAULT_W    = 1.0,
+\layout LyX-Code
+
+             DEFAULT_RTOL = 0.01,
+\layout LyX-Code
+
+             DEFAULT_T    = 1.0;
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Calcula la iteración para un nodo.
+ Numero procesarNodo( Datos&, Indice );
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Calcula la iteración para un nodo dependiendo del tipo de nodo.
+\layout LyX-Code
+
+Numero procesarNodo( Datos&, Indice, bool, bool, bool, bool, Numero = 0
+ );
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Calcula la norma 2 de un vector.
+\layout LyX-Code
+
+Numero norma2( Numero*, Indice );
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Imprime un vector por la salida estándar.
+\layout LyX-Code
+
+void imprimirVector( Indice, Numero* );
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Imprime un vector por la salida estándar.
+\layout LyX-Code
+
+void imprimirVector( Numero*, Indice );
+\layout LyX-Code
+
+\layout LyX-Code
+
+// Resuelve el sistema de ecuaciones lineales por el método S.O.R.
+\layout LyX-Code
+
+// (o Gasuss-Seidel si w=1).
+\layout LyX-Code
+
+void resolver( Datos& );
+\layout LyX-Code
+
+\layout LyX-Code
+
+int main( int argc, char* argv[] ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Se fija que tenga los argumentos necesarios para correr.
+\layout LyX-Code
+
+  if ( argc < 2 ) {
+\layout LyX-Code
+
+    printf( "Faltan argumentos.
+ Modo de uso:
+\backslash 
+n" );
+\layout LyX-Code
+
+    printf( "
+\backslash 
+t%s N w RTOL TS TO TN TE
+\backslash 
+n", argv[0] );
+\layout LyX-Code
+
+    printf( "Desde w en adelante son opcionales.
+ Los valores por defecto son:
+\backslash 
+n" );
+\layout LyX-Code
+
+    printf( "
+\backslash 
+tw = %f
+\backslash 
+n", DEFAULT_W );
+\layout LyX-Code
+
+    printf( "
+\backslash 
+tRTOL = %f
+\backslash 
+n", DEFAULT_RTOL );
+\layout LyX-Code
+
+    printf( "
+\backslash 
+tTS = TO = TN = TE = %f
+\backslash 
+n", DEFAULT_T );
+\layout LyX-Code
+
+    return EXIT_FAILURE;
+\layout LyX-Code
+
+  }
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Se inicializan los datos.
+\layout LyX-Code
+
+  Datos D;
+\layout LyX-Code
+
+  D.N = Indice( atol( argv[1] ) );
+\layout LyX-Code
+
+  if   ( D.N < 3 ) {
+\layout LyX-Code
+
+    printf( "N Debe ser un entero mayor o igual a 3
+\backslash 
+n" );
+\layout LyX-Code
+
+    return EXIT_FAILURE;
+\layout LyX-Code
+
+  }
+\layout LyX-Code
+
+  D.w = DEFAULT_W;
+\layout LyX-Code
+
+  D.rtol = DEFAULT_RTOL;
+\layout LyX-Code
+
+  D.TS = D.TO = D.TN = D.TE = DEFAULT_T;
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Se aloca uno más de lo necesario para usar el rango [1,n]
+\layout LyX-Code
+
+  D.X = new Numero[Indice(pow(D.N-1,2))+1]; 
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si se pasaron datos como argumento, se los va agregando.
+\layout LyX-Code
+
+  switch ( argc ) {
+\layout LyX-Code
+
+    case 8: D.TE = Numero( atof( argv[7] ) );
+\layout LyX-Code
+
+    case 7: D.TN = Numero( atof( argv[6] ) );
+\layout LyX-Code
+
+    case 6: D.TO = Numero( atof( argv[5] ) );
+\layout LyX-Code
+
+    case 5: D.TS = Numero( atof( argv[4] ) );
+\layout LyX-Code
+
+    case 4: D.rtol = Numero( atof( argv[3] ) );
+\layout LyX-Code
+
+    case 3: D.w = Numero( atof( argv[2] ) );
+\layout LyX-Code
+
+  }
+\layout LyX-Code
+
+\layout LyX-Code
+
+  resolver( D );
+\layout LyX-Code
+
+  delete D.X;
+\layout LyX-Code
+
+  return EXIT_SUCCESS;
+\layout LyX-Code
+
+}
+\layout LyX-Code
+
+\layout LyX-Code
+
+Numero procesarNodo( Datos& D, Indice i ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+  Indice N = D.N;
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si es el primero, es SO.
+\layout LyX-Code
+
+  if ( i == 1 )
+\layout LyX-Code
+
+    return procesarNodo( D, i, false, false, true, true, D.TS + D.TO );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si es N - 1 es NO.
+\layout LyX-Code
+
+  if ( i == ( N - 1 ) )
+\layout LyX-Code
+
+    return procesarNodo( D, i, false, true, false, true, D.TN + D.TO );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si es N² - 3N + 3 es SE.
+\layout LyX-Code
+
+  if ( i == ( N*N - 3*N + 3 ) )
+\layout LyX-Code
+
+    return procesarNodo( D, i, true, false, true, false, D.TS + D.TE );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si es N² - 2N + 1 es NE.
+\layout LyX-Code
+
+  if ( i == ( N*N - 2*N + 1 ) )
+\layout LyX-Code
+
+    return procesarNodo( D, i, true, true, false, false, D.TN + D.TE );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si pertenece al intervalo [2;N-1] es O.
+\layout LyX-Code
+
+  if ( ( 1 < i ) && ( i < ( N - 1 ) ) )
+\layout LyX-Code
+
+    return procesarNodo( D, i, false, true, true, true, D.TO );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si pertenece al intervalo [N² - 3N + 3;N² - 2N + 1] es E.
+\layout LyX-Code
+
+  if ( ( ( N*N - 3*N + 3 ) < i ) && ( i < ( N*N - 2*N + 1 ) ) )
+\layout LyX-Code
+
+    return procesarNodo( D, i, true, true, true, false, D.TE );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si i - 1 es múltiplo de N - 1 (y no es NE, SE, NO, SO) es S.
+\layout LyX-Code
+
+  if ( ( ( i - 1 ) % ( N - 1 ) ) == 0 )
+\layout LyX-Code
+
+    return procesarNodo( D, i, true, false, true, true, D.TS );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Si i es múltiplo de N - 1 (y no es NE, SE, NO, SO) es N.
+\layout LyX-Code
+
+  if ( ( i % ( N - 1 ) ) == 0 )
+\layout LyX-Code
+
+    return procesarNodo( D, i, true, true, false, true, D.TN );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  return procesarNodo( D, i, true, true, true, true );
+\layout LyX-Code
+
+}
+\layout LyX-Code
+
+\layout LyX-Code
+
+Numero procesarNodo( Datos& D, Indice i,
+\layout LyX-Code
+
+                     bool i_n1, bool i_1, bool i1, bool in_1,
+\layout LyX-Code
+
+                     Numero b ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+  Numero x  = 0,
+\layout LyX-Code
+
+         Xo = D.X[i];
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Voy sumando los elementos que corresponden.
+\layout LyX-Code
+
+  if ( i_n1 )
+\layout LyX-Code
+
+    x += D.X[i-D.N+1];
+\layout LyX-Code
+
+  if ( i_1 )
+\layout LyX-Code
+
+    x += D.X[i-1];
+\layout LyX-Code
+
+  if ( i1 )
+\layout LyX-Code
+
+    x += D.X[i+1];
+\layout LyX-Code
+
+  if ( in_1 )
+\layout LyX-Code
+
+    x += D.X[i+D.N-1];
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Calculo el elemento i.
+\layout LyX-Code
+
+  D.X[i] = ( 1 - D.w ) * D.X[i] + ( b + x ) * D.w / 4;
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Devuelve parte de la sumatoria para calcular la norma 2.
+\layout LyX-Code
+
+  return pow( D.X[i] - Xo, 2 );
+\layout LyX-Code
+
+\layout LyX-Code
+
+}
+\layout LyX-Code
+
+\layout LyX-Code
+
+Numero norma2( Numero* X, Indice n ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+  Numero sum = 0;
+\layout LyX-Code
+
+\layout LyX-Code
+
+  for ( Indice i = 1; i <= n; i++ )
+\layout LyX-Code
+
+    sum += pow( X[i], 2 );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  return sqrt( sum );
+\layout LyX-Code
+
+\layout LyX-Code
+
+}
+\layout LyX-Code
+
+\layout LyX-Code
+
+void imprimirVector( Indice n, Numero* X ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+  for ( Indice i = 1; i <= n; i++ )
+\layout LyX-Code
+
+    printf( "%.7e%s", X[i], ( i == n ) ? "
+\backslash 
+n" : " " );
+\layout LyX-Code
+
+\layout LyX-Code
+
+}
+\layout LyX-Code
+
+\layout LyX-Code
+
+void resolver( Datos& D ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+  Indice ite = 0,
+\layout LyX-Code
+
+         n   = Indice( pow( D.N - 1, 2) );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  Numero r    = D.rtol + 1,
+\layout LyX-Code
+
+         Ek   = 0,
+\layout LyX-Code
+
+         Ek_1 = 0;
+\layout LyX-Code
+
+\layout LyX-Code
+
+  // Imprime datos iniciales.
+\layout LyX-Code
+
+  // Formato de salida:
+\layout LyX-Code
+
+  // iteración R S <vector X>
+\layout LyX-Code
+
+  // (si no se puede calcular S, se muestra 0)
+\layout LyX-Code
+
+  printf( "%d %.2e 0.00000000 ", ite, r );
+\layout LyX-Code
+
+  imprimirVector( n, D.X );
+\layout LyX-Code
+
+\layout LyX-Code
+
+  while ( r > D.rtol ) {
+\layout LyX-Code
+
+\layout LyX-Code
+
+    for ( Indice i = 1; i <= n; i++ )
+\layout LyX-Code
+
+      Ek += procesarNodo( D, i );
+\layout LyX-Code
+
+    Ek = sqrt( Ek );
+\layout LyX-Code
+
+    r = Ek / norma2( D.X, n );
+\layout LyX-Code
+
+    printf( "%d %.2e %.8f ", ++ite, r, Ek_1 ? ( Ek / Ek_1 ) : 0 );
+\layout LyX-Code
+
+    imprimirVector( n, D.X ); Ek_1 = Ek; Ek = 0;
+\layout LyX-Code
+
+\layout LyX-Code
+
+  }
+\layout LyX-Code
+
+\layout LyX-Code
+
+}
+\layout Section
+
+Utilidades.
+\layout Standard
+
+Todas las utilidades listadas aquí son Software Libre; puede redistribuirlas
+ y/o modificarlas bajo los términos de la "GNU General Public License" como
+ lo publica la "FSF Free Software Foundation", o (a su elección) de cualquier
+ versión posterior.
+\layout Subsection
+
+
+\family typewriter 
+calc.sh
+\layout LyX-Code
+
+#!/bin/sh
+\layout LyX-Code
+
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+# Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+# Realiza los cálculos del punto c (y a y b).
+\layout LyX-Code
+
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Calculo soluciones del punto a, b y c.
+\layout LyX-Code
+
+for (( n=4; n <= 32; n*=2 )); do
+\layout LyX-Code
+
+  ./77891 $n | tail -n1 | ./resultado.awk > ca$n.txt
+\layout LyX-Code
+
+done
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Calculo iteraciones y S en función de w.
+\layout LyX-Code
+
+for (( n=4; n <= 32; n*=2 )); do
+\layout LyX-Code
+
+  echo "Procesando N = $n ..."
+\layout LyX-Code
+
+  for (( i=0; i < 100; i+=1 )); do
+\layout LyX-Code
+
+    w=`printf "1.%02d
+\backslash 
+n" $i`
+\layout LyX-Code
+
+    echo -n "$w "
+\layout LyX-Code
+
+    # Iteraciones en función de w.
+\layout LyX-Code
+
+    ./77891 $n $w | wc -l | awk '{printf "%-4d", $1-1}'
+\layout LyX-Code
+
+    echo -n " "
+\layout LyX-Code
+
+    # S en función de w.
+\layout LyX-Code
+
+    ./77891 $n $w | tail -n1 | awk '{print $3}'
+\layout LyX-Code
+
+  done > cb$n.txt
+\layout LyX-Code
+
+done
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Calculo los puntos e-g
+\layout LyX-Code
+
+./77891 16 1.35 0.001 | awk '{print $1 " " log($2) " " $3 " " $116}' 
+\backslash 
+
+\layout LyX-Code
+
+  > eg.txt
+\layout LyX-Code
+
+# Calculo los puntos f-g
+\layout LyX-Code
+
+./77891 16 1.85 0.001 | awk '{print $1 " " log($2) " " $3 " " $116}' 
+\backslash 
+
+\layout LyX-Code
+
+  > fg.txt
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Calculo la Parte II
+\layout LyX-Code
+
+ej2="./77891 8 1.446467 0.001 71 79 78 77"
+\layout LyX-Code
+
+$ej2 | tail -n1 | ./isolineas.awk > isolineas.txt
+\layout LyX-Code
+
+$ej2 | tail -n1 | awk '{ printf "X25 = %.3f ± 0.001
+\backslash 
+n", $28 }' 
+\backslash 
+
+\layout LyX-Code
+
+  > parte2.txt
+\layout Subsection
+
+
+\family typewriter 
+plot.sh
+\layout LyX-Code
+
+#!/bin/sh
+\layout LyX-Code
+
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+# Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+# Genera gráficos con los resultados de las corridas utilizando
+\layout LyX-Code
+
+# GNU Plot.
+\layout LyX-Code
+
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Genera todos los gráficos del punto d
+\layout LyX-Code
+
+for (( n=4; n <= 32; n*=2 )); do
+\layout LyX-Code
+
+  sed "s/<N>/$n/g" d.gnuplot | gnuplot
+\layout LyX-Code
+
+done
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Genera gráficos del punto e-g
+\layout LyX-Code
+
+sed "s/<A>/e/g" efg.gnuplot | sed "s/<B>/1.35/g" | gnuplot
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Genera gráficos del punto f-g
+\layout LyX-Code
+
+sed "s/<A>/f/g" efg.gnuplot | sed "s/<B>/1.85/g" | gnuplot
+\layout Subsection
+
+
+\family typewriter 
+d.gnuplot
+\layout LyX-Code
+
+#!/usr/bin/gnuplot
+\layout LyX-Code
+
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+# Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+# Genera gráficos con los resultados de las corridas utilizando
+\layout LyX-Code
+
+# GNU Plot.
+\layout LyX-Code
+
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Seteo terminal para que "dibuje" en un PS.
+\layout LyX-Code
+
+set term postscript eps enhanced color
+\layout LyX-Code
+
+set encoding iso_8859_1
+\layout LyX-Code
+
+set output "d<N>.eps"
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Seteos generales.
+\layout LyX-Code
+
+set title "Variacion de iteraciones y S en funcion de w para N = <N>"
+\layout LyX-Code
+
+set key left top
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Eje X.
+\layout LyX-Code
+
+set xlabel "Factor de sobrerelajacion (w)"
+\layout LyX-Code
+
+set mxtics 5
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Eje Y.
+\layout LyX-Code
+
+set ylabel "Iteraciones"
+\layout LyX-Code
+
+set ytics nomirror
+\layout LyX-Code
+
+set mytics 5
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Eje Y secundario.
+\layout LyX-Code
+
+set y2label "Radio espectral (S)"
+\layout LyX-Code
+
+set y2range [0:1]
+\layout LyX-Code
+
+set y2tics 0, 0.1
+\layout LyX-Code
+
+set my2tics 5
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Plotea
+\layout LyX-Code
+
+plot 'cb<N>.txt' using 1:2 smooth csplines axes x1y1 
+\backslash 
+
+\layout LyX-Code
+
+       title "Iteraciones" with lines linetype 1, 
+\backslash 
+
+\layout LyX-Code
+
+     'cb<N>.txt' using 1:3 smooth csplines axes x1y2 
+\backslash 
+
+\layout LyX-Code
+
+       title "Radio espectral" with lines linetype 3
+\layout Subsection
+
+
+\family typewriter 
+efg.gnuplot
+\layout LyX-Code
+
+#!/usr/bin/gnuplot
+\layout LyX-Code
+
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+# Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+# Genera gráficos con los resultados de las corridas utilizando
+\layout LyX-Code
+
+# GNU Plot.
+\layout LyX-Code
+
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Seteo terminal para que "dibuje" en un PS.
+\layout LyX-Code
+
+set term postscript eps enhanced color
+\layout LyX-Code
+
+set encoding iso_8859_1
+\layout LyX-Code
+
+set output "<A>g.eps"
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Seteos generales.
+\layout LyX-Code
+
+set title "Variacion R y S en funcion de las iteraciones N = 16 y w = <B>"
+\layout LyX-Code
+
+set key bottom
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Eje X.
+\layout LyX-Code
+
+set xlabel "Iteraciones"
+\layout LyX-Code
+
+set mxtics 5
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Eje Y.
+\layout LyX-Code
+
+set ylabel "R (en escala logaritmica)"
+\layout LyX-Code
+
+set ytics nomirror
+\layout LyX-Code
+
+set mytics 5
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Eje Y secundario.
+\layout LyX-Code
+
+set y2label "Radio espectral (S) / Valor del nodo central (113)"
+\layout LyX-Code
+
+set y2range [0:1.2]
+\layout LyX-Code
+
+set y2tics 0, 0.1
+\layout LyX-Code
+
+set my2tics 5
+\layout LyX-Code
+
+\layout LyX-Code
+
+# Plotea
+\layout LyX-Code
+
+plot '<A>g.txt' every ::2 using 1:2 smooth csplines axes x1y1 
+\backslash 
+
+\layout LyX-Code
+
+       title "ln(R)" with lines linetype 1, 
+\backslash 
+
+\layout LyX-Code
+
+     '<A>g.txt' every ::2 using 1:3 smooth csplines axes x1y2 
+\backslash 
+
+\layout LyX-Code
+
+       title "S" with lines linetype 3, 
+\backslash 
+
+\layout LyX-Code
+
+     '<A>g.txt' every ::2 using 1:4 smooth csplines axes x1y2 
+\backslash 
+
+\layout LyX-Code
+
+       title "Nodo central (113)" with lines linetype 4
+\layout Subsection
+
+
+\family typewriter 
+resultado.awk
+\layout LyX-Code
+
+#!/usr/bin/awk -f
+\layout LyX-Code
+
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+# Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+# Muestra el resultado de una iteración de forma más agradable.
+\layout LyX-Code
+
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+\layout LyX-Code
+
+{
+\layout LyX-Code
+
+  print "Iteraciones: " $1
+\layout LyX-Code
+
+  printf "Radio espectral experimental: %.2f
+\backslash 
+n", $3
+\layout LyX-Code
+
+  for ( i = 4; i <= NF; i+=9 ) {
+\layout LyX-Code
+
+    for ( j = 0; (j < 9) && (i+j < NF); j++ ) {
+\layout LyX-Code
+
+      printf "%5.2f ", $(i+j)
+\layout LyX-Code
+
+    }
+\layout LyX-Code
+
+    printf "
+\backslash 
+n"
+\layout LyX-Code
+
+  }
+\layout LyX-Code
+
+}
+\layout Subsection
+
+
+\family typewriter 
+isolineas.awk
+\layout LyX-Code
+
+#!/usr/bin/awk -f
+\layout LyX-Code
+
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+# Trabajo Práctico I de Análisis Numérico I
+\layout LyX-Code
+
+# Muestra el resultado de una iteración de forma más agradable.
+\layout LyX-Code
+
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+\layout LyX-Code
+
+#
+\layout LyX-Code
+
+\layout LyX-Code
+
+{
+\layout LyX-Code
+
+  for ( i = 7; i >= 1; i-- ) {
+\layout LyX-Code
+
+    for ( j = 0; j < 7; j++ ) {
+\layout LyX-Code
+
+      printf "%7.3f ", $(3+i+j*7)
+\layout LyX-Code
+
+    }
+\layout LyX-Code
+
+    printf "
+\backslash 
+n"
+\layout LyX-Code
+
+  }
+\layout LyX-Code
+
+}
+\the_end
diff --git a/isolineas.awk b/isolineas.awk
new file mode 100644 (file)
index 0000000..a806497
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/awk -f
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+#
+# Trabajo Práctico I de Análisis Numérico I
+# Muestra el resultado de una iteración de forma más agradable.
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+#
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+#
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+#
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+#
+# $URL: file:///var/lib/subversion/facultad/75.12/2002/1/resultado.awk $
+# $Date: 2002-10-13 23:38:45 -0300 (dom, 13 oct 2002) $
+# $Rev: 9 $
+# $Author: luca $
+#
+
+{
+    for ( i = 7; i >= 1; i-- ) {
+        for ( j = 0; j < 7; j++ ) {
+            printf "%7.3f ", $(3+i+j*7)
+        }
+        printf "\n"
+    }
+}
diff --git a/isolineas.kmp b/isolineas.kmp
new file mode 100644 (file)
index 0000000..6a430ea
--- /dev/null
@@ -0,0 +1,169 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE kmatplot>
+<kmatplot mime='application/x-kmatplot' editor='KMatplot' version='0.3' url='http://kmatplot.sourceforge.net' program-author='K. Dobkowski'>
+       <canvas page-size='B6' orientation='Landscape' dpi='72'>
+               <sheets number='1'>
+                       <sheet number='0' name='unnamed'>
+                               <matrix title='unnamed' rows='8' cols='7' element-type='double' data-channel='0'>
+                                       <row>1 2 3 4 5 6 7 </row>
+                                       <row>74.954323 73.50705 72.9077 72.699631 72.754166 73.12426 74.149315 </row>
+                                       <row>76.646347 75.239304 74.49337 74.183144 74.212029 74.59877 75.476501 </row>
+                                       <row>77.466202 76.359474 75.675934 75.346451 75.318771 75.584038 76.158051 </row>
+                                       <row>77.928444 77.088737 76.521362 76.211227 76.131165 76.259239 76.569138 </row>
+                                       <row>78.20549 77.564507 77.112808 76.842842 76.731865 76.749901 76.856445 </row>
+                                       <row>78.348427 77.857697 77.521088 77.31189 77.200523 77.149765 77.104813 </row>
+                                       <row>78.335838 77.998528 77.800644 77.680397 77.606285 77.542267 77.411942 </row>
+                               </matrix>
+                       </sheet>
+               </sheets>
+               <page number='0' title='Page 1'>
+                       <axes2d>
+                               <area xmm='7' ymm='7' wmm='110' hmm='110'/>
+                               <draw-in-background enabled='1'/>
+                               <title-attributes>
+                               </title-attributes>
+                               <background-attributes>
+                                       <fill element-number='-1' style='transparent' color='ff000000'/>
+                               </background-attributes>
+                               <frame width='1'/>
+                               <axis type='X' visible='1' scrollable='1'>
+                                       <dart element-number='1' style='none' size='3' />
+                                       <dart element-number='2' style='none' size='3' />
+                                       <display position='0' default='1' opposite='0' />
+                                       <range min='0' max='0' rounded='0'/>
+                                       <scale type='linear' base='10' reversed='0'/>
+                                       <grid-step major='-4' minor='-20'/>
+                                       <tics format='' visible='0' outer='0' angle='0' pos1='0.01' pos2='0.01'/>
+                                       <title-position pos='0.5' distance='0'/>
+                                       <remembered-view number='0' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='1' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='2' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <title text='&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Helvetica&quot;&gt;&#10;&lt;p&gt;T&lt;span style=&quot;vertical-align:sub&quot;&gt;S&lt;/span&gt; = 71°&lt;/p&gt;&#10;&lt;/body&gt;&lt;/html&gt;&#10;'/>
+                                       <line element-number='0' style='solid' width='0' color='ff000000'/>
+                                       <line element-number='1' style='invisible' width='0' color='ff000000'/>
+                                       <line element-number='2' style='invisible' width='0' color='ff000000'/>
+                                       <font element-number='0' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                                       <font element-number='1' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                               </axis>
+                               <axis type='Y' visible='1' scrollable='1'>
+                                       <dart element-number='1' style='none' size='3' />
+                                       <dart element-number='2' style='none' size='3' />
+                                       <display position='0' default='1' opposite='1' />
+                                       <range min='0' max='0' rounded='0'/>
+                                       <scale type='linear' base='10' reversed='0'/>
+                                       <grid-step major='-4' minor='-20'/>
+                                       <tics format='' visible='0' outer='0' angle='0' pos1='0.01' pos2='0.01'/>
+                                       <title-position pos='0.5' distance='0'/>
+                                       <remembered-view number='0' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='1' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='2' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <title text='&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Helvetica&quot;&gt;&#10;&lt;p&gt;T&lt;span style=&quot;vertical-align:sub&quot;&gt;E&lt;/span&gt; = 77°&lt;/p&gt;&#10;&lt;/body&gt;&lt;/html&gt;&#10;'/>
+                                       <line element-number='0' style='solid' width='0' color='ff000000'/>
+                                       <line element-number='1' style='invisible' width='0' color='ff000000'/>
+                                       <line element-number='2' style='invisible' width='0' color='ff000000'/>
+                                       <font element-number='0' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                                       <font element-number='1' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                               </axis>
+                               <axis type='Z' visible='1' scrollable='1'>
+                                       <dart element-number='1' style='none' size='3' />
+                                       <dart element-number='2' style='none' size='3' />
+                                       <display position='0' default='1' opposite='0' />
+                                       <range min='0' max='0' rounded='0'/>
+                                       <scale type='linear' base='10' reversed='0'/>
+                                       <grid-step major='-4' minor='-20'/>
+                                       <tics format='(TIC)' visible='1' outer='0' angle='0' pos1='0.01' pos2='0.01'/>
+                                       <title-position pos='0.5' distance='0.05'/>
+                                       <remembered-view number='0' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='1' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='2' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <title text='Z'/>
+                                       <line element-number='0' style='solid' width='0' color='ff000000'/>
+                                       <line element-number='1' style='invisible' width='0' color='ff000000'/>
+                                       <line element-number='2' style='invisible' width='0' color='ff000000'/>
+                                       <font element-number='0' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                                       <font element-number='1' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                               </axis>
+                               <axis type='V' visible='1' scrollable='1'>
+                                       <dart element-number='1' style='none' size='3' />
+                                       <dart element-number='2' style='none' size='3' />
+                                       <display position='0' default='1' opposite='0' />
+                                       <range min='0' max='0' rounded='0'/>
+                                       <scale type='linear' base='10' reversed='0'/>
+                                       <grid-step major='-4' minor='0'/>
+                                       <tics format='(TIC)' visible='1' outer='0' angle='0' pos1='0.01' pos2='0.01'/>
+                                       <title-position pos='0.5' distance='0.05'/>
+                                       <remembered-view number='0' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='1' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='2' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <title text='V'/>
+                                       <line element-number='0' style='solid' width='0' color='ff000000'/>
+                                       <line element-number='1' style='invisible' width='0' color='ff000000'/>
+                                       <line element-number='2' style='invisible' width='0' color='ff000000'/>
+                                       <font element-number='0' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                                       <font element-number='1' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                               </axis>
+                               <axis type='Y' visible='1' scrollable='1'>
+                                       <dart element-number='1' style='none' size='3' />
+                                       <dart element-number='2' style='none' size='3' />
+                                       <display position='0' default='1' opposite='0' />
+                                       <range min='0' max='0' rounded='0'/>
+                                       <scale type='linear' base='10' reversed='0'/>
+                                       <grid-step major='-4' minor='-20'/>
+                                       <tics format='' visible='0' outer='0' angle='0' pos1='0.01' pos2='0.01'/>
+                                       <title-position pos='0.5' distance='0'/>
+                                       <remembered-view number='0' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='1' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='2' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <title text='&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Helvetica&quot;&gt;&#10;&lt;p&gt;T&lt;span style=&quot;vertical-align:sub&quot;&gt;O&lt;/span&gt; = 79°&lt;/p&gt;&#10;&lt;/body&gt;&lt;/html&gt;&#10;'/>
+                                       <line element-number='0' style='solid' width='0' color='ff000000'/>
+                                       <line element-number='1' style='invisible' width='0' color='ff000000'/>
+                                       <line element-number='2' style='invisible' width='0' color='ff000000'/>
+                                       <font element-number='0' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                                       <font element-number='1' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                               </axis>
+                               <axis type='X' visible='1' scrollable='1'>
+                                       <dart element-number='1' style='none' size='3' />
+                                       <dart element-number='2' style='none' size='3' />
+                                       <display position='0' default='1' opposite='1' />
+                                       <range min='0' max='0' rounded='0'/>
+                                       <scale type='linear' base='10' reversed='0'/>
+                                       <grid-step major='-4' minor='-20'/>
+                                       <tics format='' visible='0' outer='0' angle='0' pos1='0.01' pos2='0.01'/>
+                                       <title-position pos='0.5' distance='0'/>
+                                       <remembered-view number='0' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='1' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <remembered-view number='2' min='0' max='0' scale='linear' base='10' reversed='0' rounded='0'/>
+                                       <title text='&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Helvetica&quot;&gt;&#10;&lt;p&gt;T&lt;span style=&quot;vertical-align:sub&quot;&gt;N&lt;/span&gt; = 78°&lt;/p&gt;&#10;&lt;/body&gt;&lt;/html&gt;&#10;'/>
+                                       <line element-number='0' style='solid' width='0' color='ff000000'/>
+                                       <line element-number='1' style='invisible' width='0' color='ff000000'/>
+                                       <line element-number='2' style='invisible' width='0' color='ff000000'/>
+                                       <font element-number='0' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                                       <font element-number='1' family='helvetica' size='10' bold='0' italic='0' color='ff000000'/>
+                               </axis>
+                               <title text=''/>
+                               <fill element-number='0' style='transparent' color='ff000000'/>
+                               <fill element-number='1' style='solid' color='ff000000'/>
+                               <gridded-contour stack-order='0'>
+                                       <legend-item visible='1'/>
+                                       <default-axis x-axis='0' y-axis='1' z-axis='2' v-axis='3'/>
+                                       <gradient type='five-colors'>
+                                               <fill element-number='0' style='solid' color='ff0000ff'/>
+                                               <fill element-number='1' style='solid' color='ff000080'/>
+                                               <fill element-number='2' style='solid' color='ff008000'/>
+                                               <fill element-number='3' style='solid' color='ffff0000'/>
+                                               <fill element-number='4' style='solid' color='ffffff00'/>
+                                       </gradient>
+                                       <filled enabled='1'/>
+                                       <lines enabled='1'/>
+                                       <labels enabled='1' spacing='0.2'/>
+                                       <title text='Distribución de Temperaturas'/>
+                                       <line element-number='0' style='invisible' width='0' color='ff000000'/>
+                                       <point element-number='0' style='invisible' fill='transparent' size='9' color='ff000000'/>
+                                       <matrixref title='unnamed' sheet='0' row-from='0' row-step='1' row-to='0' col-from='0' col-step='1' col-to='-1' transposition='0' data-channel='0'/>
+                                       <matrixref title='unnamed' sheet='0' row-from='0' row-step='1' row-to='0' col-from='0' col-step='1' col-to='-1' transposition='0' data-channel='1'/>
+                                       <matrixref title='unnamed' sheet='0' row-from='1' row-step='1' row-to='-1' col-from='0' col-step='1' col-to='-1' transposition='0' data-channel='2'/>
+                               </gridded-contour>
+                       </axes2d>
+               </page>
+       </canvas>
+</kmatplot>
diff --git a/isolineas.ps b/isolineas.ps
new file mode 100644 (file)
index 0000000..db77011
--- /dev/null
@@ -0,0 +1,1834 @@
+%!PS-Adobe-1.0
+%%BoundingBox: 0 0 354 498
+%%Creator: Qt 3.0.5
+%%CreationDate: lun oct 14 15:16:25 2002
+%%Orientation: Landscape
+%%Pages: 1
+%%DocumentFonts: Helvetica
+
+%%EndComments
+%%BeginProlog
+% Prolog copyright 1994-2001 Trolltech. You may copy this prolog in any way
+% that is directly related to this document. For other use of this prolog,
+% see your licensing agreement for Qt.
+/d/def load def/D{bind d}bind d/d2{dup dup}D/B{0 d2}D/W{255 d2}D/ED{exch d}D/D0
+{0 ED}D/LT{lineto}D/MT{moveto}D/S{stroke}D/F{setfont}D/SW{setlinewidth}D/CP{
+closepath}D/RL{rlineto}D/NP{newpath}D/CM{currentmatrix}D/SM{setmatrix}D/TR{
+translate}D/SC{aload pop setrgbcolor}D/BSt 0 d/LWi 1 d/PSt 1 d/Cx 0 d/Cy 0 d
+/WFi false d/OMo false d/BCol[1 1 1]d/PCol[0 0 0]d/BkCol[1 1 1]d/nS 0 d/GPS{PSt
+1 ge PSt 5 le and{{LArr PSt 1 sub 2 mul get}{LArr PSt 2 mul 1 sub get}ifelse}{[
+]}ifelse}D/QS{PSt 0 ne{LWi SW gsave PCol SC true GPS 0 setdash S OMo PSt 1 ne
+and{grestore BkCol SC false GPS dup 0 get setdash S}{grestore}ifelse}if}D/BDArr
+[0.06 0.12 0.37 0.50 0.63 0.88 0.94]d/r28{{currentfile read pop dup 32 gt{exit}
+if pop}loop 3{currentfile read pop}repeat 0 4{7 bitshift exch dup 128 gt{84 sub
+}if 42 sub 127 and add}repeat}D/rA 0 d/rL 0 d/rB{rL 0 eq{/rA r28 d/rL 28 d}if
+dup rL gt{rA exch rL sub rL exch/rA 0 d/rL 0 d rB exch bitshift add}{dup rA
+16#fffffff 3 -1 roll bitshift not and exch dup rL exch sub/rL ED neg rA exch
+bitshift/rA ED}ifelse}D/rC{/rL 0 d 0{dup 2 index length ge{exit}if 1 rB 1 eq{3
+rB dup 4 ge{dup rB 1 index 5 ge{1 index 6 ge{1 index 7 ge{64 add}if 32 add}if
+16 add}if 4 add exch pop}if 1 add 3 mul exch 10 rB 1 add 3 mul{dup 3 index lt{
+dup}{2 index}ifelse 4 index 3 index 3 index sub 2 index getinterval 5 index 4
+index 3 -1 roll putinterval dup 4 -1 roll add 3 1 roll 4 -1 roll exch sub dup 0
+eq{exit}if 3 1 roll}loop pop pop}{3 rB 1 add 3 mul{2 copy 8 rB put 1 add}repeat
+}ifelse}loop pop}D/rG{/rL 0 d 0{dup 2 index length ge{exit}if 1 rB 1 eq{3 rB
+dup 4 ge{dup rB 1 index 5 ge{1 index 6 ge{1 index 7 ge{64 add}if 32 add}if 16
+add}if 4 add exch pop}if 1 add exch 10 rB 1 add{dup 3 index lt{dup}{2 index}
+ifelse 4 index 3 index 3 index sub 2 index getinterval 5 index 4 index 3 -1
+roll putinterval dup 4 -1 roll add 3 1 roll 4 -1 roll exch sub dup 0 eq{exit}if
+3 1 roll}loop pop pop}{3 rB 1 add{2 copy 8 rB put 1 add}repeat}ifelse}loop pop}
+D/sl D0/QCIgray D0/QCIcolor D0/QCIindex D0/QCI{/colorimage where{pop false 3
+colorimage}{exec/QCIcolor ED/QCIgray QCIcolor length 3 idiv string d 0 1
+QCIcolor length 3 idiv 1 sub{/QCIindex ED/x QCIindex 3 mul d QCIgray QCIindex
+QCIcolor x get 0.30 mul QCIcolor x 1 add get 0.59 mul QCIcolor x 2 add get 0.11
+mul add add cvi put}for QCIgray image}ifelse}D/defM matrix d/BF{gsave BSt 1 eq{
+BCol SC WFi{fill}{eofill}ifelse}if BSt 2 ge BSt 8 le and{BDArr BSt 2 sub get
+setgray fill}if BSt 9 ge BSt 14 le and{WFi{clip}{eoclip}ifelse defM SM pathbbox
+3 index 3 index translate 4 2 roll 3 2 roll exch sub/h ED sub/w ED OMo{NP 0 0
+MT 0 h RL w 0 RL 0 h neg RL CP BkCol SC fill}if BCol SC 0.3 SW NP BSt 9 eq BSt
+11 eq or{0 4 h{dup 0 exch MT w exch LT}for}if BSt 10 eq BSt 11 eq or{0 4 w{dup
+0 MT h LT}for}if BSt 12 eq BSt 14 eq or{w h gt{0 6 w h add{dup 0 MT h sub h LT}
+for}{0 6 w h add{dup 0 exch MT w sub w exch LT}for}ifelse}if BSt 13 eq BSt 14
+eq or{w h gt{0 6 w h add{dup h MT h sub 0 LT}for}{0 6 w h add{dup w exch MT w
+sub 0 exch LT}for}ifelse}if S}if BSt 24 eq{}if grestore}D/mat matrix d/ang1 D0
+/ang2 D0/w D0/h D0/x D0/y D0/ARC{/ang2 ED/ang1 ED/h ED/w ED/y ED/x ED mat CM
+pop x w 2 div add y h 2 div add TR 1 h w div neg scale ang2 0 ge{0 0 w 2 div
+ang1 ang1 ang2 add arc}{0 0 w 2 div ang1 ang1 ang2 add arcn}ifelse mat SM}D/C
+D0/P{NP MT 0.5 0.5 rmoveto 0 -1 RL -1 0 RL 0 1 RL CP PCol SC fill}D/M{/Cy ED/Cx
+ED}D/L{NP Cx Cy MT/Cy ED/Cx ED Cx Cy LT QS}D/DL{NP MT LT QS}D/HL{1 index DL}D
+/VL{2 index exch DL}D/R{/h ED/w ED/y ED/x ED NP x y MT 0 h RL w 0 RL 0 h neg RL
+CP BF QS}D/ACR{/h ED/w ED/y ED/x ED x y MT 0 h RL w 0 RL 0 h neg RL CP}D
+/CLSTART{/clipTmp matrix CM d defM SM NP}D/CLEND{clip NP clipTmp SM}D/CLO{
+grestore gsave defM SM}D/xr D0/yr D0/rx D0/ry D0/rx2 D0/ry2 D0/RR{/yr ED/xr ED
+/h ED/w ED/y ED/x ED xr 0 le yr 0 le or{x y w h R}{xr 100 ge yr 100 ge or{x y w
+h E}{/rx xr w mul 200 div d/ry yr h mul 200 div d/rx2 rx 2 mul d/ry2 ry 2 mul d
+NP x rx add y MT x y rx2 ry2 180 -90 x y h add ry2 sub rx2 ry2 270 -90 x w add
+rx2 sub y h add ry2 sub rx2 ry2 0 -90 x w add rx2 sub y rx2 ry2 90 -90 ARC ARC
+ARC ARC CP BF QS}ifelse}ifelse}D/E{/h ED/w ED/y ED/x ED mat CM pop x w 2 div
+add y h 2 div add translate 1 h w div scale NP 0 0 w 2 div 0 360 arc mat SM BF
+QS}D/A{16 div exch 16 div exch NP ARC QS}D/PIE{/ang2 ED/ang1 ED/h ED/w ED/y ED
+/x ED NP x w 2 div add y h 2 div add MT x y w h ang1 16 div ang2 16 div ARC CP
+BF QS}D/CH{16 div exch 16 div exch NP ARC CP BF QS}D/BZ{curveto QS}D/CRGB{255
+div 3 1 roll 255 div 3 1 roll 255 div 3 1 roll}D/SV{BSt LWi PSt Cx Cy WFi OMo
+BCol PCol BkCol/nS nS 1 add d gsave}D/RS{nS 0 gt{grestore/BkCol ED/PCol ED/BCol
+ED/OMo ED/WFi ED/Cy ED/Cx ED/PSt ED/LWi ED/BSt ED/nS nS 1 sub d}if}D/BC{CRGB
+BkCol astore pop}D/BR{CRGB BCol astore pop/BSt ED}D/WB{1 W BR}D/NB{0 B BR}D/PE{
+setlinejoin setlinecap CRGB PCol astore pop/LWi ED/PSt ED LWi 0 eq{0.25/LWi ED}
+if}D/P1{1 0 5 2 roll 0 0 PE}D/ST{defM setmatrix concat}D/qtfindfont{true exch
+true exch{exch pop exch pop dup 0 get dup findfont dup/FontName get 3 -1 roll
+eq{exit}if}forall exch}D/qtdefinefont{dup 1 get/fxscale exch def 2 get/fslant
+exch def exch/fencoding exch def[fxscale 0 fslant 1 0 0]makefont fencoding
+false eq{}{dup maxlength dict begin{1 index/FID ne{def}{pop pop}ifelse}forall
+/Encoding fencoding def currentdict end}ifelse definefont pop}D/MF{qtfindfont
+qtdefinefont}D/MFEmb{findfont dup length dict begin{1 index/FID ne{d}{pop pop}
+ifelse}forall/Encoding ED currentdict end definefont pop}D/DF{findfont/FONTSIZE
+3 -1 roll d[FONTSIZE 0 0 FONTSIZE -1 mul 0 0]makefont d}D/ty 0 d/Y{/ty ED}D/Tl{
+gsave setlinewidth PCol SC NP 1 index exch MT 1 index 0 rlineto stroke grestore
+}D/T{PCol SC ty MT 1 index dup length 2 div exch stringwidth pop 3 -1 roll exch
+sub exch div exch 0 exch ashow}D/QI{/C save d pageinit/Cx 0 d/Cy 0 d/OMo false
+d}D/QP{C restore showpage}D/SPD{/setpagedevice where{1 dict dup begin 3 1 roll
+def end setpagedevice}{pop pop}ifelse}D
+/LArr[ [] [] [ 13.8889 4.16667 ] [ 4.16667 13.8889 ] [ 4.16667 4.16667 ] [ 4.16667 4.16667 ] [ 6.94444 4.16667 4.16667 4.16667 ] [ 4.16667 6.94444 4.16667 4.16667 ] [ 6.94444 4.16667 4.16667 4.16667 4.16667 ] [ 4.16667 6.94444 4.16667 4.16667 4.16667 4.16667 ] ] d
+/pageinit {
+% 125*176 mm (landscape)
+ 90 rotate 0.72 -0.72 scale/defM matrix CM d } d
+%%EndProlog
+%%BeginSetup
+% Fonts and encodings used
+/HelveticaList [
+[ /Helvetica 1.0 0 ]
+] d
+% No embeddable font for Helvetica found
+%% Font Page 00
+/Helvetica-ENC-00 [
+/.notdef/T/S/equal/space/seven/one/degree/E/O/nine/N/eight/three/four/five
+/six/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef] def
+/Helvetica-Uni-00 Helvetica-ENC-00 HelveticaList MF
+%%BeginFont: Helvetica
+%!PS-AdobeFont-1.0 Composite Font
+%%FontName: Helvetica-Uni
+%%Creator: Composite font created by Qt
+25 dict begin
+/FontName /Helvetica-Uni def
+/PaintType 0 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontType 0 def
+/FMapType 2 def
+/Encoding [
+0]def
+/FDepVector [
+/Helvetica-Uni-00 findfont
+]def
+FontName currentdict end definefont pop
+%%EndFont
+/F1 13.8889/Helvetica-Uni DF
+/F2 8.33333/Helvetica-Uni DF
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+QI
+%%EndPageSetup
+[0.166667 0 0 0.166667 0 0]ST
+B P1
+NB
+W BC
+0 0 M
+0 0 B 0 0 PE
+1 B BR
+NP
+165 165 MT
+2772 165 LT
+2772 174 LT
+165 174 LT
+CP BF QS
+NP
+174 2764 MT
+2772 2764 LT
+2772 2772 LT
+174 2772 LT
+CP BF QS
+NP
+165 165 MT
+174 165 LT
+174 2772 LT
+165 2772 LT
+CP BF QS
+NP
+2764 174 MT
+2772 174 LT
+2772 2772 LT
+2764 2772 LT
+CP BF QS
+NB
+NP
+174 174 MT
+2764 174 LT
+2764 2764 LT
+174 2764 LT
+CP BF QS
+390 174 2764 VL
+821 174 2764 VL
+1253 174 2764 VL
+1685 174 2764 VL
+2116 174 2764 VL
+2548 174 2764 VL
+2764 2548 174 HL
+2764 2116 174 HL
+2764 1685 174 HL
+2764 1253 174 HL
+2764 821 174 HL
+2764 390 174 HL
+2764 2764 174 HL
+2764 2620 174 HL
+2764 2332 174 HL
+2764 2188 174 HL
+2764 2044 174 HL
+2764 1757 174 HL
+2764 1613 174 HL
+2764 1469 174 HL
+2764 1181 174 HL
+2764 1037 174 HL
+2764 893 174 HL
+2764 605 174 HL
+2764 461 174 HL
+2764 318 174 HL
+174 174 2764 VL
+318 174 2764 VL
+605 174 2764 VL
+749 174 2764 VL
+893 174 2764 VL
+1181 174 2764 VL
+1325 174 2764 VL
+1469 174 2764 VL
+1757 174 2764 VL
+1900 174 2764 VL
+2044 174 2764 VL
+2332 174 2764 VL
+2476 174 2764 VL
+2620 174 2764 VL
+174 174 2764 VL
+605 174 2764 VL
+1037 174 2764 VL
+1469 174 2764 VL
+1900 174 2764 VL
+2332 174 2764 VL
+2764 174 2764 VL
+2764 2764 174 HL
+2764 2332 174 HL
+2764 1900 174 HL
+2764 1469 174 HL
+2764 1037 174 HL
+2764 605 174 HL
+2764 174 174 HL
+2764 2476 174 HL
+2764 1900 174 HL
+2764 1325 174 HL
+2764 749 174 HL
+2764 174 174 HL
+461 174 2764 VL
+1037 174 2764 VL
+1613 174 2764 VL
+2188 174 2764 VL
+2764 174 2764 VL
+B P1
+2764 2764 174 HL
+[1.38889 0 0 1.38889 205.944 467.889]ST
+CLSTART
+206 465 77 29 ACR
+CLEND
+F1 F
+14 Y<0001>9 0 T
+F2 F
+15 Y<0002>6 9 T
+F1 F
+14 Y<00030004000500060007>35 19 T
+[0.166667 0 0 0.166667 0 0]ST
+CLO
+[0.166667 0 0 0.166667 0 0]ST
+B P1
+NB
+2764 174 2764 VL
+[8.50421e-17 1.38889 -1.38889 8.50421e-17 490.111 205.944]ST
+CLO
+[8.50421e-17 1.38889 -1.38889 8.50421e-17 490.111 205.944]ST
+CLSTART
+465 206 28 76 ACR
+CLEND
+B P1
+NB
+F1 F
+<0001>9 0 T
+F2 F
+15 Y<0008>6 9 T
+F1 F
+14 Y<00030004000500050007>35 19 T
+[0.166667 0 0 0.166667 0 0]ST
+CLO
+[0.166667 0 0 0.166667 0 0]ST
+B P1
+NB
+173 174 2764 VL
+[8.50421e-17 -1.38889 1.38889 8.50421e-17 -0.444444 283.722]ST
+CLO
+[8.50421e-17 -1.38889 1.38889 8.50421e-17 -0.444444 283.722]ST
+CLSTART
+-3 207 28 77 ACR
+CLEND
+B P1
+NB
+F1 F
+<0001>9 0 T
+F2 F
+15 Y<0009>6 9 T
+F1 F
+14 Y<000300040005000A0007>35 19 T
+[0.166667 0 0 0.166667 0 0]ST
+CLO
+[0.166667 0 0 0.166667 0 0]ST
+B P1
+NB
+2764 173 174 HL
+[1.38889 0 0 1.38889 205.944 -0.444444]ST
+CLO
+[1.38889 0 0 1.38889 205.944 -0.444444]ST
+CLSTART
+206 -3 77 29 ACR
+CLEND
+B P1
+NB
+F1 F
+<0001>9 0 T
+F2 F
+15 Y<000B>6 9 T
+F1 F
+14 Y<000300040005000C0007>35 19 T
+[0.166667 0 0 0.166667 0 0]ST
+CLO
+[0.166667 0 0 0.166667 0 0]ST
+0 0 B 0 0 PE
+1 0 80 47 BR
+NP
+174 2752 MT
+174 2764 LT
+248 2689 LT
+CP BF QS
+1 85 85 0 BR
+NP
+263 2422 MT
+174 2497 LT
+174 2752 LT
+248 2689 LT
+390 2548 LT
+CP BF QS
+1 255 11 0 BR
+NP
+263 2422 MT
+174 2332 LT
+174 2497 LT
+CP BF QS
+1 0 0 137 BR
+NP
+458 2764 MT
+605 2764 LT
+538 2696 LT
+CP BF QS
+1 0 80 47 BR
+NP
+248 2689 MT
+174 2764 LT
+458 2764 LT
+538 2696 LT
+401 2560 LT
+CP BF QS
+1 85 85 0 BR
+NP
+248 2689 MT
+401 2560 LT
+390 2548 LT
+CP BF QS
+1 0 0 137 BR
+NP
+538 2696 MT
+605 2764 LT
+605 2641 LT
+CP BF QS
+1 0 80 47 BR
+NP
+401 2560 MT
+538 2696 LT
+605 2641 LT
+605 2392 LT
+CP BF QS
+1 85 85 0 BR
+NP
+401 2560 MT
+605 2392 LT
+605 2332 LT
+390 2548 LT
+CP BF QS
+NP
+605 2332 MT
+372 2332 LT
+263 2422 LT
+390 2548 LT
+CP BF QS
+1 255 11 0 BR
+NP
+372 2332 MT
+174 2332 LT
+263 2422 LT
+CP BF QS
+1 0 0 137 BR
+NP
+605 2641 MT
+605 2764 LT
+806 2563 LT
+CP BF QS
+1 0 80 47 BR
+NP
+648 2375 MT
+605 2392 LT
+605 2641 LT
+806 2563 LT
+821 2548 LT
+CP BF QS
+1 85 85 0 BR
+NP
+648 2375 MT
+605 2332 LT
+605 2392 LT
+CP BF QS
+1 0 0 228 BR
+NP
+971 2764 MT
+1037 2764 LT
+1019 2746 LT
+CP BF QS
+1 0 0 137 BR
+NP
+806 2563 MT
+605 2764 LT
+971 2764 LT
+1019 2746 LT
+828 2555 LT
+CP BF QS
+1 0 80 47 BR
+NP
+806 2563 MT
+828 2555 LT
+821 2548 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1019 2746 MT
+1037 2764 LT
+1037 2739 LT
+CP BF QS
+1 0 0 137 BR
+NP
+828 2555 MT
+1019 2746 LT
+1037 2739 LT
+1037 2466 LT
+CP BF QS
+1 0 80 47 BR
+NP
+828 2555 MT
+1037 2466 LT
+1037 2332 LT
+821 2548 LT
+CP BF QS
+NP
+1037 2332 MT
+744 2332 LT
+648 2375 LT
+821 2548 LT
+CP BF QS
+1 85 85 0 BR
+NP
+744 2332 MT
+605 2332 LT
+648 2375 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1037 2739 MT
+1037 2764 LT
+1067 2734 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1152 2448 MT
+1037 2466 LT
+1037 2739 LT
+1067 2734 LT
+1253 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1152 2448 MT
+1037 2332 LT
+1037 2466 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1067 2734 MT
+1037 2764 LT
+1469 2764 LT
+1469 2764 LT
+1394 2689 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1067 2734 MT
+1394 2689 LT
+1253 2548 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1394 2689 MT
+1469 2764 LT
+1469 2764 LT
+1469 2676 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1394 2689 MT
+1469 2676 LT
+1469 2385 LT
+1404 2397 LT
+1253 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1469 2385 MT
+1469 2332 LT
+1404 2397 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1404 2397 MT
+1152 2448 LT
+1253 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1404 2397 MT
+1469 2332 LT
+1037 2332 LT
+1152 2448 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1469 2676 MT
+1469 2764 LT
+1469 2764 LT
+1554 2679 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1524 2387 MT
+1469 2385 LT
+1469 2676 LT
+1554 2679 LT
+1685 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1524 2387 MT
+1469 2332 LT
+1469 2385 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1554 2679 MT
+1469 2764 LT
+1469 2764 LT
+1900 2764 LT
+1825 2689 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1554 2679 MT
+1825 2689 LT
+1685 2548 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1825 2689 MT
+1900 2764 LT
+1900 2691 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1825 2689 MT
+1900 2691 LT
+1900 2395 LT
+1839 2393 LT
+1685 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1900 2395 MT
+1900 2332 LT
+1839 2393 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1839 2393 MT
+1524 2387 LT
+1685 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1839 2393 MT
+1900 2332 LT
+1469 2332 LT
+1524 2387 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1900 2691 MT
+1900 2764 LT
+1958 2706 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1985 2417 MT
+1900 2395 LT
+1900 2691 LT
+1958 2706 LT
+2116 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1985 2417 MT
+1900 2332 LT
+1900 2395 LT
+CP BF QS
+1 0 0 228 BR
+NP
+1958 2706 MT
+1900 2764 LT
+2187 2764 LT
+CP BF QS
+1 0 0 137 BR
+NP
+1958 2706 MT
+2187 2764 LT
+2332 2764 LT
+2116 2548 LT
+CP BF QS
+NP
+2332 2764 MT
+2332 2507 LT
+2193 2472 LT
+2116 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2332 2507 MT
+2332 2332 LT
+2193 2472 LT
+CP BF QS
+1 0 0 137 BR
+NP
+2193 2472 MT
+1985 2417 LT
+2116 2548 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2193 2472 MT
+2332 2332 LT
+1900 2332 LT
+1985 2417 LT
+CP BF QS
+1 0 0 137 BR
+NP
+2332 2507 MT
+2332 2764 LT
+2488 2608 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2332 2332 MT
+2332 2507 LT
+2488 2608 LT
+2548 2548 LT
+CP BF QS
+1 0 0 137 BR
+NP
+2488 2608 MT
+2332 2764 LT
+2701 2764 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2488 2608 MT
+2701 2764 LT
+2764 2764 LT
+2548 2548 LT
+CP BF QS
+NP
+2764 2764 MT
+2764 2487 LT
+2674 2422 LT
+2548 2548 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2764 2487 MT
+2764 2332 LT
+2674 2422 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2674 2422 MT
+2529 2332 LT
+2332 2332 LT
+2548 2548 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2674 2422 MT
+2764 2332 LT
+2529 2332 LT
+CP BF QS
+1 255 11 0 BR
+NP
+271 1997 MT
+174 2146 LT
+174 2332 LT
+390 2116 LT
+CP BF QS
+1 255 192 0 BR
+NP
+271 1997 MT
+174 1900 LT
+174 2146 LT
+CP BF QS
+1 85 85 0 BR
+NP
+372 2332 MT
+605 2332 LT
+467 2194 LT
+CP BF QS
+1 255 11 0 BR
+NP
+174 2332 MT
+372 2332 LT
+467 2194 LT
+390 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+467 2194 MT
+605 2332 LT
+605 2039 LT
+CP BF QS
+1 255 11 0 BR
+NP
+467 2194 MT
+605 2039 LT
+605 1900 LT
+390 2116 LT
+CP BF QS
+NP
+605 1900 MT
+356 1900 LT
+271 1997 LT
+390 2116 LT
+CP BF QS
+1 255 192 0 BR
+NP
+356 1900 MT
+174 1900 LT
+271 1997 LT
+CP BF QS
+1 85 85 0 BR
+NP
+690 1985 MT
+605 2039 LT
+605 2332 LT
+821 2116 LT
+CP BF QS
+1 255 11 0 BR
+NP
+690 1985 MT
+605 1900 LT
+605 2039 LT
+CP BF QS
+1 0 80 47 BR
+NP
+744 2332 MT
+1037 2332 LT
+922 2217 LT
+CP BF QS
+1 85 85 0 BR
+NP
+605 2332 MT
+744 2332 LT
+922 2217 LT
+821 2116 LT
+CP BF QS
+1 0 80 47 BR
+NP
+922 2217 MT
+1037 2332 LT
+1037 2147 LT
+CP BF QS
+1 85 85 0 BR
+NP
+922 2217 MT
+1037 2147 LT
+1037 1900 LT
+821 2116 LT
+CP BF QS
+NP
+1037 1900 MT
+832 1900 LT
+690 1985 LT
+821 2116 LT
+CP BF QS
+1 255 11 0 BR
+NP
+832 1900 MT
+605 1900 LT
+690 1985 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1231 2095 MT
+1037 2147 LT
+1037 2332 LT
+1253 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1231 2095 MT
+1037 1900 LT
+1037 2147 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1037 2332 MT
+1469 2332 LT
+1253 2116 LT
+CP BF QS
+NP
+1469 2332 MT
+1469 2029 LT
+1291 2078 LT
+1253 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1469 2029 MT
+1469 1900 LT
+1291 2078 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1291 2078 MT
+1231 2095 LT
+1253 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1291 2078 MT
+1469 1900 LT
+1037 1900 LT
+1231 2095 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1597 2029 MT
+1469 2029 LT
+1469 2332 LT
+1685 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1597 2029 MT
+1469 1900 LT
+1469 2029 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1469 2332 MT
+1900 2332 LT
+1685 2116 LT
+CP BF QS
+NP
+1900 2332 MT
+1900 2025 LT
+1776 2025 LT
+1685 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1900 2025 MT
+1900 1900 LT
+1776 2025 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1776 2025 MT
+1597 2029 LT
+1685 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1776 2025 MT
+1900 1900 LT
+1469 1900 LT
+1597 2029 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2077 2077 MT
+1900 2025 LT
+1900 2332 LT
+2116 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2077 2077 MT
+1900 1900 LT
+1900 2025 LT
+CP BF QS
+1 0 80 47 BR
+NP
+1900 2332 MT
+2332 2332 LT
+2116 2116 LT
+CP BF QS
+NP
+2332 2332 MT
+2332 2156 LT
+2140 2093 LT
+2116 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2332 2156 MT
+2332 1900 LT
+2140 2093 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2140 2093 MT
+2077 2077 LT
+2116 2116 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2140 2093 MT
+2332 1900 LT
+1900 1900 LT
+2077 2077 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2332 2156 MT
+2332 2332 LT
+2433 2231 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2332 1900 MT
+2332 2156 LT
+2433 2231 LT
+2548 2116 LT
+CP BF QS
+1 0 80 47 BR
+NP
+2433 2231 MT
+2332 2332 LT
+2529 2332 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2433 2231 MT
+2529 2332 LT
+2764 2332 LT
+2548 2116 LT
+CP BF QS
+NP
+2764 2332 MT
+2764 2001 LT
+2715 1949 LT
+2548 2116 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2764 2001 MT
+2764 1900 LT
+2715 1949 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2715 1949 MT
+2645 1900 LT
+2332 1900 LT
+2548 2116 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2715 1949 MT
+2764 1900 LT
+2645 1900 LT
+CP BF QS
+1 255 192 0 BR
+NP
+174 1469 MT
+174 1900 LT
+390 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+356 1900 MT
+605 1900 LT
+443 1738 LT
+CP BF QS
+1 255 192 0 BR
+NP
+174 1900 MT
+356 1900 LT
+443 1738 LT
+390 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+443 1738 MT
+605 1900 LT
+605 1521 LT
+CP BF QS
+1 255 192 0 BR
+NP
+443 1738 MT
+605 1521 LT
+605 1469 LT
+390 1685 LT
+CP BF QS
+NP
+605 1469 MT
+174 1469 LT
+390 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+634 1497 MT
+605 1521 LT
+605 1900 LT
+821 1685 LT
+CP BF QS
+1 255 192 0 BR
+NP
+634 1497 MT
+605 1469 LT
+605 1521 LT
+CP BF QS
+1 85 85 0 BR
+NP
+832 1900 MT
+1037 1900 LT
+942 1805 LT
+CP BF QS
+1 255 11 0 BR
+NP
+605 1900 MT
+832 1900 LT
+942 1805 LT
+821 1685 LT
+CP BF QS
+1 85 85 0 BR
+NP
+942 1805 MT
+1037 1900 LT
+1037 1735 LT
+CP BF QS
+1 255 11 0 BR
+NP
+942 1805 MT
+1037 1735 LT
+1037 1469 LT
+821 1685 LT
+CP BF QS
+NP
+1037 1469 MT
+673 1469 LT
+634 1497 LT
+821 1685 LT
+CP BF QS
+1 255 192 0 BR
+NP
+673 1469 MT
+605 1469 LT
+634 1497 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1230 1662 MT
+1037 1735 LT
+1037 1900 LT
+1253 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1230 1662 MT
+1037 1469 LT
+1037 1735 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1037 1900 MT
+1469 1900 LT
+1253 1685 LT
+CP BF QS
+NP
+1469 1900 MT
+1469 1574 LT
+1301 1636 LT
+1253 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1469 1574 MT
+1469 1469 LT
+1301 1636 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1301 1636 MT
+1230 1662 LT
+1253 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1301 1636 MT
+1469 1469 LT
+1037 1469 LT
+1230 1662 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1568 1568 MT
+1469 1574 LT
+1469 1900 LT
+1685 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1568 1568 MT
+1469 1469 LT
+1469 1574 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1469 1900 MT
+1900 1900 LT
+1685 1685 LT
+CP BF QS
+NP
+1900 1900 MT
+1900 1538 LT
+1826 1543 LT
+1685 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1900 1538 MT
+1900 1469 LT
+1826 1543 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1826 1543 MT
+1568 1568 LT
+1685 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1826 1543 MT
+1900 1469 LT
+1469 1469 LT
+1568 1568 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1992 1561 MT
+1900 1538 LT
+1900 1900 LT
+2116 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1992 1561 MT
+1900 1469 LT
+1900 1538 LT
+CP BF QS
+1 85 85 0 BR
+NP
+1900 1900 MT
+2332 1900 LT
+2116 1685 LT
+CP BF QS
+NP
+2332 1900 MT
+2332 1634 LT
+2204 1597 LT
+2116 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2332 1634 MT
+2332 1469 LT
+2204 1597 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2204 1597 MT
+1992 1561 LT
+2116 1685 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2204 1597 MT
+2332 1469 LT
+1900 1469 LT
+1992 1561 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2332 1634 MT
+2332 1900 LT
+2493 1740 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2332 1469 MT
+2332 1634 LT
+2493 1740 LT
+2548 1685 LT
+CP BF QS
+1 85 85 0 BR
+NP
+2493 1740 MT
+2332 1900 LT
+2645 1900 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2493 1740 MT
+2645 1900 LT
+2764 1900 LT
+2548 1685 LT
+CP BF QS
+NP
+2764 1900 MT
+2764 1469 LT
+2548 1685 LT
+CP BF QS
+NP
+2764 1469 MT
+2332 1469 LT
+2548 1685 LT
+CP BF QS
+1 255 192 0 BR
+NP
+261 1124 MT
+174 1357 LT
+174 1469 LT
+390 1253 LT
+CP BF QS
+1 255 255 0 BR
+NP
+261 1124 MT
+174 1037 LT
+174 1357 LT
+CP BF QS
+1 255 192 0 BR
+NP
+174 1469 MT
+605 1469 LT
+390 1253 LT
+CP BF QS
+NP
+605 1469 MT
+605 1037 LT
+390 1253 LT
+CP BF QS
+NP
+605 1037 MT
+312 1037 LT
+261 1124 LT
+390 1253 LT
+CP BF QS
+1 255 255 0 BR
+NP
+312 1037 MT
+174 1037 LT
+261 1124 LT
+CP BF QS
+1 255 192 0 BR
+NP
+605 1037 MT
+605 1469 LT
+821 1253 LT
+CP BF QS
+1 255 11 0 BR
+NP
+673 1469 MT
+1037 1469 LT
+849 1281 LT
+CP BF QS
+1 255 192 0 BR
+NP
+605 1469 MT
+673 1469 LT
+849 1281 LT
+821 1253 LT
+CP BF QS
+1 255 11 0 BR
+NP
+849 1281 MT
+1037 1469 LT
+1037 1119 LT
+CP BF QS
+1 255 192 0 BR
+NP
+849 1281 MT
+1037 1119 LT
+1037 1037 LT
+821 1253 LT
+CP BF QS
+NP
+1037 1037 MT
+605 1037 LT
+821 1253 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1092 1092 MT
+1037 1119 LT
+1037 1469 LT
+1253 1253 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1092 1092 MT
+1037 1037 LT
+1037 1119 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1037 1469 MT
+1469 1469 LT
+1253 1253 LT
+CP BF QS
+NP
+1469 1469 MT
+1469 1037 LT
+1253 1253 LT
+CP BF QS
+NP
+1469 1037 MT
+1217 1037 LT
+1092 1092 LT
+1253 1253 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1217 1037 MT
+1037 1037 LT
+1092 1092 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1469 1469 MT
+2764 1469 LT
+2764 1037 LT
+1469 1037 LT
+CP BF QS
+1 255 192 0 BR
+NP
+386 818 MT
+383 827 LT
+390 821 LT
+CP BF QS
+1 255 255 0 BR
+NP
+386 818 MT
+174 605 LT
+174 1037 LT
+383 827 LT
+CP BF QS
+1 255 192 0 BR
+NP
+383 827 MT
+312 1037 LT
+605 1037 LT
+390 821 LT
+CP BF QS
+1 255 255 0 BR
+NP
+383 827 MT
+174 1037 LT
+312 1037 LT
+CP BF QS
+1 255 192 0 BR
+NP
+605 1037 MT
+605 605 LT
+390 821 LT
+CP BF QS
+NP
+605 605 MT
+480 605 LT
+386 818 LT
+390 821 LT
+CP BF QS
+1 255 255 0 BR
+NP
+480 605 MT
+174 605 LT
+386 818 LT
+CP BF QS
+1 255 192 0 BR
+NP
+605 1037 MT
+1037 1037 LT
+1037 605 LT
+605 605 LT
+CP BF QS
+NP
+1037 605 MT
+1037 1037 LT
+1253 821 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1217 1037 MT
+1469 1037 LT
+1373 941 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1037 1037 MT
+1217 1037 LT
+1373 941 LT
+1253 821 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1373 941 MT
+1469 1037 LT
+1469 892 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1373 941 MT
+1469 892 LT
+1469 605 LT
+1253 821 LT
+CP BF QS
+NP
+1469 605 MT
+1037 605 LT
+1253 821 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1469 892 MT
+1469 1037 LT
+1658 847 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1469 605 MT
+1469 892 LT
+1658 847 LT
+1685 821 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1658 847 MT
+1469 1037 LT
+1900 1037 LT
+1701 837 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1658 847 MT
+1701 837 LT
+1685 821 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1701 837 MT
+1900 1037 LT
+1900 790 LT
+CP BF QS
+1 255 192 0 BR
+NP
+1701 837 MT
+1900 790 LT
+1900 605 LT
+1685 821 LT
+CP BF QS
+NP
+1900 605 MT
+1469 605 LT
+1685 821 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2079 784 MT
+1900 790 LT
+1900 1037 LT
+2116 821 LT
+CP BF QS
+1 255 192 0 BR
+NP
+2079 784 MT
+1900 605 LT
+1900 790 LT
+CP BF QS
+1 255 11 0 BR
+NP
+1900 1037 MT
+2332 1037 LT
+2116 821 LT
+CP BF QS
+NP
+2332 1037 MT
+2332 767 LT
+2164 774 LT
+2116 821 LT
+CP BF QS
+1 255 192 0 BR
+NP
+2332 767 MT
+2332 605 LT
+2164 774 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2164 774 MT
+2079 784 LT
+2116 821 LT
+CP BF QS
+1 255 192 0 BR
+NP
+2164 774 MT
+2332 605 LT
+1900 605 LT
+2079 784 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2507 781 MT
+2332 767 LT
+2332 1037 LT
+2548 821 LT
+CP BF QS
+1 255 192 0 BR
+NP
+2507 781 MT
+2332 605 LT
+2332 767 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2332 1037 MT
+2764 1037 LT
+2548 821 LT
+CP BF QS
+NP
+2764 1037 MT
+2764 788 LT
+2602 767 LT
+2548 821 LT
+CP BF QS
+1 255 192 0 BR
+NP
+2764 788 MT
+2764 605 LT
+2602 767 LT
+CP BF QS
+1 255 11 0 BR
+NP
+2602 767 MT
+2507 781 LT
+2548 821 LT
+CP BF QS
+1 255 192 0 BR
+NP
+2602 767 MT
+2764 605 LT
+2332 605 LT
+2507 781 LT
+CP BF QS
+1 255 255 0 BR
+NP
+174 174 MT
+174 605 LT
+390 390 LT
+CP BF QS
+1 255 192 0 BR
+NP
+480 605 MT
+605 605 LT
+495 495 LT
+CP BF QS
+1 255 255 0 BR
+NP
+174 605 MT
+480 605 LT
+495 495 LT
+390 390 LT
+CP BF QS
+1 255 192 0 BR
+NP
+495 495 MT
+605 605 LT
+605 174 LT
+603 176 LT
+CP BF QS
+1 255 255 0 BR
+NP
+495 495 MT
+603 176 LT
+390 390 LT
+CP BF QS
+1 255 192 0 BR
+NP
+603 176 MT
+605 174 LT
+603 174 LT
+CP BF QS
+1 255 255 0 BR
+NP
+603 176 MT
+603 174 LT
+174 174 LT
+390 390 LT
+CP BF QS
+1 255 192 0 BR
+NP
+605 605 MT
+2764 605 LT
+2764 174 LT
+605 174 LT
+CP BF QS
+0 0 B 0 0 PE
+971 2764 M
+1019 2746 L
+1037 2739 L
+1067 2734 L
+1394 2689 L
+1440 2681 L
+1554 2679 M
+1583 2680 M
+1825 2689 L
+1900 2691 L
+1958 2706 L
+2187 2764 L
+0 0 B 0 0 PE
+458 2764 M
+538 2696 L
+605 2641 L
+806 2563 L
+828 2555 L
+1037 2466 L
+1152 2448 L
+1207 2437 L
+1350 2408 M
+1404 2397 L
+1469 2385 L
+1524 2387 L
+1839 2393 L
+1900 2395 L
+1985 2417 L
+2193 2472 L
+2332 2507 L
+2488 2608 L
+2701 2764 L
+0 0 B 0 0 PE
+174 2752 M
+248 2689 L
+401 2560 L
+432 2535 L
+575 2417 M
+605 2392 L
+648 2375 L
+744 2332 L
+922 2217 L
+1037 2147 L
+1231 2095 L
+1291 2078 L
+1469 2029 L
+1597 2029 L
+1776 2025 L
+1900 2025 L
+2077 2077 L
+2140 2093 L
+2332 2156 L
+2433 2231 L
+2529 2332 L
+2674 2422 L
+2764 2487 L
+0 0 B 0 0 PE
+174 2497 M
+263 2422 L
+372 2332 L
+467 2194 L
+576 2072 L
+690 1985 M
+719 1968 M
+832 1900 L
+942 1805 L
+1037 1735 L
+1230 1662 L
+1301 1636 L
+1469 1574 L
+1568 1568 L
+1826 1543 L
+1900 1538 L
+1992 1561 L
+2204 1597 L
+2332 1634 L
+2493 1740 L
+2645 1900 L
+2715 1949 L
+2764 2001 L
+0 0 B 0 0 PE
+174 2146 M
+271 1997 L
+356 1900 L
+443 1738 L
+605 1521 L
+634 1497 L
+673 1469 L
+690 1451 L
+833 1299 M
+849 1281 L
+1037 1119 L
+1092 1092 L
+1217 1037 L
+1373 941 L
+1469 892 L
+1658 847 L
+1701 837 L
+1900 790 L
+2079 784 L
+2164 774 L
+2332 767 L
+2507 781 L
+2602 767 L
+2764 788 L
+0 0 B 0 0 PE
+174 1357 M
+261 1124 L
+312 1037 L
+319 1016 L
+376 848 M
+383 827 L
+386 818 L
+480 605 L
+495 495 L
+603 176 L
+603 174 L
+[1.38889 0 0 1.38889 239.333 435.222]ST
+CLO
+[1.38889 0 0 1.38889 239.333 435.222]ST
+CLSTART
+239 432 25 29 ACR
+CLEND
+B P1
+1 255 192 0 BR
+F1 F
+<0005000D>16 0 T
+[1.38889 0 0 1.38889 200.5 392.556]ST
+CLO
+[1.38889 0 0 1.38889 200.5 392.556]ST
+CLSTART
+201 390 24 29 ACR
+CLEND
+B P1
+1 255 192 0 BR
+F1 F
+<0005000E>16 0 T
+[1.38889 0 0 1.38889 71.3333 401.556]ST
+CLO
+[1.38889 0 0 1.38889 71.3333 401.556]ST
+CLSTART
+71 399 25 29 ACR
+CLEND
+B P1
+1 255 192 0 BR
+F1 F
+<0005000F>16 0 T
+[1.38889 0 0 1.38889 95.5 324.222]ST
+CLO
+[1.38889 0 0 1.38889 95.5 324.222]ST
+CLSTART
+96 321 24 29 ACR
+CLEND
+B P1
+1 255 192 0 BR
+F1 F
+<00050010>16 0 T
+[1.38889 0 0 1.38889 114.333 218.056]ST
+CLO
+[1.38889 0 0 1.38889 114.333 218.056]ST
+CLSTART
+114 215 25 29 ACR
+CLEND
+B P1
+1 255 192 0 BR
+F1 F
+<00050005>16 0 T
+[1.38889 0 0 1.38889 45.5 144.222]ST
+CLO
+[1.38889 0 0 1.38889 45.5 144.222]ST
+CLSTART
+46 141 24 29 ACR
+CLEND
+B P1
+1 255 192 0 BR
+F1 F
+<0005000C>16 0 T
+
+QP
+%%Trailer
+%%Pages: 1
+%%DocumentFonts: Helvetica
+%%EOF
diff --git a/mother.xcf b/mother.xcf
new file mode 100644 (file)
index 0000000..0b0fc89
Binary files /dev/null and b/mother.xcf differ
diff --git a/plot.sh b/plot.sh
new file mode 100755 (executable)
index 0000000..af57807
--- /dev/null
+++ b/plot.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+#
+# Trabajo Práctico I de Análisis Numérico I
+# Genera gráficos con los resultados de las corridas utilizando
+# GNU Plot.
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+#
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+#
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+#
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+#
+# $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/plot.sh $
+# $Date: 2002-10-17 00:08:00 -0300 (jue, 17 oct 2002) $
+# $Rev: 16 $
+# $Author: luca $
+#
+
+# Genera todos los gráficos del punto d
+for (( n=4; n <= 32; n*=2 )); do
+    sed "s/<N>/$n/g" d.gnuplot | gnuplot
+done
+
+# Genera gráficos del punto e-g
+sed "s/<A>/e/g" efg.gnuplot | sed "s/<B>/1.35/g" | gnuplot
+
+# Genera gráficos del punto f-g
+sed "s/<A>/f/g" efg.gnuplot | sed "s/<B>/1.85/g" | gnuplot
+
+# Genera gráficos para el informe.
+for f in regiones grilla mother; do
+    xcftopnm $f.xcf | pnmtops -imagewidth 3 -dpi 360 > $f.eps
+done
diff --git a/regiones.xcf b/regiones.xcf
new file mode 100644 (file)
index 0000000..b37a2a5
Binary files /dev/null and b/regiones.xcf differ
diff --git a/resultado.awk b/resultado.awk
new file mode 100755 (executable)
index 0000000..2be8418
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/awk -f
+# vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
+#
+# Trabajo Práctico I de Análisis Numérico I
+# Muestra el resultado de una iteración de forma más agradable.
+# Copyright (C) 2002 Leandro Lucarella <leandro@lucarella.com.ar>
+#
+# Este programa es Software Libre; usted puede redistribuirlo
+# y/o modificarlo bajo los términos de la "GNU General Public
+# License" como lo publica la "FSF Free Software Foundation",
+# o (a su elección) de cualquier versión posterior.
+#
+# Este programa es distribuido con la esperanza de que le será
+# útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
+# implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
+# particular. Vea la "GNU General Public License" para más
+# detalles.
+#
+# Usted debe haber recibido una copia de la "GNU General Public
+# License" junto con este programa, si no, escriba a la "FSF
+# Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
+# Boston, MA  02111-1307, USA.
+#
+# $URL: http://www.llucax.hn.org:81/svn/facultad/75.12/tp1/resultado.awk $
+# $Date: 2002-10-16 21:52:18 -0300 (mié, 16 oct 2002) $
+# $Rev: 13 $
+# $Author: luca $
+#
+
+{
+    print "Iteraciones: " $1
+    printf "Radio espectral experimental: %.2f\n", $3
+    for ( i = 4; i <= NF; i+=9 ) {
+        for ( j = 0; (j < 9) && (i+j < NF); j++ ) {
+            printf "%5.2f ", $(i+j)
+        }
+        printf "\n"
+    }
+}