From f64b0495a9c62097e64ea9381b78d26c889ce567 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Sun, 23 Mar 2003 07:10:16 +0000 Subject: [PATCH] =?utf8?q?Import=20inicial=20despu=C3=A9s=20del=20"/var=20?= =?utf8?q?incident".=20:(?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- 77891.cpp | 247 +++++ GFDL | 355 +++++++ GPL | 340 +++++++ Makefile | 112 +++ README | 33 + calc.sh | 57 ++ d.gnuplot | 57 ++ efg.gnuplot | 58 ++ grilla.xcf | Bin 0 -> 71407 bytes informe.lyx | 2671 +++++++++++++++++++++++++++++++++++++++++++++++++ isolineas.awk | 37 + isolineas.kmp | 169 ++++ isolineas.ps | 1834 +++++++++++++++++++++++++++++++++ mother.xcf | Bin 0 -> 168804 bytes plot.sh | 45 + regiones.xcf | Bin 0 -> 136504 bytes resultado.awk | 39 + 17 files changed, 6054 insertions(+) create mode 100644 77891.cpp create mode 100644 GFDL create mode 100644 GPL create mode 100644 Makefile create mode 100644 README create mode 100755 calc.sh create mode 100644 d.gnuplot create mode 100644 efg.gnuplot create mode 100644 grilla.xcf create mode 100644 informe.lyx create mode 100644 isolineas.awk create mode 100644 isolineas.kmp create mode 100644 isolineas.ps create mode 100644 mother.xcf create mode 100755 plot.sh create mode 100644 regiones.xcf create mode 100755 resultado.awk diff --git a/77891.cpp b/77891.cpp new file mode 100644 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 +// +// 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 +#include +#include + +// 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 + // (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 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 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. + + 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.) + +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. + + 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. + + 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 + + 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. + + + Copyright (C) + + 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. + + , 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 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 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 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 +# +# 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 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 +# +# 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.eps" + +# Seteos generales. +set title "Variacion de iteraciones y S en funcion de w para 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.txt' using 1:2 smooth csplines axes x1y1 title "Iteraciones" with lines linetype 1, \ + 'cb.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 index 0000000..cd82ae7 --- /dev/null +++ b/efg.gnuplot @@ -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 +# +# 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 "g.eps" + +# Seteos generales. +set title "Variacion R y S en funcion de las iteraciones N = 16 y w = " +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 'g.txt' every ::2 using 1:2 smooth csplines axes x1y1 title "ln(R)" with lines linetype 1, \ + 'g.txt'every ::2 using 1:3 smooth csplines axes x1y2 title "S" with lines linetype 3, \ + '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 index 0000000000000000000000000000000000000000..496d6f8906f6c538fca647368be4591f3946831d GIT binary patch literal 71407 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 R(Z8b}G=8TCjqmj!{~wPu*zW)U literal 0 HcmV?d00001 diff --git a/informe.lyx b/informe.lyx new file mode 100644 index 0000000..fb4196f --- /dev/null +++ b/informe.lyx @@ -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 +\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 +\layout LyX-Code + +#include +\layout LyX-Code + +#include +\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 +\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 +\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 +\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/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//e/g" efg.gnuplot | sed "s//1.35/g" | gnuplot +\layout LyX-Code + +\layout LyX-Code + +# Genera gráficos del punto f-g +\layout LyX-Code + +sed "s//f/g" efg.gnuplot | sed "s//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 +\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.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 = " +\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.txt' using 1:2 smooth csplines axes x1y1 +\backslash + +\layout LyX-Code + + title "Iteraciones" with lines linetype 1, +\backslash + +\layout LyX-Code + + 'cb.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 +\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 "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 = " +\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 '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 + + '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 + + '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 +\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 +\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 index 0000000..a806497 --- /dev/null +++ b/isolineas.awk @@ -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 +# +# 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 index 0000000..6a430ea --- /dev/null +++ b/isolineas.kmp @@ -0,0 +1,169 @@ + + + + + + + + 1 2 3 4 5 6 7 + 74.954323 73.50705 72.9077 72.699631 72.754166 73.12426 74.149315 + 76.646347 75.239304 74.49337 74.183144 74.212029 74.59877 75.476501 + 77.466202 76.359474 75.675934 75.346451 75.318771 75.584038 76.158051 + 77.928444 77.088737 76.521362 76.211227 76.131165 76.259239 76.569138 + 78.20549 77.564507 77.112808 76.842842 76.731865 76.749901 76.856445 + 78.348427 77.857697 77.521088 77.31189 77.200523 77.149765 77.104813 + 78.335838 77.998528 77.800644 77.680397 77.606285 77.542267 77.411942 + + + + + + + + + + + + + + + + + + + + + + + + + + + <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='<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:12pt;font-family:Helvetica"> <p>T<span style="vertical-align:sub">E</span> = 77°</p> </body></html> '/> + <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='<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:12pt;font-family:Helvetica"> <p>T<span style="vertical-align:sub">O</span> = 79°</p> </body></html> '/> + <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='<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:12pt;font-family:Helvetica"> <p>T<span style="vertical-align:sub">N</span> = 78°</p> </body></html> '/> + <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 index 0000000..db77011 --- /dev/null +++ b/isolineas.ps @@ -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 index 0000000000000000000000000000000000000000..0b0fc891e757e80a94cbf116c7d219bd5d1e84fc GIT binary patch literal 168804 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 J_uc1C#^3t~8F&By literal 0 HcmV?d00001 diff --git a/plot.sh b/plot.sh new file mode 100755 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 index 0000000000000000000000000000000000000000..b37a2a5f96e7929fcfbd4895892c6ba40eed077d GIT binary patch literal 136504 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 QW4};Fbwt1W*;L2>2{wf*VE_OC literal 0 HcmV?d00001 diff --git a/resultado.awk b/resultado.awk new file mode 100755 index 0000000..2be8418 --- /dev/null +++ b/resultado.awk @@ -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" + } +} -- 2.43.0