ajustar. un procesador interactivo para ajuste por mínimos

58
670 Sp ISSN 614-087-X 'AJUSTAR': UN PROCESADOR INTERACTIVO PARA AJUSTE FOR MIN1MOS CUADRADOS DE POUNOIVHOS ALGEBRAICOS (EN UNA SOLA VARIABLE Y GRADO ARBITRARY) A CONJUNTOS DE DATOS EXPERIMENTALES por: J.J. Sanchez Miro J. Pena Gutierrez CENTRO DE INVESTIGACIONES ENERGETICAS, MEDIOAMBIEN1ALES Y TECNOLOGICAS MADRID, 1991

Upload: others

Post on 07-Jun-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

670Sp ISSN 614-087-X

'AJUSTAR': UN PROCESADOR INTERACTIVO PARA AJUSTEFOR MIN1MOS CUADRADOS

DE POUNOIVHOS ALGEBRAICOS (EN UNA SOLA VARIABLE Y GRADO ARBITRARY) A CONJUNTOS

DE DATOS EXPERIMENTALES

por:

J.J. Sanchez Miro J. Pena Gutierrez

CENTRO DE INVESTIGACIONES ENERGETICAS, MEDIOAMBIEN1ALES Y TECNOLOGICAS

MADRID, 1991

Page 2: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

CLASIFICACION DOE Y DESCRIPTORES

990200MICROPROCESSORS LEAST SQUARE FIT POLYNOMIALS PLOTTERSINTERACTIVE DISPLAY DEVICESINTERPOLATIONNON LINEAR PROBLEMS

Page 3: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Toda correspondence en relacion con este trabajo debe dirigirse al Servicio de Informacion y Documentacidn, Centro de Investigaciones Energeticas, Medioam- bientales y Tecnologicas, Ciudad Universitaria, 28040-MADRID, ESPAISIA.

Las solicitudes de ejemplares deben dirigirse a este mismo Servicio.

Los descriptores se ban seleccionado del Thesauro del DOE para describir las materias qde contiene este informe con vistas a su recuperacion. La catalogacion se ha hecho utilizando el documento DOE/TIC-4602 (Rev. 1) Descriptive Cataloguing On­Line, y la clasificacidn de acuerdo con el documento DOE/TIC.4584-R7 Subject Cate­gories and Scope publicados por el Office of Scientific and Technical Information del Departamento de Energia de los Estados Unidos.

Se autoriza la reproduccion de los resumenes anal fticos que aparecen en esta publicacidn.

Este trabajo se ha recibido para su impresion en Noviembre de 1990.

Deposito legal: M-46894-1990NIRO 228-90-048-5

ISBN 84-7834-90-4 ISSN 614-087-X

IMPRIME CIEMAT

Page 4: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 5: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

NOTA DE AGRADECIMIENTO

„ Deseamos testimoniar nuestro sincere agradecimiento en primer lugar al Sr. D. JOSE LUIS RODRIGUEZ ALMAZAN, por las va- liosas sugerencias y aportacion de bibliografia con que, durante la ela- boracion de este trabajo, tan gentilmente nos ha apoyado. Tambien quisieramos hacer extensiva nuestra gratitud a la plantilla de tecnicos sistemistas del Centro de Calculo del CIEMAT, sin cuya asistencia y asesoramiento dificilmente hubieramos podido culminar este desarro- llo. Citaremos especialmente a los Sres.: ERNESTO DONOSO Y DO- NOSO, JOSE ANTONIO FABREGAS, MANUEL GIMENEZ, FERNAN­DO BLANCO, JESUS SANZ CUESTA, GABRIEL ALONSO y JESUS SANZ DE LAS HERAS por la contribucion que ban prestado sobre to- do en lo concerniente a sistemas operatives VAX e IBM.

Page 6: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 7: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

INDICE DE MATERIAS

Pag.

1. INTRODUCCION. OBJETIVO DEL TRABAJO ................................ 9

2. FUNDAMENTOS TEORICOS DEL AJUSTE FOR MC.................. 92.1. Idea central en que se basa el metodo.................................... 92.2. Polinomios optimos de ajuste por MC. Indice de bondad del ajus-

te. Pesado de los puntos experimentales ................................ 112.3. Factor de correlation no lineal................................................... 142.4. Delimitation de intervalos de confianza. Formulas de Student,

Scheffe y Miller................................................................. 152.5. Interpolation ................................................................................. 162.6. Esbozo de una variante de ajuste por MC debida a Deming. 172.7. Nociones sobre generalization del metodo de MC a mas de una

variable independiente ................................................................ 19

3. DESCRIPCION DEL PROCESADOR "AJUSTAR". DIAGRAMA DEFLUJO DEL MISMO............................................................................ 213.1. Estructuracion del procesador como programa de ordenador . 213.2. Subprogramas de empleo optional en el procesador ‘AJUSTAR’ . 21

4. EJEMPLO DE APLICACION DEL PROCESADOR "AJUSTAR" .... 23

5. REFERENCIAS BIBLIOGRAFICAS ................................................... 29

APENDICE I. Instrucciones de uso del procesador "AJUSTAR" en elsistema IBM-3090 ......................................................... 33

APENDICE II. Salidas numericas correspondientes al caso-ejemplo 38

APENDICE III. Listado en FORTRAN-77 del programa "AJUSTAR" . . 41

Page 8: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 9: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

1. INTRODUCCION. OBJETIVO DEL TRABAJO

Como es bien conocido, el metodo de ajuste basado en los minimos cuadrados (MC) es ya un clasico en el campo de la Estadistica. La paternidad de los MC debe atribuirse al insigne matematico germane K.F. Gauss, que lo concibio en sus lineas fundamentales a principios del siglo XIX. Posteriormente ha ido enriqueciendose con las aportaciones de Tchebyschev, Fisher, Pearson, Student y otros, de manera que constituye actualmente una especialidad dentro de la matematica aplicada. Al mismo tiempo que el metodo de MC iba tomando auge, se desarrollaban criterios para acotar intervalos de confianza a los ajustes, asi como se establecian una serie de teoremas acerca de las condiciones en que es licita la aplicacion de estas tecnicas minimo-cuadraticas y sobre la precision del ajuste (depen- diendo de los errores sistematicos y accidentales ligados a los datos).

Es obvio que la procedencia de la "nube de puntos” a ajustar sera, en la mayoria de los casos, experimental, aunque no se deben excluir otras posibilidades, tales como la de aproximar una funcion conocida por un polinomio algebraico en un dominio (no mediante desarrollo en serie de Taylor convencional sino por ajuste MC).

El objetivo de este trabajo es el desarrollo de un procesador de ajustes por MC que sea lo suficientemente potente, flexible (gran cantidad de opciones) e interactivo, y que permitiese un tratamiento de errores y evaluaciones de la precision de los ajustes en conso- nanciaoon lo que exige la investigation experimental. Sin pretender haber llegado a un re- sultado definitive, el procesador ‘AJUSTAR’ ya reune suficiente complejidad y generalidad co­mo para ser objeto de una publication que, por otra parte, viene a constituir tambien una exposition condensada del metodo de ajuste mmimo-cuadratico, tal como se aplica en la actualidad.

Como futuras mejoras que contemplamos para introducir en un future, citaremos las siguientes: a) posibilidad de ajustes no lineales (de momento el ‘AJUSTAR’ se limita a ajustes lineales de polinomios algebraicos e interpolation directa); b) interpolacion inversa; c) ampliation del tipo de funciones ajustables mas alia de los polinomios, y d) como un objeti­vo a mas largo plazo, crear otros procesadores, analogos al ‘AJUSTAR’, con los que se pudieran emprender ajustes de mas de una variable independiente. Este aspecto, es de con­siderable interes en campos tales como la Fluidodinamica, la Termohidraulica (y otros que involucren manejo de correlaciones de tipo semiempirico).

2. FUNDAMENTOS TEORICOS DEL AJUSTE POR MC

2.1. Idea central en que se basa el metodo

Con frecuencia en la actividad investigadora interesa describir mediante una fun­cion conocida la evolucion de un cierto experimento, o agrupar en una relation matematica observaciones estadfsticas de algun fenomeno. Los resultados de las mediciones se presen- tan siempre en forma de una coleccion de 'N' puntos (X,, YJ contenidos en un cierto dominio o zona de variation acotada entre los limites que impone la propia naturaleza del experimen­to u observation. La funcion que se desea ajustar (como representative de una hipotetica “ley” del fenomeno en estudio) es conocida salvo una serie de parametros libres; estos ulti- mos son los que interesa adecuar con el menor error posible y, para conseguirlo, se cuenta con diversos procedimientos numericos de entre los que destaca por su eficacia y sencillez el metodo de MC. Dicho metodo se funda en las ideas que vamos a exponer.

9

Page 10: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Sea Y = f(X,C1,C2,...Cn) una funcion univariante en X de forma conocida que de- pende de ‘n’ parametros libres (que son precisamente los que se trata de ajustar); entonces, dado un conjunto de ‘N’ puntos experimentales en la forma (X,, Y,), contenidos en un cierto dominio de variation, se pretende representar la eventual relacion entre las ordenadas y las abscisas mediante la funcion ‘f’ haciendo uso del metodo clasico de MC. Para ello se parte de la suma total de errores cuadraticos cuya expresion es:

E(C^,Cg, 'Cn>i=N

= E W.*[Y - i=l

[1]

en la que los W, son los pesos, adimensionales y normalizados, asociados a cad a punto del conjunto de observaciones (X,, Yj).

A la funcion de error asi construida, a efectos de determiner los parametros Cj, se le imponen ‘n’ condiciones de minimo que permiten generar el sistema de ecuaciones, que resuelve el problems:

9E i=N 3f= 0 = E W. * [ Y.-f (X. , CL , Crj, . . . C ) ] -------

3C, i=l ^ ^ ^ ^ ^ " ac.J J

[2]

De lo anterior se desprende que, para que exista una solution viable, la funcion ajustada ‘f ha de s’er continua y derivable en los parametros Cj.

La version actual del procesador ‘AJUSTAR’, como ya Memos anticipado, se halla restringida al caso en que las f(X, {Cj}) sean polinomios heterogeneos algebraicos de grado arbitrario ‘n’. En consecuencia se tendra:

j=n jf(X, (C.)) = Ec.*x [3]

3 j=Q ^

Con este tipo de funcion polinomica elegido por nosotros, tambien implicitamente, estamos limitandonos a ajustes lineales, excluyendo los "no lineales” en el desarrollo del programa ‘AJUSTAR’. Por ajustes “lineales” se entienden aquellos en que la funcion ajusta­da adopts la forma generica:

f(X,C^,Cg,------) = C^f^(X) + CgfgCX) + [4]

Si, por el contrario, ocurre que todos o algunos de los parametros Cj figuran como argumentos dentro del algoritmo funcional (vgr: f(X) = a sen(bX) siendo a y b los parame­tros), se estara en el caso de ajuste "no lineal”, el cual conducira a un sistema [2] de tipo trascendente, cuya unica posibilidad de tratamiento es por iteration (postulando valores ini­tiates para los parametros-incognitas) que no se presta a mucha generalization. En realidad cada ajuste "no lineal" puede decirse que requiere su propio metodo; esta es la razon por la cual los ajustes no lineales no se contemplen por el momento en el procesador ‘AJUSTAR’.

10

Page 11: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Con todo este cumulo de hipotesis “ad hoc” aceptadas, el sistema [2] se reduce al:

3E i=N= 0 = E[Y.

i=l

j K-ECj*(X.) ]*W.*(X.)

j =o(n+1 ecuaciones) [5]

Este sistema de ecuaciones sera evidentemente lineal con matriz asociada cua- drada de dimension (n + 1, n + 1) y ademas simetrica con lo que, si se cumplen todos los requisites para un ajuste valido, siempre estara garantizada una solution real para los coefi- cientes Cj del polinomio. Una condicion necesaria para un ajuste correcto es que en toda circunstancia debe verificarse:

N > n + 1 (6]

El ajuste tendra mas fiabilidad cuanto mayor sea la diferencia N-(n + 1); aun- que hay un limite de precision que establecen los errores asignados a los puntos experimen­tal es (Xj, Yj) y la capacidad del propio ordenador utilizado.

2.2. Polinomios optimos de ajuste por MC. Indice de bondad del ajuste. Peso de los puntos experimentales

De entre la infinita gama de polinomios a elegir en ajustes por MC, se demuestra que son los polinomios ortogonales los que menor error cuadratico global arrojan. Utilizare- mos, por tanto, dichos polinomios constituidos por las familias que cumplen la siguiente condicion:

'bp.(X)*p.(X)*dX

J a J

K^#0, si i=j;(Ki=l

0, si i/j

si estan normalizados)[7]

Entre los polinomios ortogonales, de amplia aplicacion, destacan los de Legendre, Tchebyshev, Hermite, Laguerre, etc. Los de Tchebyshev son claves en el ambito de la aproxi- macion de funciones.

Hay que aclarar, sin embargo, que la definition anterior de ortogonalidad se refie- re a ajustes continues (cuando los puntos se distribuyen continuamente en una region). Si se tiene una distribution discrete o discontinue de los puntos del ajuste, siendo este el caso que contempla el programa ‘AJUSTAFV, entonces la ortogonalidad de los polinomios se defi­ne en base al sumatorio (extendido al campo de variation total de los puntos) en vez de a la integral [7],

Una gran ventaja que deriva del uso de los polinomios ortogonales, en ajustes MC, es que los coeficientes C, pueden determinate independientemente unos de otros (de ma- nera analoga a los coeficientes de un desarrollo en serie de Fourier), sin necesidad de resol­ver numericamente el sistema lineal de ecuaciones simultaneas [5]. Es por esta razon por la que el procesador ‘AJUSTAR’ tambien se halla equipado con la posibilidad de realizar el

11

Page 12: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

ajuste MC mediante polinomios ortogonales (aunque de caracter un tanto especial), lo cual se consigue gracias a la incorporation de dos subrutinas de “software” (operando ambas en tandem) pertenecientes a la librerla MATH PACK. La suma total del error que se minimiza con el procesador AJUSTAR' es:

i=NE = E W.*[Y.

i=l j=o[8]

en que los Pj(Xj) constituyen una serie de n + 1 terminos que son polinomios ortogonales de grades ‘j’ en progresion creciente. Dichos polinomios se generan mediante la ley de recu­rrence siguiente:

P_^(X)=0

?o(X)=lP^(X)=(X-A^)*PQ(X)-Bg*P_^(X) [9]

en que:

P.^(X) = (X-A.^)*P.(X)-B.*P. _^(X)

N NEw.*x.*p.(Xi) E w.*x.*p._^(x.)*p.(x.)

Vr y B .=- [10]

N N

E VVV ?Wi*Pi-l(Xi)

Se comprueba facilmente que estos polinomios as! definidos son ortogonales.

El haber escogido esta clase de polinomios ortogonales para el procesador AJUS­TAR', ha venido motivado porque permiten un ajuste muy comodo (sin detrimento de la preci­sion de los calculos) ya que (vease ref. 1), como Memos indicado antes, la ventaja mas decisi­ve (a efectos practices) que se obtiene a partir del empleo de polinomios ortogonales, para ajustes por MC, es que los coeficientes Cj pueden obtenerse sucesivamente por recurrence, sin necesidad de resolver numericamente (inversion de matrices, tecnicas de Gauss-Siedel, etc.) un sistema simultaneo de ecuaciones lineales que puede ser dificil de manipular (sobre todo si N y ‘n’ son muy elevados).

12

Page 13: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

El “indice de bonded’’ de un ajuste por MC, se conviene tradicionalmente en eva- luarlo mediante la formula:

Este indice puede interpretarse como la desviacion cuadratica relativa media de los valores ajustados Y respecto a los observados Yj. El resultado dado por [11] debe com- pararse con el error cuadratico relative medio <Emc>intrinseco que posean los datos del ajus­te, de manera que no tendra sentido seguir afinando ( a base de incrementar el grade del polinomio por ejemplo) la precision una vez que desemboque en una situacidn tal que:

AJEmc ^ [12]

Respecto al pesado de los puntos experimentales (adjudicacion de los valores W,) se contemplan en el procesador ‘AJUSTAR’ tres alternatives:

1a) No se pesan los datos, por lo que automaticamente se hacen todos los Wj = 1.

2a) El usuario de AJUSTAR’, siguiendo sus propios criterios, introduce como datos los pesos Wj que crea convenientes. No es necesario que los mismos esten normalizados, ya que esto lo realize automaticamente el procesador.

3a) Si previamente se suministran como dato los errores relatives e = AYj/Yj de las ordenadas experimentales se calculan los pesos como potencias inversas v de aquellos, es decir:

vWl=|(l/e.)| [13]

Este criterio de pesado se ha adoptado de la ref. 2, generalizandolo (para incorpo- rarlo a AJUSTAR’), ya que en dicha publication se deja fijo el exponents en v = 2; el proce­sador AJUSTAR’ permits, como opcion, elegir un v cualquiera. Debemos no obstante sena- lar que, cuando se de una gran dispersion en la Y, experimentales (esto es, grandes dife- rencias en las desviaciones relativas de los puntos), la eleccion de un v elevado conducira a una concentracion de la “nube” en unos pocos puntos (los de peso mas elevado), siendo practicamente irrelevantes los demas. Eligiendo un v mas pequeno se conservaran mas pun­tos para el ajuste. En relacion con este particular, se ha equipado al procesador AJUSTAR'

13

Page 14: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

con una opcion extra consistente en que el usuario pueda eliminar, a voluntad, aquellos pan­tos del conjunto originario (Xj, Y,) cuyos pesos no superen un valor mmimo que especificara el propio usuario. En caso de utilizar esta ultima opcion, se igualaran automaticamente a 0 los Wj de los puntos desechados con lo que, para todos los efectos, es como si dichos pun- tos no intervinieran en el ajuste.

2.3. Factor de correlation no lineal

Como es sabido, otro parametro indicativo de la calidad del ajuste es el llamado factor de correlation g, que puede ser lineal o no lineal. Este ultimo es el que opcionalmente se calcula con el procesador ‘AJUSTAFV.

El factor de correlation no lineal se distingue del lineal simplemente en que el se- gundo va referido a la recta de regresion (cuando el grado polinomio ajustado es n = 1). El factor g no lineal es de mas generalidad que el lineal (englobando a este como caso parti­cular), ya que se refiere a un n > 1.

La interpretation cualitativa, mas comunmente admitida, del factor de correlation, ligado a un ajuste, es la de que se trata de un estimador del grado en que dicho ajuste funcio- nal (a datos empiricos) refleja la correlation o interdependencia que pueda existir entre las variables del experimento. Una manera de definir el factor g, que conduce a una formula de calculo del mismo, es la que parte de la igualdad trivial (tautologia):

i=N 2 i=N aj 2 i=N aj 2 ,,,,S - E V<VY) - E V<Y,-Y. ) + E U,(Y. - Y) 1141

en que el primer miembro es la desviacion cuadratica total de las ordenadas, Yf1 designa la ordenada ajustada correspondiente a la Xj, siendo Y la media. El primer termino del se- gundo miembro representa la componente de la desviacion total no explicada por el ajuste, mientras que el segundo termino representa la componente explicada. Entonces, con estos pre- supuestos, se define el factor de correlation g, ligado a un ajuste (que puede ser de MC o de cualquier otro tipo), como el cociente entre la desviacion cuadratica explicada por el ajus­te y la total; por tanto su expresion sera:

p

i=NEi=l

ajW,*(Y,

_ 2 Y)

i=N1=1

i*(?i Y)

[15]

obviamente, si el polinomio ajustado coincide con la recta de regresion, g sera el factor de correlation lineal. De esta definition se desprende inmediatamente que siempre se tendra -1 < g < 1. Cuando ocurra el caso poco probable de que g •= 1 estaremos ante una correla­tion perfecta entre las variables (asimilable a una “ley” exacta de causalidad). Por el contra- rio si se obtiene un g = 0 las variables son totalmente incorreladas y el ajuste realizado ca- recera de sentido.

14

Page 15: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

2.4. Delimitacidn de intervales de confianza. Formulas de Student, Scheffe y Miller

Creemos que no precede aqui insertar una exposicion detallada de la teoria de estimation por acotacion de intervales de confianza (conectada con la del "test" de hipote- sis estadisticas), ya que el tema es clasico y se encuentra en los tratados basicos sobre teo­ria del muestreo.

En esta memoria nos vamos a circunscribir solo a la descripcion de los tres proce- dimientos, o algoritmos de calculo, con los que se ha provisto al procesador ‘AJUSTAR’ para la estimacidn de intervalos de confianza al 95% de probabilidad. Estos tres metodos se ban extraido, si bien modificandolos en alguna medida, de la ref. 2 citada al final. Asi pues, se ha estructurado el procesador de forma que permita elegir un metodo entre los tres con que cuenta. Como es sabido, los intervalos de confianza revisten especial interes en los proble- mas de interpolacion, tanto directa como inversa. El procesador AJUSTAR' solamente esta preparado de momento para interpolaciones directas: dado un valor de la abscisa ‘X’ no contenido en el conjunto experimental X,, calculese, mediante el polinomio ajustado, el valor de la ordenada ‘Y’ correspondiente con los margenes de incertidumbre que se puedan verosimilmente establecer.

Las tres modalidades de intervalos de confianza que se calculan con el ‘AJUSTAR’ son las de Student, Scheffe y Miller. A continuacion reproducimos los algoritmos que las ca- racterizan teniendo presente que por Al se denota la amplitud del intervalo (en las unidades de los datos), y por a se designs la semiprobabilidad inversa que se deriva de la ecuacion: .95 = 1 *(1-2a); (por tanto a = .025, con intervalos del 95% de confianza).

/. Intervalos de Student

Se estiman mediante la formula:

st a |----------AI(X)=T * \k/ngl

ngl[16]

en que W(X) es un peso adjudicado a la abscisa de interpolacion a (raves de la expresion:

_ N _ 2W(X) = 1/N + (X-X)/Ew.(X.-X) [17]

1

T“gl designs la funcion ‘t’ de Student inversa, que en AJUSTAR’ se calcula auto- maticamente gracias a la subrutina ‘MDSTI’ de la libreria matematica IMSL; ‘S’ simboliza la desviacidn cuadratica total dada por [14]; y con ‘ngl’ se denotan los grades de libertad que, en el caso del procesador ‘AJUSTAR’, siempre estan evidentemente ngl = N — (n + 1) (nu- mero de puntos experimental menos numero de terminos del polinomio ajustado).

Los intervalos de Student se recomiendan en caso de un numero reducido de in­terpolaciones directas (no mas de 5).

15

Page 16: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

II. Intervalos de Scheffe

Su expresion es:

scfAI(X) = N

a(n+l)*F(n+l,ngl) S/ngl%\

a[18]

se denote la funcion inversa ‘F’ de Snedecor, que en el procesador AJUSTAFV se obtiene a partir de la subrutina (libreria ISML) 'MDFI'. Los sfmbolos que figuran en [18] tienen la mis- ma significacion que en [16].

Los intervalos de Scheffe son algo mas conservadores que los anteriores (de ma­yor anchura generalmente), y son adecuados cuando se pretende realizar un numero mode- radamente grande (alrededor de 10) de interpolaciones directas.

III. Intervalos de Miller

Sonjos mas conservadores entre los tres considerados. Basicamente se reducen a los de Scheffe con un termino aditivo; tienen por expresion:

millAI(X)=

scf ------------AI(X) + \|S/ngl *PN(.95)*\|ngl/CHI(a,ngl); por PN(.95) [19]

Se designan los limites de la distribucion normal entre los que esta comprendido el 95% de la masa de la misma; ya que hemos escogido intervalos con el 95%, CHI (a.ngl) representa la familiar funcion “CHI-CUADRADO” debida a Pearson (incorporada al AJUS- TAFt' mediante otra subrutina de la libreria IMSL: la ‘MDCHI’).

Los intervalos de Miller se recomiendan para tandas elevadas de interpolaciones directas (mas de 10), y en todos los casos de interpolacion inversa.

2.5. Interpolacion

Por la importancia que reviste el tema de la interpolacion, hemos decidido consa- grarle un subapartado en esta memoria. Como es sabido hay dos formas de interpolar pun- tos (que no figuren en el conjunto (X,, Yj) con el que se ha efectuado el ajuste polindmico): 1a) la directa, que esquematicamente consiste en calcular la Y sustituyendo la X en la ecua- cion f(X) ajustada; y 2a) la inversa, que consiste en calcular la X dado el valor de Y con ayuda de la funcion inversa del ajuste f "1(X). Tanto las Y como las X seleccionadas para interpolar deben hallarse dentro del dominio de validez del ajuste. Al procesador AJUSTAFV ya hemos indicado que solo se le ha dotado, por ahora, con la posibilidad de interpolacion directa. La interpolacion inversa es mucho mas engorrosa en lo que se refiere al calculo ya que, al no ser en general facil determiner la H(X), se hace necesario recurrir a metodos numericos de aproximaciones sucesivas (tales como el de Newton-Ftaphson que permite hallar las raices reales de la ecuacidn f(X)—Y = 0, por medio de la tangente (f (X)). La interpolacion inversa presenta interns en algunos casos como, por ejemplo, el recalibrado de la curve de medida,

16

Page 17: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

correspondiente a un determinado aparato, y que se hay a evaluado mediante un ajuste pre- vio. Cuando la abscisa X, o la ordenada Y, elegida para interpolar, esta fuera del campo de validez de ajuste, se tratara entonces de extrapolation (directa o inverse tambien) que resulta mucho mas arriesgada (salvo en casos de muy alta correlacion de los datos) desde el punto de vista del error; tampoco se incluye la posibilidad de extrapolacion en la version actual del AJUSTAR’.

Las incertidumbres de los valores interpolados derivan de la del propio ajuste reali- zado, a traves obviamente de los I (mites de confianza que se le ban trazado (los intervalos de confianza). A fin de aclarar las ideas se ha intentado visualizar mediante la figura 1 (1a para la interpolacion directa y 1b para la inversa) la forma en que se estiman en base a las dos curvas de confianza (por exceso y por defecto) los errores de los resultados interpolados.

Entonces el esquema adoptado en el procesador ‘AJUSTAR’ para interpolacion di­recta es, a grandes rasgos, el siguiente: una vez especificadas por el usuario (maximo de 15) las abscisas de los puntos que desea interpolar, se sustituyen estas en la f(X) ajustada (polinomio de grado n) para obtener las Y; despues se pide al usuario que seleccione uno de los tres tipos de intervalo de confianza descritos anteriormente (por defecto se toman los de Miller, ya que son los mas conservatives); hecho esto se procede a la aplicacion de las formulas [16], [18] 6 [19] a cada abscisa de interpolacion X, determinandose as! las incerti­dumbres de las Y con el 95% de probabilidad.

' Creemos que vale la pena observar que existe tambien la posibilidad de interpola­cion (directa e inversa por este conducto) aprovechando naturalmente las curvas de la salida grafica que, opcionalmente, proporciona la operacidn del procesador ‘AJUSTAR’. El procedi- miento de interpolacion grafica se deduce facilmente al examinar la figura 1.

2.6. Esbozo de la variants de ajuste por MC debida a Deming

Aunque esta variants de ajuste debida a W.E. Deming (ref. 2 y 3) no es muy cono- cida, y tampoco se ha implementado en el ‘AJUSTAR’, hemos creido oportuno dar unas ideas sobre ella a modo de anticipo de eventuates mejoras futuras al ‘AJUSTAR’.

En el metodo de Deming, en lugar de la expresidn [1], se minimiza la mas general para la suma de desviaciones cuadraticas:

(AX. = X.' -X.)l li

E(C.) E [Wy.*(Y.-f(X.,Cj)) + (AX.)*^. [20]

evidentemente esta expresidn del error total contiene como caso particular la clasica [1], cuando los Wxi, que son los pesos asociados a las abscisas X, (asi como los Wyj son los pesos atribui- dos a las Yj experimentales), sean todos nulos.

La novedad del metodo de Deming estriba en introducir en el edmputo del error global las incertidumbres (AXJ de las abscisas experimentales, como se observa en [20]. Aqui,

17

Page 18: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

yi + s,

a) interpolacion directa

b) interpolacion inverse

Fig. 1

Modos de interpolacion

18

Page 19: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

el sistema de ecuaciones generado, al derivar respecto a los parametros, constara de mayor numero de incognitas; estas seran ahora los ‘n’ parametros Cj de la funcion mas las X’| de ios terminos extra de incertidumbre; con lo que, en general, dicho sistema no sera lineal ni aim cuando la f(Xj, {Cj}) sea un polinomio algebraico. Esto ultimo implica que la aplicacion del metodo de Deming sera mas dificultosa (desde el punto de vista del calculo numerico); aunque desde luego tenemos conocimiento de que funcionan ya algunos codigos de orde- nador con el metodo de Deming (vease ref. 2), pero se ban desarrollado preferentemente para ordenadores personales y admiten solamente una gama muy reducida de funciones de ajuste (unas 10 6 12 por lo que Memos podido averiguar). Ademas el comodo artificio que supone el empleo de polinomios ortogonales, segun lo que Memos expuesto en parrafos pre- cedentes, no parece que en esta variante de ajuste, debida a Deming, sea factible.

2.7. Nociones sobre generalization del metodo de MC a mas de una variable independiente

Ya habra quedado patente que el procesador 'AJUSTAR' solo sirve para ajustes de polinomios en una sola variable independiente. Pero el metodo de MC es perfectamente generalizable a dos o mas variables independientes y, de hecho, proyectamos en un future desarrollar nuevas versiones de procesador que permitan ajustes por MC de polinomios he- terogeneos algebraicos en mas de una variable. Aqui nos contentaremos con dar unas ideas directrices sobre el ajuste multivariante por MC. Nos limitaremos, en nuestra exposicion, al caso de ajuste de polinomios heterogeneos de grado ‘n’ y de numero y. de variables. El ajuste siempre resultara lineal en estas condiciones, asi como el sistema de ecuaciones que se ge- nere. El numero total de terminos (coincide con el de incognitas del problema) que compon- dran el susodicho polinomio de ajuste vendra dado por la formula:

n+p (n + y)!Z(n,y) = C = [21]

P yin!La matriz del sistema de ecuaciones lineales que caracterice el problema del ajus­

te por MC sera logicamente de dimension (Z,Z) tal que, cuando los ‘n’ y n sean suficiente- mente elevados (aunque sea moderadamente), tomara valores prohibitivos desde el punto de vista de exceder la capacidad del ordenador para el tratamiento numerico. Esto ultimo constituye la principal limitacion con que se tropieza al desarrollar procesadores para ajustes MC en varies variables independientes. Para poder apreciar un poco mas directamente la envergadura de esta dificultad, se inserts a continuacion el cuadro 1, donde se Man recogido algunos valores de [21].

CUADRO I

(se fija /x = 7)

Grado (n) Num. var. (p) Num. term. (Z)

12345678 9

777777777

836

120330792

171634326435

11440

19

Page 20: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Desde luego, en la practice, para ajustes multivariantes per MC, bastara en multi- tud de cases con n <4 y ^ <4, por lo que quiza no haya que preocuparse excesivamente por el tamano del sistema de ecuaciones.

El polinomio de ajuste en ^ variables y gratio ‘n’ se podra expresar en notacion compacta como:

1112 P-1Y=$(X^,X^, x )=EEE..Ec(i^,i

(i- (i0 0 0 0 2’ V*

-io) 2 3.*X 'P [22]

Por analogia al caso de una sola variable el error cuadratico global de que se par­te, para el ajuste MC del polinomio [22], es:

E(Cj) =

i=N

1=1[23]

El proceso subsiguiente de generar el sistema lineal de las Z(n,^) ecuaciones sera identico al ya visto para una sola variable, por lo que aqui no lo repetiremos. Toda la diferen- cia que pueda existir, como ya se ha indicado, es meramente cuantitativa, al aumentar (con el paso a mas de una variable independiente) el numero de incognitas a determiner, y por tanto tambien el de puntos experimentales (X-|, Xg-.X^, Y), de manera que siempre se satis- faga evidentemente la inecuacion:

N > Z(n,p) ; que es la generalizacion de [6] [24]

El calculo de factores de correlacion multiple (para ajustes multivariantes) se abor- dara por los metodos ya disponibles, y que no consisten mas que en una extension de los existentes para una sola variable aunque ahora entraran en juego los llamados factores de correlacion parcial tal como se definen clasicamente en los textos de Estadlstica Aplicada. Sin embargo, una dificultad mas seria (cuando se abordan los ajustes MC en mas de una variable independiente) se presenters a la hora de estimar intervals de confianza (que aqui seran areas, volumenes o “hipervolumenes"), ya que, segun las informaciones que posee- mos, no existe la herramienta matematica necesaria, la cual esta aun por desarrollar (y ade- mas en esta Question no caben generalizaciones por analogia tan sencillas como las anterio- res mencionadas). Aqui de momento nos conformamos con enunciar el problema que, abu- sando un poco del lenguaje, denominaremos de los “hiperintervalos de confianza”. Tal vez para un future hayamos logrado avanzar algo en este particular, siempre con la mira puesta en mejorar nuestro procesador AJUSTAR'.

20

Page 21: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

3. DESCRIPCION DEL PROCESADOR ‘AJUSTAR’. DIAGRAMA DE FLUJO DEL MISMO

3.1. Estructuracion del procesador como programa de ordenador

El procesador ‘AJUSTAR’ ha sido concebido como un programa de ordenador de funcionamiento interactive (en el argot de los informaticos un procesador asi se suele llamar “maquina”). Componen el ‘AJUSTAR’ un programa principal y siete subrutinas, aunque tam­bien intervienen en el papel de auxiliares tres subrutinas ya citadas, en relation con la esti­mation de los limites de confianza (las ‘MDSTI’. ‘MDFI’ y ‘MDCHI’ tomadas de la libreria ma- tematica IMSL), asi como otros muchos recursos contenidos en las librerias graficas DISS- PLA y TEMPLATE (incorporadas como facilidades de representation optional de resultados).

Durante la operation del procesador, al modo interactive, van apareciendo en la pantalla del monitor (naturalmente conectado al ordenador) una secuencia de preguntas re- ferentes a los datos necesarios para el calculo, asi como las opciones que el usuario puede pulsar. Se ha procurado que la entrada de datos, mediante este sistema de preguntas y res- puestas, sea lo mas simple y autoexplicativa posible, de manera que ‘AJUSTAR’ se encuentra tambien al alcance de usuarios poco o casi nada compenetrados con el sistema operative del ordenador (IBM, VAX-DIGITAL, etc...). La lectura de datos es en formato libre (natural­mente el procesador ‘AJUSTAR’ se ha desarrollado en lenguaje FORTRAN-77), ofreciendose a los usuarios escoger entre introducir los datos basicos del ajuste (esto es, los puntos expe­rimental, los errores asociados a las Y, y los pesos que afectan a estas) directamente por pantalla, o bien mediante un fichero particular donde esten almacenados. Lo mismo rige pa­ra las salidas de resultados numericos. Evidentemente la option de lectura mediante fichero sera de gran utilidad cuando el numero de puntos (Xj, Y,) sea elevado. Los calculos numeri­cos transcurren, como es de suponer, en doble precision.

El “nucleo" del AJUSTAR’ esta integrado por 4 subprogramas; a saber: a) el pro­grama principal AJUSTE’ cuya finalidad son las operaciones de lectura de datos y opciones e impresion de resultados (asi como las transferences de control pertinentes a los demas subprogramas); b) la subrutina ‘AJUPO’ estrechamente asociada con sus dos auxiliares ‘COEFS’ y ‘ORTHLS’, ambas tomadas de la libreria matematica MATH PACK (despues de ha- berlas modificado convenientemente) que, como se dijo, funcionan en tandem. Estas tres su­brutinas son las encargadas de los calculos de ajuste (por MC) propiamente dichos en base a los polinomios ortogonales del tipo definido por la relation de recurrence [9]. El objetivo prin­cipal en esta etapa de la ejecucion de AJUSTAR’ es por supuesto la obtencidn de los (n + 1) coeficientes Cj del polinomio (grade ‘n’) ajustado. El grado ‘n’ del polinomio a ajustar es un dato de entrada que, por lo regular, el usuario de ‘AJUSTAR’ ya habra decidido. No obstante, en aquellos casos en que no se tenga preference por un grado concreto, se ha incluido la posibilidad de que el procesador parta de n = 1 y sucesivamente vaya ajustando polino­mios de grado creciente (n = 1,2,3...), deteniendose este proceso de incremento de ‘n’ cuando el ultimo polinomio ajustado verifique [12], ya que ir mas alia de la precision de los puntos experimentales en el ajuste carece de sentido.

Tambien se detendra la busqueda cuando se viole la condition [6]. Es un requisite necesario para poder utilizer con garantias esta ultima facilidad el de que se suministre el AJUSTAR’ una aceptable evaluation (y esto es de la responsabilidad exclusiva del usuario) del error cuadratico relative promedio < Emc > asociado a los puntos experimentales (Xj,Y;).

3.2. Subprogramas de empleo opcional en el procesador ‘AJUSTAR’

Ademas de las subrutinas basicas citadas anteriormente se han incorporado en el AJUSTAR' otras cuatro que entraran en operation si el usuario se decide por la option

21

Page 22: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

correspondiente. Dichas subrutinas (que podriamos calificar de complementarias) son las de- nominadas 'FACTOR', ‘TRI’, 'EXTRAP', y ‘REPRE’. A continuacion haremos un breve comen- tario sobre la misidn de cada una de ellas.

— Con la subrutina ‘FACTOR’ se realizan el calculo del factor de correlacion g apli- cando el algoritmo [15]. A menos que se hay a optado por un polinomio de gra­de n = 1 (recta de regresion), el factor g estimado sera, como ya se dijo, el “no lineal", de mayor generalidad.

— La subrutina ‘TRI’, aunque no interviene propiamente en el calculo de los coefi- cientes Cj, puede considerarse importante ya que mediante ella se transforman las coordenadas (X„Y,) segun la eleccion de algoritmo de transformacion, para cada coordenada por separado, que el usuario previamente hay a hecho. El do- tar a nuestro procesador con la posibilidad de cambios de variable supone, evi- dentemente, una ampliation substancial del espectro de ajustes funcionales po- sibles mediante 'AJUSTAR'.

Se permite seleccionar entre 6 tipos de transformacion para cada variable; con lo que se tendra un total de 6 x 6 = 36 combinaciones posibles de transforma­tion de las dos coordenadas; aunque ha de tenerse "in mente", en relacion con los cambios de variables, que cuando estos afecten las Y, empfricas, tam- bien afectaran a los errores (AY,) con los que las mismas se hayan medido; por tanto habra que transformer adecuadamente los (AY,) y esto es algo que no se realiza automaticamente en 'AJUSTAR', sino que se deja al criterio del usuario. A continuacion se inserta el cuadro II, donde se han dispuesto, con su numero de orden (que es el que el usuario debe introducir, para cada coor­denada independientemente, cuando se le requiera como dato durante la ope- racion del ‘AJUSTAR’) las 6 transformaciones opcionales con que se ha equi- pado al procesador.

CUADRO II

(Z’ es la transformada y Z la original: % ‘b’, ‘c’ son reales)

Transf. N°... Denomination Algoritmo definidor

012345

Identidad Log. Decimal

Log. NeperianoPotential

LinealExponencial

Z' = ZZ' = iog(aZ + b) Z' = ln(aZ + b) Z' = (aZ + b)c Z' = (aZ + b)Z' = exp(aZ + b)

Observese que, Idgicamente, excepto la transformacion nula o identidad, todas las transformaciones van combinadas con la lineal (4) de manera que, a menos que a = 1 y b = 0, cada transformacion equivaldra de hecho al producto de dos, lo cual sin duda contri- buye aun mas a aumentar la potencia del procesador ‘AJUSTAR’. Corre a cargo del usuario la revision previa de sus datos (Xj,Y,) a la hora de elegir algun cambio de variable de los que figuran en el CUADRO II; a veces puede suceder que alguna transformacion no pueda apli- carse sin provocar la interrupcion de la ejecucion por errores graves; ejemplos tipicos pue- den ser: logaritmos de cantidades negativas o nulas y divisiones por cero (cuando se tome un c < 0).

22

Page 23: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

— La subrutina ‘EXTRAP’ es la encargada de los calculos opcionales de interpo- lacion directa sobre aquellas abscisas (maximo de 15) que el usuario especifi- que previamente (introduciendolas a (raves del terminal-monitor). Paralelamente a las interpolaciones se I leva a cabo la acotacion de los intervales de confianza (de Student, Scheffe, o Miller segun la eleccion que se hay a hecho) correspon- dientes a los puntos interpolados y tambien, y esto ya no es opcional, se esti- man los intervalos de confianza correspondientes a los ‘N’ puntos utilizados en el ajuste, que se imprimiran obligatoriamente a la salida. En relation con esto ultimo se debe tener en cuenta que los ‘N’ puntos del ajuste no van a ser en general todos los originarios (X;,Y;) brutos de que se partio, sino que en mu- chos casos habran disminuido en numero si se ha desechado (por bajo peso, segun lo explicado en 2.2) un cierto subconjunto f de ellos, por lo que el nume­ro efectivo de puntos que intervendran en el ajuste sera pues (N’ = N — f).

— La subrutina ‘REPRE’ es la que, una vez activada la opcion pertinents, se hace cargo de la representation grafica de los resultados. Se han desarrollado dos variantes de la misma: una de ellas se basa en la libreria grafica DISSPLA, y la otra en la libreria TEMPLATE. Recomendamos la version DISSPLA por la mejor calidad de dibujo que ofrece (dicha version se halla implementada en el ordenador IBM-3090 de este Centro; la version con TEMPLATE se encuentra adapted a al sistema VAX-DIGITAL).

„ El grafico final que se obtiene, tras activar la opcion de representar, hemos in- tentado que sea de facil interpretation y no excesivamente recargado. Consists basicamente en la curva representative del polinomio (grado ‘n’) ajustado, que aparece flanqueada por otras dos curves (superior e inferior) correspondientes a los limites de confianza del 95% estimados para cada punto del conjunto N’ = N — f (los puntos que netamente estan involucrados en el ajuste MC, como se apunto antes). Aparecen tambien disperses en el grafico los puntos originales (Xj,YJ con el simbolo ' + mientras que los efectivos se marcan con el simbolo ‘x’ (ambos simbolos se superpondran obviamente en los puntos efectivos).

Si se han efectuado algunas interpolaciones, posteriormente al ajuste, estas se indicaran tambien en el grafico como intersecciones de la curva ajustada con las verticales trazadas desde las abscisas especificadas para interpolar.

Por fin, como remate de esta tercera section y con el proposito de fijar ideas, se ofrece en la figure 2 el diagrama de flujo u organigrama simplificado del procesador ‘AJUS- TAR' en su estado actual; asimismo en el APENDICE III se ha incluido el listado complete del procesador ‘AJUSTAR’ en FORTRAN-77.

4. EJEMPLO DE APLICACION DEL PROCESADOR ‘AJUSTAR’

Como una ilustracion de lo que puede ser la aplicacion del procesador ‘AJUSTAR’ hemos elegido las mediciones efectuadas en un experimento que efectivamente tuvo lugar. Dicho experimento consistio en estudiar la variation de fragilidad con la temperature (varia­ble independiente) de una muestra de material irradiado en un reactor nuclear hasta cierta dosis. La fragilidad se caracteriza por el valor de la llamada “energia Charpy” expresada en KJ.; la temperatura se express en grados centigrados. Los resultados del experimento se resumen en el cuadro III donde se tabulan los 39 puntos (las X son las temperaturas, las Y energies) observados. En la tercera columns se consignan los errores absolutos atribuidos en el experimento a las energies Charpy (ordenadas experimentales).

23

Page 24: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Fig. 2Diagrama de flujo del procesador ‘AJUSTAR’

TECLEAR 1N0E- PENOIENTEUENTE

NORUALIZAOO

H >Q

CORRElACIONP

IMPREStOH DE

LOS ERRORE9 AY,

CUAORATICO MEDIO

DEL AJUSTE

ELEOIR TIPO DE

FORUACtOHES DC HV NXi NY •

LECTUAA OBLI- QAOA OE LOS Wj ASIONAOOS POR EL USUARIO

TRAS 1LIUIHAR

PUNTOS REHOR-

UALIZAR

AJUSTE POR MC POL1NOMIO OR ADO N.MEDIANTE IDS POUNOMIOS OR TO' OONALES /»/

AJUSTE DEL POLI NOMlO DE UC,

DATOS FUNDAHENTALES- Nf OE PUN 70S N:

- PUNT09 6RUT0S l*|, r, J- ERAORE3 AY, (OPTIONAL)- PESOS W, tOPCIONALl- ERROR EXPERIMENTAL CUADRA-

TICO UEOfO

— OPCION DC LECTURA Y ESCRI- TURA, (PANTALLA 0 FICHERO)

-PESADO, OW

— CON OW* SI, OPCION CW PARA ELEOIR UOOO DE PESADO

— FACTOR OE CORRELACION, OFC— TIPO OE TRANSFORUACICW DE

VARIABLES (NX, NY)— INTERPOLAC ION, OIN— TIPO DC INTERVALO DC CON-

FIANlA OCF tMILLER, SCNEF* FE 0 STUDENT)

— REPRESENTAOON ORAFICA ORCP

24

Page 25: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Se ejecuto el procesador ‘AJUSTAR’ en dos sesiones de calculo: la primera para ajustar un polinomio de grade n = 4 a los dates del cuadro III, y la segunda para ajustar la recta de regresion (n = 1) a esos mismos dates.

CUADRO III

(Tabla de puntos experimentales para el ajuste)

|X (Temperatures, °C) |Y (Energias, KJ) |EY (Errores absolutes de Y)|

-50 82.4 .033—50 79.4 3.0-50 85.3 2.9-40 82.4 1.3-40 69.6 11.4-40 91.2 10.0

80 157.9 .3380 158.9 .6780 157.9 .33

-25 82.4 15.4' -25 107.9 5.2

-25 103.0 10.020 173.6 36.020 126.5 11.020 111.7 26.0

-56 69.6 14.0—56 36.8 19.0-56 61.3 5.4-74 8.82 20.0-74 48.1 20.0—74 28.4 .04—46 12.23 26.0-46 63.85 26.0-32 46.19 20.0-32 54.34 11.0—32 96.45 31.0-18 123.6 21.0—"18 165.7 21.0-12 104.6 28.1—12 144.0 11.0-12 149.4 17.0

10 173.9 19.010 211.9 19.038 195.6 2.038 199.7 2.066 211.9 15.093 203.8 6.193 205.1 4.893 220.8 11.0

25

Page 26: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Las opciones seleccionadas en ambos casos fueron: a) lecture de dates e impre- sidn de salidas en ficheros creados "ex profeso"; b) cambio de variable afectando a las X que se convirtieron en temperatures absolutas mediante la transformation 4 (cuadro II): X’ = X + 273 (para las Y se eligio la transformation nula, N° 0); c) pesado de I os datos con los Wj proporcionales a la primera potencia del inverse del error (v = 1); d) elimination, a efectos de consideration en el ajuste, de aquellos puntos cuyo peso este por debajo de 10 -3; e) calculo del factor de correlation q para los dos polinomios ajustados; f) interpola­tion usando los intervalos de Miller; g) representation grafica de salidas empleando la libre- rfa DISSPLA implementada en el sistema IBM-3090 del Centro.

Con este conjunto de opciones operatives se obtuvieron los resultados numericos, para ambos ajustes polindmicos, que figuran en el apendice II de esta memoria; el cual en realidad no consiste en otra cosa que las salidas numericas tal y como se imprimieron. En las figures 3 y 4 se muestran las graficas de los ajustes realizados como se generan con la subrutina ‘REPRE’ ya mencionada.

Se ha incluido tambien el APENDICE I donde se explican esquematicamente las instrucciones de manejo del procesador AJUSTAR’ de acuerdo con el sistema operative vi- gente (CP-CMS) actualmente para el ordenador IBM-3090.

26

Page 27: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

o'11 u

tjssio *x*tf*H

*3*i*3 * canws-aor

066i 'oti vz

iai wzo'ii

AJUSTE MINIMO-CUADRATICO DE POLINOMIO

Fig. 3

Representation del polinomio ajustado para n = 4

r

1ir..9292.5TDIPERflTURnS

CLOVE IHTERPRCTnriVA

o- "-Limes"cctafWNzm oa asz

X- —PUNTOS CTECTIYOS DEL fiJUSTEo - —puhios tNTomfloos

27

Page 28: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Fig. 4Representation del polinomio ajustado para n = 1

AJUSTE MINIMO-CUADRATICO DE POLINOMIO

CUtVC INTCRPRCTflTIVAd- —Ecueciw ajustaoaO------LIMTES DE COflRNZfl DEL 9S%A----- UNITES DE CCNflAMA DEL 9SX4-- —PUMOS DEL AJUSTE BRUTOS X- —PUMOS ETECTIVOS DEL AJUSTE O----- PUMOS IHTERPOLflOOS

28

Page 29: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

5. REFERENCES BIBLIOGRAFICAS

(1) Manual de la libreria matematica MATH-PACK. Publicacion de la firma UNIVAC para el sistema SPERRY-UNIVAC 1106 (ano 1978).

(2) “A curve-fitting package for personal computers”. Por P.M. Rinard y A. Goldman. Los Alamos National Laboratory (1988). LA-11082-MS;Rv. 1.

(3) “Statistical adjustment of data". Por W.E. Deming. Libro publicado por Wiley & Sons, New York (1948).

(4) “Linear functions, differing weights, and nonlinear least squares”. Los Alamos Scientific Laboratory report LA-5116 (1973).

(5) “Fitting equations to data”. Por C. Daniel y F.S. Wood. Wiley-lnterscience, New York (1971).

(6) “Statistical methods”. Por G.W. Snedecor y W.G. Cochram. Iowa State University Press, Ames, Iowa (1980).

(7) “Metodos estadisticos”. Por Sixto Rios. Ed. Del Castillo. (1967).

(8) “AdUSTE VO: un programs interactive de ajuste de datos". Por J.J. Sanchez Mird y J. Pena Gutierrez. Boletin Informatico del Centro de Calculo del CIEMAT (N° 13). Madrid(1989).

(9) “Method of least squares”. Por Y.V. Linnik. Pergamon Press; (1961).

(10) “Descripcion del programs ‘AJUSTE’ desarrollado para ajustes M.C. en dos variables independientes”. Por J.J. Sanchez Mird. Boletin Informatico del Centro de Calculo delCIEMAT (N° 3); (1988).

29

Page 30: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 31: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

APENDBGES

Page 32: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 33: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

APENDICE I

Instrucciones de uso del procesador ‘AJUSTAR’ en el ordenador IBM-3090

El programa fuente en FORTRAN-77 y el objeto (tipo TXT) del procesador‘AJUS­TAR’ se encuentra a disposition del publico en el minidisco-directorio ‘MATHSTAT’ al que el usuario puede acceder facilmente introduciendo el consabido comando:

'GIME MATHSTAT’.

Otro requisite indispensable es la conexion con la libreria matematica IMSLmediants:

‘GIME IMSL’ (todos estos comandos pueden incluirse desde luego en el fichero ‘PROFILE’, o algun que otro ejecutable, de la cuenta del usuario).

Con objeto de incorporar la libreria grafica DISSPLA son necesarios los comandos:

'GIME GUASP''GIME DISPLA1T.

Previamente a estas instrucciones el usuario debera, a tin de evitar interrupciones por falta de capacidad, ampliar la memoria virtual de su minidisco (se recomiendan 6 me­gabytes) mediants la instruccion de sistema CP:

‘DEF STOR 6M’; inmediatamente despues de esta debera emitir la

‘ I PL CMS IBM' (para volver al sistema CMS).

Una vez satisfechos los requisites anteriores se podra ya ejecutar interactivamente el procesador ‘AJUSTAR’ mediants el comando:

‘DISLINK11 AJUSTAR (IMSL; tras crearse el ejecutable mediants esta instruccion empezaran a aparecer en la pantalla las preguntas al usuario sobre los datos, opciones que desea, etc... (esta fase no requiere explicaciones dada su sencillez). El usuario no tiene mas que seguir las indicaciones y preguntas que va recibiendo.

Lo que si es importante aclarar es que, si se opta por introducir los datos mediants fichero propio, entonces dicho fichero debe denominarse fijamente (por razones de programacion):

'FILE AJUSTO A';

los datos que se deben almacenar en el, a formato libre, son: las X,, a continuacion las Y,, despues y opcionalmente los errores (absolutes) AY, que se atribuyen a las Vs, en ultimo lu- gar (tambien opcionalmente) deben colocarse los factores de peso Wi (si el usuario prefiere asignarlos en vez de dejarlo a cargo del propio procesador ‘AJUSTAR’ aplicando [13]).

Una vez terminado el proceso de calculo, si.se ha optado por representacion grafi­ca, entonces mediante el comando:

‘BPOSLAS AJUSTAR DATA A’

se activara la impresora LASER donde se generara el correspondiente grafico.

El fichero opcional para grabacion de las salidas numericas de ajuste, debera lla- marse obligatoriamente en todos los casos (por razones de programacion tambien):

'FILE SALIDA A'.

33

Page 34: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 35: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

APENDICE II

FILE: FILE(Salidas numericas para n = 4)

SAMOA AI VM/SP CONVERSATIONAL MONITOR SYSTEM

LOS PUNTOS DRUTOS PARA EL AIUSTE SON: 3V

X = -.5000E402 Y = 0.8240E4M2 X - -.5000E + 02 y - 0.79A0E 012 X - -.5000E+02 Y ^ 0.0530Ei"2 X = -.4000E f02 Y = 0.8240EIH2 X - -.4000EE02 Y = 0.6960F. H'2 X = -,4000E+02 Y = 0.9120E H'2 X = 0.8000E+02 Y = 0.1579EH3 X = 0.8000K+02 Y = 0.1589EH3 X = 0.8000E+02 Y - 0.15 79E403 X = -.2500EK12 Y - 0.8240E-I02 X = -. 2500F.4-02 Y ~ 0. 1079E--03 X = -. 25 OOF. 4-02 Y - 0.1030lvl0 3 X = 0.2000F.+02 Y - 0.1736E+03 X = 0.2000E+02 Y = 0.1265E+03 X = 0.2000E+02 Y - 0. U 17F.4-0 3 X = -. 5600E4-02 Y - 0.6960F.401 X = -.5600E-1 02 Y = 0.3680E40?X = -.560QE+02 Y = 0.6130F.4OR X = -.7400E402 Y = 0.88201:40 1 X = -.7400E4 02 Y = 0.48101:4 0:'.X = -. 7400F.4-02 Y = 0.28401:40 '.X = - .46001:4 02 Y = 0.1223F.+ 02 X = - . 4600F.+02 Y = 0.6385F. K)::X = -.32001:4-02 Y = 0.4619F.+0:X = - .3200E4-02 Y = 0.5434E+0:X = -.3200E+02 Y = 0.9645EF02 X = -.1800E+02 Y = 0.]236E+03 .X = -.1800E+02 Y = 0.1657E+03 X = -.1200E4 02 Y = 0.1046E H)3 X = - . 1200E4-02 Y = 0.1440EH13 X ^ -. 1200E4-02 Y = 0.1494EKI3 X = 0.1000E4-02 Y - 0.1739F.403 X = 0.1000E+02 Y = 0.2L19EI-03 X = 0.3800E+02 Y = 0.1956K403 X - 0.3800E4-02 Y = 0.1997K403 X = 0.6600E+02 Y = 0.2I19K403 X == 0.9300E402 Y = 0.2038R403 X = 0.9300E4-02 Y = 0.2051E403 X = 0.9300E402 Y = 0.2208R403 LOS 39 F.RRORES ASOCIADOS A LAS Y(1) SON:I)Y = 0.3300E-0 10.3000E4 010.29 ( 0E+010 . I 300E4-010.1 140E 1-020 . 1000E4-020.3300E+00I)Y = 0.6700E+000.3300E4000.1)AOEF020.5200R40IO.IOOORI020.3600E+020.1IOOEI02MY = 0.2600E4-020.1400E4020.1900EF020.5400E40I0.2000EI020.2000E+020.4000E-01 MY = 0.2600E+020.2600E4020.2000KT020.1100R4020.3100E4020.2100E+020.2100ET02 MY = 0.2810E4020.1lonE+020.l700KI020.1900E4020.1900E40202000K+0]0.2000K+01MY = 0.1500E4 020.610OE+01 0.4H00E4-01.0 . .1 1D0E402

COEFICIF.NTF.S A(I.) MEL AJUSTE POL I NON ICO0.11797BE+05 --- A( 0) -.188720E403 --- A( 1) 0.109815E+01 --- A( 2) -.274376E-02 --- A( 3)

35

Page 36: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: FILE SAL] DA A1 VH/SP CONVERSATIONAL MONITOR SYSTEM

0.2500888-05 --- A( 4)I X'FRA(l) YntA(I) YAJU) 8881.(11 FYI(I)

1 0.2230F.4D3 0.82408402 0.80678)02 0.21468-01 0.40058-032 0.2230F.I03 0.7940F.4 02 0.80678)02 0. 15738-01 0.37788-013 0.22308R03 0.8.53084 02 0.80678)02 0.57418-01 0.34008-014 0.23308R03 0.82408402 0.10768103 0.23448400 0.15788-015 0.23308)03 0.69608402 0. 10768103 0.35338+00 0.16388+006 0.2330EHJ3 0.9.120E-I02 0. 10768103 0.15268+00 0 . 10968+007 0.35308F03 0.15798.4 03 0.16168103 0.22748-01 0.20908-028 0.35308)03 0.15891-403 0.16168)03 0.16558-01 0.42168-029 0.35308103 0.15798+03 0.16161-103 0.2274K-01 0.2090E-02

10 0.24808+03 0.82401-402 0.14558403 0.43381:400 0.18698+0011 0.24 80F. 1-03 0 . ] 079E4 0 3 0. 14558+03 0.25868+00 0.48198-0112 0.2480E403 0.10308+03 0. 1455F.4 03 0.29228+00 0.07098-0114 0.29 30EI03 0 . 1 2658+03 0. 19378403 0.34708+00 0.86968-0110 0.21 7 OF. l 03 0.6130E402 0.65 16F.4 0 2 0.59238-01 0.88098-0121 0.19908-1 03 0.28408402 0.298984 02 0.49738-01 0.14088-0227 0.255084 03 0.12368403 0. 1.60584 03 0.22978+00 0. 1699840028 0.25508403 0.1657E403 0.1605E403 0.32808-01 0.1267840030 0.26108+03 0. 14408+03 0. 1.7 148+03 0.1596F.+00 0.76398-0131 0.26108+03 0. 14948+03 0. I 7 1484 03 0.12798+00 0. 1 1.388+0032 0.28308+03 0.17398+03 0.19338403 0.10028+00 0.10938+0033 0.28308+03 0.21198+03 0. 193384 03 0.96628-01. 0.89658-0134 0.31108+03 0.19 568+03 ). 182884 03 0.70198-01 0. 10228-0135 0.31108+03 0.199 78+03 ).182884 03 0.9 2518-01 0. 10628-0136 0.33908+03 0.211.98+03 0. 159084 08 0.33288400 0.70788-0.137 0.36608+03 0.2038E+03 0.18578403 0.97338-01 0.29938-0138 0.36608+03 0.2051E+03 U.18578+03 0.10468F00 0.23408-0139 0.36608403 0.22088+03 0.18578+03 0.18888400 0.49838-01

ERROR CUADRATTCO MEDIO DEL AJUSTE:0.18968+00ERROR D8 LOS DATOS (F.SPF.CIF"CADO FOR 81, USUAL 10) : 0.853 1 8-0 1 NUMERO DF. TUNTOS 8LIM1NAD0S (ANULANDO SU PESO) = 12VALOR A8S0LUT0 DEL FACTOR 1)8 C0RR8LAC 10N~0.984 738 H)()TABLA X(I),Y(T),YA.I(I),CONF(I).LOS CONF(I) SON LOS 1NTERVAL0S 1)8 CONFIANZA 8STIMAD0S PARA LAS Y(T).0.22308+03 0.82408+02 0.80678+02 0.39748+01 0.2230E+03 0.79408+02 0.80678402 0.39748+01 0.22308+03 0.853084-02 0.8067E+02 0.39 7484 01 0.23308+03 0.824084-02 0.10 /68+03 0.407.7840t 0.23308+03 0.69608+02 0.1046E+03 0.40:7784 01 0.23308403 0.91208102 0.10768+03 0.402.78401 0.35 308+03 0.15798403 0.16.168+03 0.45378+01 0.35308+03 0.15898+03 0.161684-03 0.4 5378+01 0.35308+03 0.15798+03 0.16168+03 0.45378+01 0.24808+03 0.82408+02 0.14558+03 0.4 1(128+01 0.24808+03 0.10798+03 0.14558+03 0.41028+01 0.2400E+03 0.10308+03 0.14558+03 0.41028+01 0.2930E+03 0.1265E+03 0:19378+03 0.4305E+01 0.21708+03 0.61308+02 0.65168+02 0.394 .18+01 0.1990E+03 0.28408+02 0.29898+02 0.38358+01 0.2.5508+03 0.12368+03 0.16058+03 0.41368+01 0.2550E+03 0.16578103 0.16058+03 0.41368+01 0.2610E+03 0.14408103 0.17148+03 0.4I64E+01

PESU(I)

0.499984000.52998-02 0.58098-02 0.12698-01 0.12228-02 0.18268-02 0.95808-01 0.47488-0] 0.95008-01 0. 10718-02 0.41548-02 0.20628-02 0.23028-02 0.22738-02 0.14228+00 0.11798-02 0.15008-02 0.26218-02 0.17608-02 0.18328-02 0.22338-02 0. 19.588-01. 0.19998-01. 0,28298-02 0.66888-02 0.85568-02 0.40108-02

36

Page 37: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: FILE SAUNA A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

0.2610E+03 0. 14948+03 0.17IAE+030.2830E+030.28308+03 0.31 10E+03 0.3U0E+03 0.3390E+03 0.3660E+03 0.3660E+03 0.3660E+03

(XM8DIA) 0.2366E+03

0.17398+030.21198+030.1956R+-03 0.1997E+03 0.21198+030.2038E+03

0.1933E+03 0.1933E+03 0.182RE+03 0. 18288403 0. 13908403 0. IBS 73403

0.2031E403 0.18578403 0.2208E + 03 0.18578403

(YME1) I A) (SUMA_i:RRi)RKR) 0.10078+03 0.72638402

0.A 194840 I 0.42A2840I 0.42628+01 0.43788401 0.43788401 0.44868+01 0.45R3E+01 0.45838401 0.4 36:18 Mil

(SICIMAX)0.6047E402

(SICIMAY)0.48968102

R8 HAN RLF.OIDO LOR INTERVAL'.)!I HE CONI' 1)8 MTU. TAB I,A X,Y, CONE DR. LOS PUNT03 IN'TERPOI.ADOSX( 1)^0.21008+03 Y( 1)0.48818+02 CONE X( 2)0.23008403 Y( 2)0.99328+02 CONE XI 3)0.26008+03 Y( 3)0. 169 7E403 CONE

"0.3901840] "0.4011840l 0.41608+01

37

Page 38: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

APENDICE II(Salidas numericas para n = 1)

FILE: FILE SAT,I DA A l VM/fVM/SI- CONVERSATIONAL MONITOR SYSTEM

LOS PUNTOS 8RUTOS PARA EL A JUSTE SON: 39X = -.5000E402 Y = 0.82401:4 )2 X = -.5000F.402 Y = 0.79401002 X = -.5000E+02 Y = 0.8530FI02 X = -,4000F.4 02 Y = 0.8240F.402 X = -.4000E402 Y = 0.6960E402 X = -.4000R402 Y = 0.9120E4O2 X = 0.8000E402 Y = 0.1579E4O3 X = 0.8000E+02 Y = 0.15R9E403 X = 0.8000E4Q2 Y = 0.1579E4O3 X = -.2500E+02 Y - 0.8240EEO2 X = -.2500E402 Y ^ 0.1079E4O3 X = -.2500E402 Y ^ 0.1()30EM'3 X - 0.2000E402 Y ^ 0.1736EK3 X = 0.2000EI02 Y = 0.1265RK3 X = 0.2000ET02 Y ~ 0,1L17EIT3 X = - .5600F.402 Y ~ 0.6960R I02 X = -.5600E402 Y = 0.3680R4O2 X = -.5600R402 Y = 0.6I30G'n2 X = -.7400E+02 Y - 0.8820E401 X = -.7400F.402 Y - 0.4810E+02 X = -.7400E4-02 Y = 0.2840R4 02 X = - . 4 600E4-02. Y ^ 0. 1223R4Q2 X = -.4600E+02 Y = 0.6385F.4 01 X = -.3200E402 Y = 0.46191M01 X = -. 3200E4 02 Y = 0.5434R4 0:!X = -.3200R402 Y = 0.9645R402 X = -.1800R402 Y = 0.1236R40I X = -.1800R402 Y = 0.1657E4Q1 X = -.1200K402 Y = 0.JO46F.4OI X = -.12001:402 Y = 0.1440F.40.-1 X = - . 1200F.402 Y = 0.1494E40."'X = 0.1000F.402 Y ■= 0.1 739E40:X = 0.1000E402 Y = 0,21L9E402 X = 0.3800E402 Y = 0. 1956E10.'1 X = 0.3800E402 Y = O.J997E403 X = 0.6600E402 Y = 0.21I9EHJ3 X = 0.9300E402 Y = 0.2038F.MJ3 X = 0.9300E402 Y = 0.2051RHJ3 X = 0.9300E402 Y = 0.220BRHI3 LOS 39 ERRORES AS00IAM0S A LAS Y(I) HON:MY = 0.3300E-OI0.3000E4010.29JOE4010.I300R4010.II4UE4020.1000E4020.3300R4001) Y = 0.6700E4 000.3300E4000.1 340R4020.3 200E 4010.1000 E H)20.3600F.4020.1100E402 MY = 0.2600E+020.1400E4 020.1900E4020.54 OOF.40 10.2000R4M20.2000E4020.4000E-01 MY = 0.2600E4 02.0.2600E4 020.20M0R4020 . 1100R4020.3100F, 1-020.21OOR4020.2100E+02 MY = 0.2810R4020. 1 100R4020.1 7O0E4020.19 OOF,4020 . I900E H)20.2000E40 10.2000E401 TJY = 0.1500E4020.6100R4 0 10.4800E4010.1100E4Q2

COEFICIENTES A(I) DEL AJUSTE POLINOMICO- . 904547E402 0.742355E400

XTRA(t) YTRA(I)

A( 0)A ( 1 )

YAJ(I) EREL(I) EYI(T) PESU(I)

38

Page 39: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

VN/SP CONVERSATIONAL MONITOR SYSTEMFILE: FILE SALIMA A1

1 0.2 230 El-03 0.82408+02 0.75091X02 0.97348-01 0.4 00 SIS-032 0.2230E-I-03 0.79408+02 0.75098402 0.5739E-01 0.3 7 7 HE-013 0.22301X03 0.8530K+02 0.7509FX02 0.1360FX00 0.34 ODE-014 0.2330E+03 0.82401X02 0.8251FX02 0.13B1E-02 0. 1 3 781X015 0.2330E+03 0.69601X02 0.825 IF.>02 0.156584 00 0. 1638FX006 0.2330E+03 0.9120R+02 0.82518+02 0.10538+00 0.10968+007 0.35308+03 0.1579E+03 0.17168+03 0.7982E-01 0.2090E-028 0.3530E+03 0.1589FX03 0.1716FX03 0.7399E-0I 0.4216E-029 0.35308+03 0.15798+03 0.17168+03 0.79828-01 0.20908-02

10 0.24808403 0.82408+02 0.93658+02 0.12018400 0.1869840011 0.24808403 0.10798+03 0.93658+02 0.15228400 0.48I9E-0112 0.24808X03 0.1030FX03 0.93658+02 0.99858-01 0.9709E-0114 0.2930FX03 0.1265FX03 0 127 IE-403 0.4370E-02 0.86968-0118 0.2170FX03 0.6130E+02 0 70648+02 0.13221X00 0.88098-0121 0.1990FX03 0.2840E+02. 0.57278+02 0.50411X00 0 . 14(IRE-0227 0.25508+03 0.1:368+03 0.98858402 0.25068+00 0.1699840028 0.2550E+03 0. I657FX03 0.9885FX 02 0.67688100 0. ! 267E-l0030 0.261084-03 0.1440E403 0.10331X03 0.39408400 0.763915-0131 0.2610E+03 0.1494E+03 0.10338403 0.4467E400 0.1 I 38840032 0.2830EI03 0. 1739E403 0.1196FX03 0.4535E400 0. 1003840033 0.28308X03 0.21.19E403 0.119684 03 0.7715E400 0.89658-0134 0.31108403 0.19 56E403 0.14 04154 03 0.3931E+00 0.10 2 215-0135 0.3110E403 0.1.9978+03 0.14048+03 0.4222E+00 0. 10028-0136 0.3390FXO3 0.21 198+03 0.161.2E403 0..3147E4-00 0.707815-0137 0.3660E403 0.20388+03 0. 1812E+03 0. 124315+00 0.299 38-0138 0.3660FX03 0.20518+03 0.18128+03 0.13188+00 0.23408-0139 0.36608+03 0.22088+03 0. 18128+03 t).21808+00 0.49838-01

ERROR CUADRAT1C0 MEDIO DEL AJ' JSTE : 0.30*2915+00ERROR DE LOS DATOS (ESI'ECIFI CADC) FOR EL USUARIO): 0.85 3 IE-01 NUMERO DE PUNTOS F.LIMINADOS (ANULANI)O SU PESO) = 12VALOR ABSOLUTO DEL FACTOR DE CORRELACION=0.9165615400 TABLA X(I),Y(1),YAJ(I),C0NF(1).L0S CONF(l) SON LOS 1NTERVALOS DE CONFIANZA EST1MAD0S PARA LAS Y (1) .0.2.230E403 0.8240E+02 0.750915-1 02 0.79538401 i).22308+03 0.79408+02 0.75098'02 0.79 5 3840.1 I). 2 23015+03 0.85308402 0.75091X02 0.79538+01 (1.2 33015+03 0.8240FX-02 0.82518'02 0.803415401 0.23308+03 0.696015 402 0.825 IF. I 02 0.803415+01 n. 23308+03 0.912015+02 0,82511X02 0.80348+01 0.35308+03 0. 157984-03 0. 17 168-1 03 0.88.185X01 D.3530E+03 0.15898403 0.171615403 0.88188+01 0.3530E+03 0.15798+03 0.17161X03 0.88188+01 0.2480E+03 0.82408-1-02 0.93651X02 0.81501X01 0.2480E+03 0. 1079E+03 0.93651X92 0.81501X01 0.2480E+03 0.1030E+03 0.93658492 0.81501X01 0.2930E+03 0.1265E403 0.127181)3 0.84611X01 0.21708+03 0.6130E+02 0.706481)2 0.79028+01 0.19908+03 0.28408+02 0.57278102 0.7 7 39EX0L 0.2550E+03 0.12368+03 0.98858X02 0.8202E401 0.25508+03 0.16578+03 0.98858+02 0.8202E401 0.2610E+03 0.14408403 0.10338403 0.8245E401 0.2610E+03 0.14948403 0.10338403 0.8245E+01 0.28308+03 0.17398+03 0.1196E4O3 0.8396E+01 0.283015+03 0.21198103 0.1 1968 U'3 0.83958101

0.4999E+00 0.52998-02 0.58898-02 0.126^8-01 0.1222E-02 0.1826E-02 0.95808-01 0.47488-01 0.958015-01 0.10718-02 0.41548-02 0.20628-02 0.23028-02 0.22738-02 0.14228+00 0.11798-02 0. 158015-02 0.262115-02 0. .1 76015-02 0.18.328-02 0.22338-02 0.19588-01 0.19998-01 0.28298-02 0.66888-02 0.85568-02 0.40188-02

39

Page 40: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: FILE SAI.IDA A1 VII/.SP CONVERSATIONAL MONITOR SYSTEM

0.3 L 10F.+03 0 . I 936F.+03 0.14 < '4F, I 03 O . 85 74F.I01 0.3110E4-03 0.1997R4-03 0.1404E403 0.8374E4-01 0.3390E403 0.2 119K4-03 0.1412EE03 0.8740R4-01 0.3A60E+03 0.2033E4-03 0.1312E+03 0.8389E40I 0.3660E+03 0.2051E+03 0.1312EE03 0.8'.I89E4 01 0.3A60E+03 0.2208F.4-03 0.1812EE03 0.83395401 (XMEI)IA) (YMFDIA) (SUMA_FKRORF.S) (SIGMAX) (SIMM AY)

0.2566E4-03 0.I007E+03 0.3333EI03 0.AO47E402 0.4B''ARI02SE HAN ELEG.11)0 I,OS INTERVALOS DF. CONI' DR MILLTABLA X.Y.CONF I IF. LOS PUHT03 I NTF.RPOLADOSX( 1)=0.2100E403 Y( 1)=0.6544E+02 CONF-0.7841E4-0I X( 2)=0.2300F.103 Y( 2)=0 BO'.95+02 COMF"0.B010E401X( 3)=0.2600F.4-03 Y( 3)=0. I016F.4 03 CONF-O . 8238E4-01

40

Page 41: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

APENDICE III (Listado de ‘AJUSTAR’)

I'luuE: AJUSTAR FORTRAN A1 VH/SP CONVERSATIONAL MONITOR SYSTEM

PROGRAM AJUSTE AJU00010IMPLICIT DOUBLE PRECISION(A-H,0-Z) AJU00020COMMON/FAC/ X(200),Y(20Q),XOR(200),YOR(200),W(200),DSY(200) AJU00030COMMON/FCR/ YAJ(200),A(51),CONF(200),EY1(200),ERR,NPEL AJU00040COMMON/OPC/ NPAN,NOP,NG,TW,ISY AJU00050COMMON/STA/ XMED,YMED,SUMA,SX,SY AJU00060REAL*4 XEX(15) AJU00070CHARACTER*2 FACO AJU00080WRITE(6,14) AJU00090

14 F0RMAT(1X,'SI DESEA LOS RESULTADOS DEL AJUSTE EN UN FICHERO PARTICAJU00100 CULAR TECLEE 1,SI EN PANTALLA TECLEE O'/) AJU00110READ(5,*) NPAN AJU00120IF(NPAN.GT.O) OPEN(UNIT=8,FILE='SALIDA',STATUS='NEW') AJU0013UWRITE(6,3) AJU00140

3 F0RMAT(1X,'SI VA A SUMINISTRAR LOS DATOS MEDIANTS UN FICHERO PROPIAJU00150*0 TECLEE UN 1,SI PREFTERE LA PANTALLA TECLEE UN 0'/) AJU00160READ(5,*) NOP AJU00170IF(NOP.GT.O) 0PEN(UNIT=7,FILE='AJUST0',STATUS='0LD') AJU00180WRITE(6,1) AJU00190

1 F0RMAT(1X,'NUMER0 DE PUNTOS A TRATAR?(MAX.200)') AJU00200READ(5,*) NP AJU00210DO 61 1=1,NP AJU00220

61 W(I)=1. AJU00230WRITE(6,2) AJU00240

2 F0RMAT(1X,'TECLEE 1 0 0 SEGUN QUE VAYA 0 NO A PESAR LOS PUNTOS') AJU00250READ(5,*) IW AJU00260IF(IW.GT.O) WRITE(6,62) AJU00270

62 F0RMAT(1X,'TECLEE 1,0,2 SEGUN QUE INTRODUZCA LOS PESOS POR FICHER AJU00280*0 PROPIO 0 PANTALLA 0 EMPLEE LOS ERRORES PARA ESTIMARLOS'/) AJU00290

IF(IW.GT.O) READ(5,*) IPP AJU00300WRITE(6,25) AJU00310

25 F0RMAT(1X,'TECLEE 1 0 0 SEGUN QUE VAYA 0 NO A INTRODUCIR LAS INCERAJU00320AJU00330 AJU00340 AJU00350

CTIDUMBRES ASOCIADAS A LAS Y(I)')READ(5,*) ISY IF(ISY.GT.0.AND.IW.GT.0.AND.IPP.EQ.2) WR1TE(6,2A)

26 F0RMAT(1X,'TECLEE LA POTENCIA DEL ERROR CON CUYA INVERSA SE CALCULAJU00360 *ARAN LOS PESOS POR EL PROGRAMA') AJU00370

IF(ISY.GT.0.AND.IW.GT.0.AND.IPP.EQ.2) READ(5,*) EW AJU00380WRITE(6,11) AJU00390

11 F0RMAT(1X,'CONTESTS CON <SI> 0 <N0> A LA OPCION DE ESTIMAR UN FACTAJU00400COR DE CORRELACION (NO LINEAL EN GENERAL) DEL AJUSTE') AJU00410READ(5,15) FACO AJU00420

15 F0RMAT(A2) AJU00430IF(NOP.LT.l) WRITE(6,5) AJU00440

5 F0RMAT(1X,'INTR0DUZCANSE PRIMERO LAS X(J) Y A CONTINUACION LAS Y(TAJU00450C)'/)

45 F0RMAT(1X,'X = ',E10.4,IX,'Y = ',E10.4)59 F0RMAT(1X,'L0S PUNTOS BRUTOS PARA EL AJUSTE SON:

IF(NOP.LT.l) READ(5,*) (X(I),I=1,NP)IF(NOP.LT.l) READ(5,*) (Y(I),I=1,NP)IF(NOP.GE.l) READ(7,*) (X(I),I=1,NP)IF(NOP.GE.l) READ(7,*) (Y(I),I=1,NP) IF(NPAN.LT.l) WRITE(6,59) NP IF(NPAN.GT.O) WRITE(8,59) NP IF(NPAN.LT.l) WRITE(6,45) (X(l),Y(I),I=l,NP)

,%4/)

AJU00460AJU00470AJU00480AJU00490AJU00500AJU00510AJU00520AJU00530AJU00540AJU00550

41

Page 42: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

IF(NPAN.GT.O) WRITE(8,45) (X(I),Y(I),I=1,NP) IF(NOP.LT.l.AND.ISY.GT.O) WRITE(6,6)

6 FORMAT(lX,'lNTRODUZCANSE LOS ERRORES EN LAS Y(l):') IF(NOP.LT.l.AND.ISY.GT.O) READ(5,*) (DSY(I),I=1,NP) IF(NOP.GT.O.AND.ISY.GT.O) READ(7,*) (DSY(I),I=1,NP) IF(NPAN.GT.O.AND.ISY.GT.O) WRITE(8,60) NP IF(NPAN.LT.l.AND.ISY.GT.O) WRITE(6,60) NP

60 F0RMAT(1X,'L0S ',14,IX,'ERRORES ASOCIADOS A LAS Y(I) SON:'/) IF(NPAN.GT.O.AND.ISY.GT.O) WRITE(8,46) (DSY(I),I=1,NP) IF(NPAN.LT.l.AND.ISY.GT.O) WRITE(6,46) (DSY(I),I=1,NP)

46 F0RMAT(1X,'DY = '.7E10.4)WRITE(6,51)

51 F0RMAT(1X,'ERROR RELATIVO PROMEDIO DE LAS Y(I)7.(TELLER EL ()UE *PAREZCA ENTRE 0 Y l')READ(5,*) ERRIF(ISY.LT.1.0R.IPP.NE.2) GO TO 33 EAUX=0.DO 50 I = 1,NP YSUP=Y(I)IF(ABS(Y(I)).EQ.O.) YSUP=1.EY1(I)=ABS(DSY(I))/ABS(YSUP)IF(ABS(Y(I)').EQ.O.) EY1(I)=ERR EAUX=EY1(I)**2 + EAUX

50 CONTINUEERR=SQRT(EAUX/FLOAT(NP))PNOR=0.DO 32 1=1,NPIF(ABS(EYT(I)).LE.O.) EY1(I)=(1.E-10)**(1./EW) PN0R=(1./(ABS(EYT(I))**EW))+PN0R

32 CONTINUEDO 34 1=1,NPIF(EYl(I).EQ.O.) EY1(I)=(1.E-10)**(1./EW)W(I)= l./(PNOR*(ABS(EYl(I))**EW))

34 CONTINUE33 IF(IW.GT.O.AND.NOP.LT.l.AND.IPP.EQ.O) WRITE(6,4)

IF(IPP.EQ.l.AND.NOP.GT.O) WRITE(6,10)4 F0RMAT(1X,'TECLEE AHORA TANTOS FACTORES DE PESO COMO PUNTOS')

10 F0RMAT(1X,'SUP0NEM0S QUE FIGURARAN EN EL FICHERO DE DATOS LOS *S ASOCIADOS A LOS Y(I),SI NO VUELVA A EMPEZAR'/)

IF (IW.GT.0.AND.N0P.LT.1.AND.IPP.LT.2) READ(5,*)IF (IW.GT.O.AND.NOP.GE.1.AND.IPP.LT.2) RFAD(7,*)WRITE(6,52)

52 F0RMAT(1X,'SI DESEA ELIMINAR LOS PUNTOS CUYO PESO SEA INFERIOR *N VALOR DADO TECLEE ESE VALOR (PULSE 0 SI NO QUIERE ELIMINAR)'READ(5,*) PMIN IF(PMIN.LE.O.) GO TO 53 NPEL=0DO 54 1=1,NPIF(W(I).LE.PMIN) NPEL=NPEL+1

54 IF(W(I).LE.PMIN) W(I)=0.IF(IW.LT.l) GO TO 53 EAUX=0.DO 55 I = 1,NP IF(W(I).LE.O.) GO TO 55 EAUX=EY1(I)**2 + EAUX

(W(I),I=1,NP)(W(I),I=l,NP)

AJU00560 AJU00570 AJU00580 AJU00590 AJU00600 AJU00610 AJU00620 AJU00630 AJU00640 AJU00650 AJU00660 AJU00670

LR AJU00680 AJU00690 AJU00700 AJU00710 AJU00720 AJU00730 AJU00740 AJU00750 AJU00760 AJU00770 AJU00780 AJU00790 AJU00800 AJU00810 AJU00820 AJU00830 AJU00840 AJU00850 AJU00860 AJU00870 AJU00880 AJU00890 AJU00900 AJU00910 AJU00920

PESOAJU00930 AJU00940 AJU00950 AJU00960 AJU00970

A UAJU00980 ) AJU00990

AJU01000 AJU01010 AJU01020 AJU01030 AJU01040 AJU01050 AJU01060 AJU01070 AJU01080 AJU01090 AJU01100

42

Page 43: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

TILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

55 CONTINUE AJU01110ERR=SQRT(EAUX/FLOAT(NP-NPEL)) AJU01120

53 DO 29 1=1,NP AJU01130XOR(I)=X(I) AJU01140YOR(I)=Y(I) AJU01150

29 CONTINUE AJU01160WRITE(6,31) AJU01170

31 F0RMAT(1X,'TECLEAR CONSECUTIVAMENTE LOS NUMEROS DE ORDEN DR LAS TRAJU01180CANSFORMACIONES QUE SE ELIJAN PARA LAS X(I) E Y(I)')READ(5,*) NTX,NTY IF(NTX.EQ.3) WRITE(6,20)

20 F0RMAT(1X,'EXPONENTS DE LA TRANSFORMACTQN PARA LAS X') IF(NTX.EQ.3) READ(5,*) EXIF(NTY.EQ.3) WRITE(6,21)

21 F0RMAT(1X,'EXPONENTS DE LA TRANSFORMACION PARA LAS Y') IF(NTY.EQ.3) READ(5,*) EYIF(NTX.GT.O) WRITE(6,22)

22 FORMAT(IX,'PARAMETROS DE LA TRANSFORMATION LINEAL <A*X+B> EN EL CDEN: A,B')

IF(NTX.GT.O) READ(5,*) AX,BX IF(NTY.GT.O) WRITE(6,47)

47 F0RMAT(1X,'PARAMETROS DE LA TRANSFORMACION LINEAL <A*Y+B> EN EL CDEN: A,B')

IF(NTY.GT.O) READ(5,*) AY,BY IF(NTX.GT.O) CALL TRI(X,NP,NTX,AX,BX,EX)IF(NTY.GT.O) CALL TRI(Y,NP,NTY,AY,BY,EY)CALL AJUPO(FACO,NP,EW)WRITE(6,7)

7 F0RMAT(1X,'SI DESEA INTERPOLAR TECLEE UN 1,EN CASO CONTRARIO UN* O') .

READ(5,*) IEX IF(IEX.LE.O) GO TO 9 WRITE(6,8)F0RMAT(1X,'TECLEE EL NUMERO DE INTERPOLACIONES QUE DESEE (MAXIMO

*DE 15')READ(5,*) NEX WRITE(6,41)F0RMAT(1X,'INTR0DUZCA LAS ABCISAS DE LOS PUNTOS A INTERPOLAR') READ(5,*) (XEX(I),I=1,NEX)

9 CALL EXTRAP(NP,IEX,NEX,XEX)STOPENDSUBROUTINE AJUPO(FACO,NP,EW)IMPLICIT DOUBLE PRECISI0N(A-H,0-Z)COMMON/FAC/ X(200),Y(200),XOR(200),YOR(200),W(200),DSY(200) COMMON/FCR/ YAJ(200),A(51),CONF(200),EY1(200),ERR,NPEL COMMON/OPC/NPAN,NOP,NG,IW,ISY DIMENSION NAC(51),EREL(200)DIMENSION B1(200),B2(200),B3(200),ALFA(51),BETA(51),0(51)CHARACTER*2 FACOWRITE(6,8)

8 F0RMAT(1X,'GRAD0 DEL POLINOMIO QUE SE DESEA AJUSTAR? (MAX.50),EN CASO DE NO DESEAR UNO CONCRETO TECLEESE UN O')READ(5,*) NGIF(NPAN.LT.1.AND.NG+1.GT.(NP-NPEL)) WRITE(6,31)

8

41

AJU01190AJU01200AJU01210AJU01220AJU01230AJU01240AJU01250AJU01260AJU01270

ORAJUO1280AJU01290AJU01300AJU01310

ORAJU01320AJU01330AJU01340AJU01350AJU01360AJU01370AJU01380AJU01390AJU01400AJU01410AJU01420AJU01430AJU01440AJU01450AJU01460AJU01470AJU01480AJU01490AJU01500AJU01510AJU01520AJU01530AJU01540AJU01550AJU01560AJU01570AJU01580AJU01590AJU01600AJU01610

CAJU01620AJU01630AJU01640AJU01650

43

Page 44: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

IF(NPAN.GE.1.AND.NG+1.GT.(NP-NPEL)) WR1TE(8,31)31 F0RMAT(1X,'EL NUMERO DE PUNTOS MAS UNO ES MENOR QUE EL GRADO DEL

COLINOMIO. EL AJUSTE ES POCO FIADLE'/)DO 2 1=1,51 NAC(I)=I-1

2 CONTINUEIF(NG.LT.l) GO TO 16CALL ORTHLS(X,Y,W,NP,IW,0,0,ALFA,BETA,NG,B1,B2,B3,IND1)CALL COEFS(0,0,ALFA,BETA,NG,A,B1,B2,B3,IND2)IF(NPAN.LT.l) WRITE(6,17)IF(NPAN.GE.l) WRITE(8,17)

17 FORMAT(!OX,'COEFICIENTES A(I) DEL AJUSTE POLINOMICO'/)IF(NPAN.LT.l) WRITE(6,18) IF(NPAN.GE.l) WRITE(8,18) IF(NPAN.LT.l) WRITE(6,22) IF(NPAN.GE.l) WRITE(8,22)

(A(I),NAC(I),I=1,NG+1)(A(I),NAC(I),I=1,NG+1)

YAJ(I)

IF(NPAN.LT.l) WRITE(6,15)IF(NPAN.GE.l) WRITE(8,15)

22 F0RMAT(4X,'l XTRA(I) YTRA(I)Cl) EY1(I) PESO(I) ')

15 FORMAT(4X, , ' ..... ' , ' ...... ' , 'C-- ' , ' -.... ...... ')

18 F0RMAT(10X,E12.6,' --- A(',I2,')')RMS=0.DO 19 1=1,NP IFCEW.LE.O.) W(I)=1.POL=0.IF(W(I).LE.O.) GO TO 19 DO 20 J=1,NG+1 P0L=A(J)*(X(I)**(J-1))+P0L

20 CONTINUE YAJ(I)=POLIF(YAJ(I).EQ.O.) YAJ(I)=l.E-25 EREL(I)=ABS((YAJ(I)-Y(I))/YAJ(I))RMS=(EREL(I)**2) + RMS IF(NPAN.LT.l) WRITE(6,21) I,X(I),Y(I),YAJ(I),EREL(I),E IF(NPAN.GE.l) WRITE(8,21) I,X(I),Y(I),YAJ(I),EREL(T),R

19 CONTINUERMS=SQRT(RMS/FLOAT(NP-NPEL))IF(NPAN.LT.l) WRITE(6,28) RMS,ERR IF(NPAN.GE.l) WRITE(8,28) RMS,ERR

28 F0RMAT(1X,'ERROR CUADRATICO MEDIO DEL AJUSTE:',E10.4/, C LOS DATOS (ESPECIFICADO POR EL USUARIO):',E10.4)

GO TO 3016 DO 23 NG=1,50

IF(NG+1.GT.(NP-NPEL)) GO TO 32 RMS=0.CALL ORTHLS(X,Y,W,NP,IW,0,0,ALFA,BETA,NG,B1,B2,83,IND1 CALL C0EFS(Q,0,ALFA,BETA,NG,A,B1,B2,B3,IND2)DO 24 1=1,NP POL=0.IF(W(I).LE.O.) GO TO 24 DO 25 J=1,NG+1 P0L=A(J)*(X(I)**(J-1))+P0L

25 CONTINUE

Y1(I),W(I)Y1(I),W(I)

IX,'ERROR

)

AJU01660 PAJU01670

AJU01680 AJU01690 AJU01700 AJU01710 AJU01720 AJU01730 AJU01740 AJU01750 AJU01760 AJU01770 AJU0I780 AJU01790 AJU01800 AJU01810 AJU01B20 AJU01830

EREL(AJU01840 AJU01850

... AJU01860AJU01870 AJU01880 AJU01890 AJU01900 AJU01910 AJU01920 AJU01930 AJU01940 AJU01950 AJU01960 AJU01970 AJU01980 AJU01990 AJU02000 AJU02010 AJU02020 AJU02030 AJU02040 AJU02050 AJU02060

DEAJU02070 AJU02080 AJU02090 AJU02100 AJU02110 AJU02120 AJU02130 AJU02140 AJU02150 AJU02160 AJU02170 AJU02180 AJU02190 AJU02200

44

Page 45: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

non

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

YAJ(I)=POL AJU02210IF(YAJ(I).EQ.O.) YAJ(I)=l.E-25 AJU02220IF(W(I).LE.O.) EREL(I)=0. AJU02230EREL(I)=ABS((YAJ(I)-Y(I))/YAJ(I)) AJU02240RMS=(EREL(I)**2) + RMS AJU02250

24 CONTINUE AJU02260RMS=SQRT(RMS/FLOAT(NP-NPEL)) AJU02270IF(RMS.LE.ERR) GO TO 26 AJU02280

23 CONTINUE AJU02290GO TO 26 AJU02300

32 IF(NPAN.LT.l) WRITE(6,33) AJU02310IF(NPAN.GE.l) WRITE(8,33) AJU02320

33 F0RMAT(1X,'SE DETIENE AQUI EL AJUSTE PORQUE SI NO RESULTARIA EL GRAJU02330CADO MAYOR QUE LOS PUNTOS MEMOS l'/) AJU02340

26 IF(NPAN.LT.l) WRITE(6,17) AJU02350IF(NPAN.GE.l) WRITE(8,17) AJU02360IF(NPAN.LT.l) WRITE(6,18) (A(I),NAC(I),I=1,NG+1) AJU02370IF(NPAN.GE.l) WRITE(8,18) (A(I),NAC(I),I=1,NG+1) AJU02380IF(NPAN.LT.l) WRITE(6,22) AJU02390IF(NPAN.GE.1) WRITE(8,22) AJU02400IF(NPAN.LT.l) WRITE(6,15) AJU02410IF(NPAN.GE.l) WRITE(8,15) AJU02420DO 27 1=1,NP AJU02430IF(EW.LE.O.) W(I)=1. AJU02440IF(W(I).LE.O.) GO TO 27 AJU02450IF(NPAN.LT.l) WRITE(6,21) I,X(I),Y(I),YAJ(T^ ̂ RRL(I),EYI(I),W(I) AJU02460IF(NPAN.GE.l) WRITE(8,21) I,X(I),Y(I),YAJ(1),, 'KL(I),EY1(I),W(I) AJU02470

27 CONTINUE AJU02480IF(NPAN.LT.l) WRITE(6,28) RMS,ERR AJU02490IF(NPAN.GE.l) WRITE(8,28) RMS,ERR AJU02500

21 F0RMAT(2X,I3,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4AJU02510 *) AJU02520

30 IF(NPAN.LT.l) WRITE(6,51) NPEL AJU02530IF(NPAN.GE.l) WRITE(8,51) NPEL AJU02540CALL FACTOR(CORR,NP) AJU02550IF(FACO.NE.'SI') GO TO 36 AJU02560IF(NPAN.GE.l) WRITE(8,35) CORK AJU02570IF(NPAN.LT.l) WRITE(6,35) CORR AJU02580

51 F0RMAT(1X,'NUMER0 DE PUNTOS ELIMINADOS (ANULANDO SU PESO) =',I4) AJU0259035 F0RMAT(1X,'VALOR ABSOLUTO DEL FACTOR UR CORRELACION=',E11.5) AJU0260036 RETURN AJU02610

END AJU02620SUBROUTINE COEFS (J,C,ALPHA,BETA,KC,A,T1,T2,T3,]NU2) AJU02630IMPLICIT DOUBLE PRECISI0N(A-H,0-Z) AJU02640

C...................................... AJU02650C THIS SUBROUTINE COMPUTES THE A COEFFICIENTS FOR A POLYNOMIAL AJU02660C OF DEGREE KC WHERE KC IS LESS THAN OR EQUAL TO K. AJU02670C....................................... -........ ...... ....-AJU02680

DIMENSION C(KC),ALPHA(KC),BETA(KC).A(KC),T1(KC),T2(KC),T3(KC) AJU02690................................. AJU02700

PROGRAM INITIALIZATION. AJU02710.............................................. ......... -....AJU02720

KCJ1=KC-J+1 AJU02730IF(KCJl.LE.O) GO TO 9 AJU02740B=0.0 AJU02750

45

Page 46: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

DO 1 NN=1,KCJ1 AJU02760A(NN)=C(NN) AJU02770T1(NN)=0.0 AJU02780T2(NN)=0.0 AJU02790

1 T3(NN)=0.0 AJU02800IF (KC.LE.J) GO TO 5 AJU0281011=2 AJU02820

C............................................................. AJU02830C BEGIN COMPUTATION. AJU02840C............................... AJU02850

2 T2(II)=1.0 AJU02860DO 3 NN=2,II AJU02870T3(NN)=T2(NN-1)-T2(NN)*ALPHA(II-1)-B*T1(NN) AJU02880

C............................................................. AJU02890C COMPUTATION OF AN A COEFFICIENT. AJU02900C.............................................. -............. AJU02910

3 A(NN-1)=A(NN-1)+C(II)*T3(NN) AJU02920IF (II.GE.KCJ1) GO TO 5 AJU02930

C.............................................. -............. AJU02940C RESETTING THE VECTORS FOR THE NEXT COEFFICIENT. AJU02950C.........---................................... -............. AJU02960

DO 4 NN=1,II AJU02970T1(NN)=T2(NN) AJU02980

4 T2(NN)=T3(NN) AJU02990B=BETA(II-1) AJU0300011=11+1 AJU03010GO TO 2 AJU03020

5 IF (J.LE.O) GO TO 8 AJU03030C............................................... -............ AJU03040C ARRANGE COEFFICIENTS PROPERLY IF J IS NON ZERO. AJU03050C............................................................. AJU03060

DO 6 NN=1,KCJ1 AJU03070N1=KCJ1-NN+1 AJU03080N2=N1+J AJU03090

6 A(N2)=A(N1) AJU03100DO 7 NN=1,J AJU03110

7 A(NN)=0.0 AJU03120C...................... -AJU03130C SUCCESSFUL RETURN. AJU03140C... ................ -..........................-....-....... AJU03150

8 IND2=+2 AJU03160RETURN AJU03170

C.............. -................................ ............ AJU03180C ERROR RETURN. SET ALL THE A COEFFICIENTS EQUAL TO ZERO. AJU03190C............................................................. AJU03200

9 DO 10 NN=1,KC AJU0321010 A(NN)=0.0 AJU03220

A(KC+1)=0.0 AJU03230IND2=-2 AJU03240RETURN AJU03250END AJU03260SUBROUTINE ORTHLS (X,Y,W,N,L,J,C,ALPHA,BETA,K,T1,T2,T3,IND1) AJU03270IMPLICIT DOUBLE PRECISI0N(A-H,0-Z) AJU03280

C...... ............................. ---------- ------------- AJU03290C THIS SUBROUTINE COMPUTES THE COEFFICIENTS OF THE POLYNOMIAL AJU03300

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

46

Page 47: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

C EQUATION OF DEGREE K AND THE ALPHA AND BETA PARAMETERS. AJU03310G.................................................. AJU03320

DIMENSION X(N),Y(N),W(N),C(K),ALPHA(K),BETA(K),Tl(N),T2(N),T3(N) AJU03330DIMENSION ZX(200),ZY(200) AJU03340

C PROGRAM INITIALIZATION. AJU03350C......................................... -.................. AJU03360

KJ1=K-J+1 AJU03370IF (KJ1.LE.O) GO TO 16 AJU033B0SUM=0.0 AJU03390IF (L.EQ.l) GO TO 3 AJU03400DO 2 1=1,N AJU03410T3(I)=X(I) AJU03420IF (J.GT.O) GO TO 1 AJU03430SUM=SUM+1.0 AJU03440GO TO 2 AJU03450

1 SUM=SUM+X(I)**(2*J) AJU034602 W(I)=1.0 AJU03470

GO TO 7 AJU034803 DO 6 1=1,N AJU03490

T3(I)=X(I) AJU03500IF (J.GT.O) GO TO 4 AJU03510SUM=SUM+W(I) AJU03520GO TO 5 AJU03530

4 SUM=SUM+W(I)*X(I)**(2*J) AJU035405 ZX(I)=W(I)*X(I) AJU035506 ZY(I)=W(I)*Y(I) AJU035607 B=0.0 AJU03570

IF(L.GT.O) GO TO 21 AJU03580DO 20 IJK=1,N AJU03590ZX(IJK)=W(IJK)*X(IJK) AJU03600ZY(IJK)=W(IJK)*Y(IJK) AJU03610

20 CONTINUE AJU0362021 RO=SUM AJU03630

DO 9 1=1,N AJU03640IF (J.GT.O) GO TO 8 AJU03650T2(I)=1.0 AJU03660GO TO 9 AJU03670

8 T2(I)=T3(I)**J AJU036809 T1(I)=0.0 AJU03690

C... ................................. -----------------------AJU03700C BEGIN COMPUTATION. AJU03710C................................ --------------------------- AJU03720

11=1 AJU0373010 S=0.0 AJU03740

DO 11 1=1,N AJU0375011 S=S+ZY(I)*T2(I) AJU03760

C...................................................................................... AJU03770C COMPUTATION OF A COEFFICIENT IN THE POLYNOMIAL EQUATION. AJU03780C..................................... -........ -....... .....AJU03790

C(II)=S/RO AJU03800IF (II.GE.KJT) GO TO 15 AJU03810

C............................................................. AJU03820C COMPUTATION OF AN ALPHA FOR THE POLYNOMIAL EQUATION. AJU03830C............. --------------------------- ------------------- AJU03840

SUMXPS=0.0 AJU03850

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

47

Page 48: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

DO 12 1=1,N AJU0386012 SUMXPS=SUMXPS+ZX(I)*T2(I)*T2(I) AJU03870

ALPHA(II)=SUMXPS/RO AJU03880C......................... ----------------------------------- AJU03890C COMPUTATION OF A NEW POLYNOMIAL. AJU03900C............. -........ -........................... ......... AJU03910

DO 13 1=1,N AJU03920TEMP=T2(I) AJU03930T2(I)=(T3(I)-ALPHA(II))*T2(I)-B*T1(I) AJU03940

13 T1(I)=TEMP AJU03950C......... -AJU03960C COMPUTATION OF A BETA FOR THE POLYNOMIAL EQUATION. AJU03970C---------------------------------- AJU03980

R=0.0 AJU03990DU 14 1=1,N AJU04000

14 R=R+W(I)*T2(I;"T2(I) AJU04010BETA(II)=R/RO AJU04020RO=R AJU04030B=BETA(II) AJU0404011=11+1 AJU04050GO TO ip AJU04060

C............................................................. AJU04070C SUCCESSFUL RETURN. AJU04080C............................................. ....... -...... AJU04090

15 IND1=+1 AJU04100RETURN AJU04110

C............................................................. AJU04120C ERROR RETURN. SET ALL C COEFFICIENTS, ALPHA AND BETA TO ZERO. AJU04130 C...................................... -...........-......... AJU04140

16 DO 17 11=1,K AJU04150C(II)=0.0 AJU04160ALPHA (II)=0.0 AJU04170

17 BETA(II)=0.0 AJU04180C(K+1)=0.0 AJU04190IND1=-1 AJU04200RETURN AJU04210END AJU04220SUBROUTINE TRI(Z,NP,NT,AA,BB,EI) AJU04230IMPLICIT DOUBLE PRECISION(A-H,0-Z) AJU04240DIMENSION Z(200) AJU04250IF(NT.LT.l) RETURN AJU04260GO TO (10,20,30,40,50),NT AJU04270

10 DO 12 1=1,NP AJU04280ARG=AA*Z(I)+BB AJU04290Z(I)=DL0G10(ARG) AJU04300

12 CONTINUE AJU04310RETURN AJU04320

20 DO 14 1=1,NP AJU04330ARG=AA*Z(I)+BB AJU04340Z(I)=DLOG(ARG) AJU04350

14 CONTINUE AJU04360RETURN AJU04370

30 DO 16 1=1,NP AJU04380Z(I)=(ABS(AA*Z(I)+BB))**EI AJU04390

16 CONTINUE AJU04400

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

48

Page 49: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR

RETURN40 DO 18 1=1,NP

Z(I)=AA*Z(I)+BB18 CONTINUE

RETURN50 DO 19 1=1,NP

ARG=AA*Z(I)+BB Z(I)=DEXP(ARG)

19 CONTINUE RETURN ENDSUBROUTINE FACTOR(CORR.NP)IMPLICIT DOUBLE PRECISI0N(A-H,0-Z)COMMON/FAC/ X(200),Y(200),XUR(200),YOR(200),W(200),DSY(200) COMMON/FCR/ YAJ(200),A(51),CONF(200),EY1(200),ERR,NPEL COMMON/OPC/ NPAN,NOP,NG,IW,ISY COMMON/STA/ XMED,YMED,SUMA,SX,SY YMED=0.XMED=0.DO 1 1=1,NP IF(IW.LT.l) W(I)=1.YMED=(Y%I)*W(I)) + YMED XMED=(X(I)*W(I)) + XMED

1 CONTINUEIF(IW.LT.l) YMED=(YMED/FLOAT(NP-NPEL))IF(IW.LT.l) XMED=(XMED/FLOAT(NP-NPEL))SX=0.SY=0.SUMA=0.SYE=0. .DO 2 1=1,NP IF(IW.LT.l) W(I)=1.SYE=W(I)*(ABS(YAJ(I)-YMED)**2) + SYE SUMA=W(I)*(ABS(YAJ(I)-Y(I))**2) + SUMA SY=W(I)*(ABS(Y(I)-YMED)**2) + SY SX=W(I)*(ABS(X(I)-XMED)**2) + SX

2 CONTINUE CORR=SQRT(SYE/SY)RETURNENDSUBROUTINE EXTRAP(NP,IEX,NEX,XEX)IMPLICIT DOUBLE PRECISI0N(A-H,0-Z)COMMON/FAC/ X(200),Y(200),XOR(200),YOR(200),W(200),DSY(200) COMMON/FCR/ YAJ(200),A(51),CONF(200),EY1(200),ERR,NPEL COMMON/OPC/ NPAN,NOP,NG,IW,ISY COMMON/STA/ XMED,YMED,SUMA,SX,SY COMMON/REPR/XR(20O),YR(2O0),B(51),CONFIA(101)REAL*4 XEX(15),YEXC15),CFEX(15),XET(101),XFA(200),YFA(200) REAL*4 GRL,STU,GI2,PARA,XR,YR,B,CONFIA,VAR,PESO CHARACTER*4 OCF GRL=FLOAT(NP-NPEL-NG-l)PARA=FLOAT(NG+l)WRITE(6,11)

11 F0RMAT(1X,'TECLEE "STUD" "SCHF" 0 "MILL" SEGUN QUE PREFIERA LOS *TERVALOS DE CONF. DE STUDENT SCHEFFE 0 MILLER')

SYSTEM

AJU04410AJU04420AJU04430AJU04440AJU04450AJU04460AJU04470AJU04480AJU04490AJU04500AJU04510AJU04520AJU04530AJU04540AJU04550AJU04560AJU04570AJU04580AJU04590AJU04600AJU04610AJU04620AJU04630AJU04640AJU04650AJU04660AJU04670AJU04680AJU04690AJU04700AJU04710AJU04720AJU04730AJU04740AJU04750AJU04760AJU04770AJU047B0AJU04790AJU04800AJU04810AJU04820AJU04830AJU04840AJU04850AJU04860AJU04870AJU04880AJU04890AJU04900AJU04910AJU04920AJU04930

INAJU04940AJU04950

49

Page 50: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

WRITE(6,35)35 F0RMAT(1X,'(EN

*DE MILLER COMO READ(5,12) OCF

12 FORMAT(A4) IF(NPAN.LT.l) IF(NPAN.GE.l) IF(NPAN.LT.l) IF(NPAN.GE.l)

CASO DE LOS MAS

PERPLEJIDADFIABLES)'/)

LE RECOMENDAMOS I,OS TNTERVALOS

WRITE(6,2)WRITE(8,2)WRITE(6,4)WRITE(B,4)

2 F0RMAT(1X,'TABLA X(I),Y(I),YAJ(I),CONF(I).LOS CONF(I)4 F0RMAT(1X,'INTERVAL0S DE CONFIANZA ESTTMADOS PARA LAS7 FORMAT(1X,E10.4,1X,E10.4,1X,E10.4,1X.E10.4)8 FORMAT(1X,E1Q.4,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4/)9 F0RMAT(1X,' (XMEDIA) (YMEDIA) (SUMA ERRORES) (SIGMAX) *)

VAR=SNGL(SUMA)/3RLJ=0DO 1 1=1,NP XFA(I)=SNGL(X(I))YFA(I)=SNGL(Y(I))IF(W(I).LE.O.) GO TO 1J=J+1 -PESO=ABS((l./FLOAT(NP-NPEL))+(X(I)-XMED)/SX) IF(OCF.EQ.'SCHF') CALL MDFI(.95,PARA,GRL,STU,IER)

CONF(I)=SQRT(PARA*STU*VAR*PESO)CALL MDCIII(.95,GRL,GI2,IER)CALL MDFI(.95,PARA,GRL,STU,IER)

SON LOS') Y(I).'/)

IF(OCF.EQ.'SCHF') IF(OCF.EQ.'MILL') IF(OCF.EQ.'MILL') IF(OCF.EQ.'MILL') CONF(I)=

*)*1.96

AJU04960 AJU04970 AJU049B0 AJU04990 AJU05000 AJU05010 AJU05020 AJU05030 AJU05040 AJU05050 AJU05060 AJU05070 AJU050B0

(SIGMAY)'AJU05090 AJU05100 AJU05110 AJU05120 AJU05130 AJU05140 AJU05150 AJU05160 AJU05170 AJU05180 AJU05190 AJU05200 AJU05210 AJU05220

=SQRT(PARA*STU*VAR*PESO)+SqRT(VAR*GRL/GI2AJU05230AJU05240

IF(OCF.NE.'SCHF'.AND.OCF.NE.'MILL') CALL MDSTI(.1,GRL,STU,IER).NE.'MILL') CONF(I)=STU*SQRT(VAR*PESO)IF(OCF.NE.'SCHF'.AND.OCF.

IF(NPAN.LT.l) WRITE(6,7) IF(NPAN.GE.l) WRITE(8,7) XR(J)=SNGL(X(I)) YR(J)=SNGL(Y(I))CONTINUE

X(I),Y(I),YAJ(I),CONF(I)X(I),Y(I),YAJ(I),CONF(I)

615

IF(IW.LT.l)IF(IW.GT.O)IF(IW.LT.l)IF(IW.GT.O)IF(NPAN.LT.l) IF(NPAN.GE.l) IF(NPAN.LT.l) IF(NPAN.GE.l) IF(NPAN.LT.l) IF(NPAN.GE.l) WRITE(8,15) IF(IEX.LT.l) GO TO 20 IF(NPAN.LT.l) WRITE(6,6) IF(NPAN.GE.l) WRITE(8,6) F0RMAT(1X,'TABLA X,Y,CONF F0RMAT(1X,'SE HAN ELEGIDO

SIGX=SQRT(SX/FLOAT(NP-NPEL))SIGX=SQRT(SX)SIGY=SQRT(SY/FLOAT(NP-NPEL))SIGY=SQRT(SY)

WRITE(6,9)WRITE(8,9)WRITE(6,8) XMED,YMED,SUMA,SIGX,SIGY WRITE(8,8) XMED,YMED,SUMA,SIGX,SIGY WRITE(6,15) OCF

OCF

DE LOS PUNTOS INTERPOLAUOS' LOS INTERVALOS DE CONF DE '

/),A4/)

DO 3 1=1,NEXPESO=ABS((l./FLOAT(NP-NPEL))+(XEX(I)-XMED)/SX) IF(OCF.EQ.'SCHF') CALL MDFI(.95,PARA,GRL,STU,IER) IF(OCF.EQ.'SCHF') CFEX(I)=SQRT(PARA*STU*VAR*PESO)

AJU05250AJU05260AJU05270AJU05280AJU05290AJU05300AJU05310AJU05320AJU05330AJU05340AJU05350AJU05360AJU05370AJU05380AJU05390AJU05400AJU05410AJU05420AJU05430AJU05440AJU05450AJU05460AJU05470AJU05480AJU05490AJU05500

50

Page 51: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

FILE: AJUSTAR FORTRAN A1 VM/SF CONVERSATIONAL MONITOR SYSTEM

IF(OCF.EQ.'MILL') CALL MDCHI(.95,GRL,GI2,IRR) AJU05510 IF(OCF.EQ.'MILL') CALL MDFI(.95,PARA,GRL,STU,IRR) AJU05520 IF(OCF.EQ.'MILL') CFEX(I)=SQRT(PARA*STU*VAR*PESO)+SQRT(VAR*GRL/GI2AJU05530

*)*1.96IF(OCF.NE.'SCHF'.AND.OCF.NE.'MILL') CALL MDSTI(.1,GRL,STU,1ER) IF(OCF.NE.'SCHF'.AND.OCF.NE.'MILL') CFEX(I)=STU*SQRT(VAR*PESO)P0L=0.DO 5 L=1,NG+1 B(L)=SNGL(A(L))AAA=XEX(I)

5 POL= A(L)*(AAA**(L-l))+POL YEX(I)=SNGL(POL)IF(NPAN.LT.l) WRITE(6,13) I,XEX(I),I,YEX(I),CFEX(I)

3 IF(NPAN.GE.l) WRITE(8,13) I,XEX(I),I,YEX(I),CFEX(I)13 FORMATdX,'X(',I2,')=',E10.4,lX,'Y(',I2,')=',RlO.4,lX,'CONF

*4)20 XMAX=0.

XMIN=1.E+15 D023 1=1,JIF(XR(I).LT.XMIN) XMIN=XR(I)

23 IF(XR(I).GT.XMAX) XMAX=XR(I)DX=(XMAX-XMIN)/100.DO 22 1=0,100 XET(I+l)=XMIN+DX*FLOATd)PESO=ABS(d./FLOAT(NP-NPEL))+(XETd+l)-XMED)/SX)IF(OCF.EQ.'SCHF') CALL MDFI(.95,PARA,GRL,STU,TER)IF(OCF.EQ.'SCHF') C0NFIA(I+1)=SQRT(PARA*STU*VAR*PES0)IF(OCF.EQ.'MILL') CALL MDCHI(.95,GRL,GI2,IER)IF(OCF.EQ.'MILL') CALL MDFI(.95,PARA,GRL,STU,IER)IF(OCF.EQ.'MILL') CONFIA(I+1)=SQRT(PARA*STU*VAR*PESO)4SQRT(VAR*GRLAJU05800

*/GI2)*1.96 AJU05810IF(OCF.NE.'SCHF'.AND.OCF.NE.'MILL') CALL MDSTI(.1,GRL,STU,IER) AJU05820IF(OCF.NE.'SCHF'.AND.OCF.NE.'MILL') CONFIA(I+1)=STU*SQRT(VAR*PESO)AJU05830

22 CONTINUE AJU05840WRITE(6,21) AJU05850

21 F0RMAT(1X,'SI DESEA REPRESENTACION GRAFICA TECLER i, SI NO O') AJU05860READ(5,*) IREP AJU05870IF(IREP.GT.O) CALL REPRR(XEX,YRX,CFEX,XFA,YFA,NEX,Nr,J) AJU05880RETURN AJU05890END AJU05900SUBROUTINE REPRE(XEX,YEX,CFEX,XFA,YFA,NRX,NP,J) AJU05910IMPLICIT DOUBLE PRECISI0N(A-H,0-Z) AJU05920COMMON/OPC/ NPAN,NOP,NG,IW,ISY AJU05930COMMON/REPR/XR(200),YR(200),B(51),CONFIA(101) AJU05940REAL*4 XEX(15),YEX(15),XR,YR,B,C0NFIA,CFEX(15),DX,DY AJU05950REAL*4 XX(101),YY(101),Y1(101),Y2(101) AJU05960REAL*4 XX2(101),XX1(101),XFA(200),YFA(200) AJU05970REAL*4 XMIN,XMAX,YMIN,YMAX,AA,BETA,PASX,PASY AJU05980CHARACTER*12 XROT,YROT AJU05990WRITE(6,12) AJU06000

12 F0RMAT(1X,'INTR0DUZCA SUCESIVAMENTE LOS ROTULOS QUR DESEA PARA LOSAJUD6010*EJES DE COORDENADAS X E Y (12 CARACTERES COMO MAXIMO)') AJU06020READ(5,13) XROT,YROT AJU06030

13 F0RMAT(2A12) AJU06040XMAX=0. AJU06050

AJU05540 AJU05550 AJU05560 AJU05570 AJU05580 AJU05590 AJU05600 AJU05610 AJU05620 AJU05630 AJU05640

.E10.AJU05650 AJU05660 AJU05670 AJU05680 AJU05690 AJU05700 AJU05710 AJU05720 AJU05730 AJU05740 AJU05750 AJU05760 AJU05770 AJU05780 AJU05790

51

Page 52: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

T1.E: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

XMIN=1.E+15YMAX=0.YMIN=1.E+15 DO 1 1=1,JIF(XR(I).GE.XMAX) XMAX=XR(I)IF(XR(I).LT.XMIN) XMIN=XR(I)IF(YR(I).GE.YMAX) YMAX=YR(I)IF(YRd).LT.YMIN) YMIN=YR(I)

1 CONTINUE DX=(XMAX-XMIN)/100.DY=(YMAX-YMIN)/100.DDY=18./(YMAX-YMIN)DUX=18./(XMAX-XMIN)PASX=10.*DXPASY=10.*DYDO 2 1=0,100 AA=XMIN4DX*FL0AT(1)XX(I+1)=AA DO 3 K=1,NG+1 BB=B(K)P0L=BB*(AA**(K-1)) + POL DP0L=BB*(K-l)*(AA**(K-2)) + DPOL

3 CONTINUEBETA=ATAN(DPOL)YY(H1)=SNGL(P0L)Yld+1)=SNGL(P0L)+C0NFIA(I+1)*C0S(BETA)Y2(I+1)=SNGL(P0L)-C0NFIA(I+1)*C0S(BETA)XX1(I+1)=XX(I+1)-C0NFIA(I+1)*SIN(BETA)XX2(I+1)=XX(I+1)+C0NFIA(I+1)*SIN(BETA)P0L=0.DPOL=0.

2 CONTINUECALL TKF('AJUSTAR')CALL UNITS('CENT')CALL PAGE(21.,29.5)CALL AREA2D(18.,18.)CALL HEADIN('AJUSTE M1NIM0-CUADRATTC0 DE POLINOMIO',100,.8,1)CALL FRAMECALL HEIGHT(.25)CALL XNAME(XROT)CALL YNAME(YROT)CALL GRAF(XMIN,PASX,XMAX,YMIN,PASY,YMAX)CALL CURVE(XX,YY,100,100)CALL DOTCALL CURVE(XX1,Y1,100,100)CALL CURVE(XX2,Y2,100,100)CALL HEIGHT(.l)CALL CURVE(XFA,YFA,NP,-1)CALL CURVE(XR,YR,J,-1)IF(NEX.LE.O) GO TO 6 CALL CURVE(XEX,YEX,NEX,-1)CALL DASH CALL HEIGHT(.2)DO 5 1=1,NEXCALL STRTPT((XEX(I)-XMIN)*DDX,0.)

AJU06060AJU06070AJU06080AJU06090AJU06100AJU06110AJU06120AJU06130AJU06140AJU06150AJU06160AJU06170AJU06180AJU06190AJU06200AJU06210AJU06220AJU06230AJU06240AJU06250AJU06260AJU06270AJU06280AJU06290AJU06300AJU06310AJU06320AJU06330AJU06340AJU06350AJU06360AJU06370ALU06380AJU06390AJU06400AJU06410AJU06420AJU06430AJU06440AJU06450AJU06460AJU06470AJU06480AJU06490AJU06500AJU06510AJU06520AJU06530AJU06540AJU06550AJU06560AJU06570AJU06580AJU06590AJU06600

52

Page 53: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Fll.E: AJUSTAR FORTRAN A1 VM/SP CONVERSATIONAL MONITOR SYSTEM

CALL CONNPT((XEX(I)-XMIN)*DDX,(YEX(l)-YMIN)*DDY) CALL CONNPT(0.,(YEX(I)-YMIN)*DDY)CALL STRTPT(0.,0.)

5 CONTINUE6 CALL LINES('---ECUACION AJUSTADA',1,1)

CALL LINES('---LIMITER ME CONFIANZA DEL 95%',1,2) CALL LINES('---LIMITES DE CONFIANZA DEL 95%',1,3) CALL LINES('---PUNTOS DEL AJUSTE BRUTOS',1,4)CALL LINES('---PUNTOS ERECTI VOS DEL AJUSTE',1,5) CALL LINES('---PUNTOS INTERPOLADOS',1,6)CALL LEGNAM('CLAVE TNTERPRETATIVA',20)CALL LEGEND(l,6,2.,-3.)CALL ENDPL(l)CALL DONEPL CALL REPTEK RETURN END

AJU06610AJU06620AJU06630AJU06640AJU06650AJU06660AJU06670AJU06680AJU06690AJU06700AJU06710AJU06720AJU06730AJU06740AJU06750AJU06760AJU06770

53

Page 54: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 55: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

CIEMAT 670Centro de Invesligaciones Energdticas, Medioambientales y Tecnoldgicas

Direccidn de Tecnologia. Madrid.

‘AJUSTAR’: UN PROCESADOR INTERACTIVE) PARA AJUSTE FOR MINIMOS CUADRADOS DE POLINOMIOS ALGEBRAICOS

(EN UNA SOLA VARIABLE Y GRADO ARBITRARIO)A CONJUNTOS DE DATOS EXPERIMENTALES

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 lab. 4 ligs. 10 tels.

En esta memoria se describe, y olrece a los cientificos y tdcnicos, una herramienta numdrica consislen- te en un programa de ejecucidn inleractiva que permile ajustes (MC) lineales (usando la tdcnica de los

polinomios ortogonales para el caso de distribucidn discrela) a conjuntos de datos u observaciones empiri- cas. Se ha incorporado al procedimienlo, eritre otros, las opciones de Iransformacidn de variable, inlerpo- lacidn directa, cdlculo del factor de correlacidn no lineal, "pesado" de los puntos, y acotacidn de intervalos

de conlianza (de Millas, Schefle o Student) y salida grdlica de resultados.

CUASIFICACION DOE Y DESCRIPTORES: 990200. Microprocessors. Least square Fit. Polynomials. Plot­

ters. Interactive display devices. Interpolation. Non linear problems.

CIEMAT 670Centro de Invesligaciones Energdticas, Medioambientales y Tecnoldgicas

Direccidn de Tecnologia. Madrid.

‘AJUSTAR’: UN PROCESADOR INTERACTIVO PARA AJUSTE FOR MINIMOS CUADRADOS DE POLINOMIOS ALGEBRAICOS

(EN UNA SOLA VARIABLE Y GRADO ARBITRARIO)A CONJUNTOS DE DATOS EXPERIMENTALES

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 tab. 4 ligs. 10 rels.

En esta memoria se describe, y olrece a los cientificos y tdcnicos, una herramienta numdrica consisten- le en un programa de ejecucidn inleractiva que permits ajustes (MC) lineales (usando la tdcnica de los polinomios ortogonales para el caso de distribucidn discrete) a conjuntos de datos u observaciones empiri- cas. Se ha incorporado al procedimienlo, entre otros, las opciones de translormacidn de variable, interpo- lacidn directa, cdlculo del factor de correlacidn no lineal, "pesado" de los puntos, y acotacidn de intervalos

de conlianza (de Millas, Scheffe o Student) y salida grdlica de resultados.

CLASIFICACION DOE Y DESCRIPTORES: 990200. Microprocessors. Least square Fit. Polynomials. Plot­

ters. Interactive display devices. Interpolation. Non linear problems.

-I

CIEMAT 670Centro de Invesligaciones Energdticas, Medioambientales y Tecnoldgicas Direccidn de Tecnologia. Madrid.

'AJUSTAR': UN PROCESADOR INTERACTIVO PARA AJUSTE FOR MINIMOS CUADRADOS DE POLINOMIOS ALGEBRAICOS

(EN UNA SOLA VARIABLE Y GRADO ARBITRARIO)A CONJUNTOS DE DATOS EXPERIMENTALES

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 tab. 4 ligs. 10 refs.

En esta memoria se describe, y olrece a los cientificos y tdcnicos, una herramienta numdrica consisten-

le en un programa de ejecucidn inleractiva que permile ajustes (MC) lineales (usando la tdcnica de los polinomios ortogonales para el caso de distribucidn discrela) a conjuntos de datos u observaciones empiri-

cas. Se ha incorporado al procedimienlo, entre otros, las opciones de translormacidn de variable, interpo- lacidn directa, cdlculo del (actor de correlacidn no lineal, "pesado" de los puntos, y acotacidn de intervalos

de conlianza (de Millas, Schelle o Student) y salida grdlica de resultados.

CLASIFICACION DOE Y DESCRIPTORES: 990200. Microprocessors. Least square Fit. Polynomials. Plot­ters. Interactive display devices. Interpolation. Non linear problems.

CIEMAT 670 ;Centro de Invesligaciones Energdticas, Medioambientales y Tecnoldgicas

Direccidn de Tecnologia. Madrid.

•AJUSTAR': UN PROCESADOR INTERACTIVO PARA AJUSTE FOR MINIMOS CUADRADOS DE POLINOMIOS ALGEBRAICOS

(EN UNA SOLA VARIABLE Y GRADO ARBITRARIO)A CONJUNTOS DE DATOS EXPERIMENTALES

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 tab. 4 ligs. 10 rels.

En esta memoria se describe, y olrece a los cientificos y tdcnicos, una herramienta numdrica consisten-

le en un programa de ejecucidn inleractiva que permile ajustes (MC) lineales (usando la tdcnica de los polinomios ortogonales para el caso de distribucidn discrela) a conjuntos de datos u observaciones empiri- cas. Se ha incorporado al procedimienlo, entre otros, las opciones de translormacidn de variable, interpo- lacitin dlrecta, cdlculo del (actor de correlacidn no lineal, "pesado" de los puntos, y acotacidn de intervalos

de conlianza (de Millas, Schelle o Student) y salida grdlica de resultados.

CLASIFICACION DOE Y DESCRIPTORES: 990200. Microprocessors. Least square Fit. Polynomials. Plot- i

lers. Interactive display devices. Interpolation. Non linear problems. j

Page 56: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos
Page 57: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos

Cl EM AT 670Centro de Investigaciones Energdticas, Medioambientales y Tecnoldgicas.

Direccidn de Tecnologla. Madrid.

‘AJUSTAR': A INTERACTIVE PROCESSOR FOR TO FIT, BY MEANS OF LEAST SQUARES, ONE VARIABLE POLINOMIALS (ARBITRARY DEGREE)

AT EXPERIMENTAL POINTS

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 tab. 4 tigs. 10 rets.

In this repport is ottered, to scientist and technical people, a numeric tool consisting in a FORTRAN

program, ol interactive use, with destination to make lineal "least squares", fittings on any set of empirical observations. The method based in the orthogonal functions (tor discrete case), instead of direct solving

the equations system, Is used.The procedure Includes also the optionally facilities of: variable change, direct interpolation, correlation

non linear (actor, “weights" ol the points, confidence intervals (Schetle, Miller, Student), and plotting results.

DOE CLASSIFICATION AND DESCRIPTORS: 990200. Microprocessors. Least square Fit. Polynomials. Plot­

ters. Interactive display devices. Interpolation. Non linear problems.

CIEMAT 670Centro de Investigaciones Energdticas, Medioambientales y Tecnoldgicas.

Direccidn de Tecnologla. Madrid.

-AJUSTAR': A INTERACTIVE PROCESSOR FOR TO FIT, BY MEANS OF LEAST SQUARES, ONE VARIABLE POLINOMIALS (ARBITRARY DEGREE)

AT EXPERIMENTAL POINTS

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 tab. 4 figs. 10 rets.

In this repport is ottered, to scientist and technical people, a numeric tool consisting in a FORTRAN

program, ol interactive use, with destination to make lineal "least squares", fittings on any set of empirical observations. The method based in the orthogonal (unctions (lor discrete case), instead ol direct solving

the equations system, is used.The procedure includes also the optionally facilities ol: variable change, direct interpolation, correlation

non linear factor, "weights" ol the points, confidence intervals (Schetle, Miller, Student), and plotting results.

DOE CLASSIFICATION AND DESCRIPTORS: 990200. Microprocessors. Least square Fit. Polynomials. Plot­

ters. Interactive display devices. Interpolation. Non linear problems.

CIEMAT 670Centro de Investigaciones Energdticas, Medioambientales y Tecnoldgicas.Direccidn de Tecnologla. Madrid.

‘AJUSTAR’: A INTERACTIVE PROCESSOR FOR TO FIT, BY MEANS OF LEAST SQUARES, ONE VARIABLE POLINOMIALS (ARBITRARY DEGREE)

AT EXPERIMENTAL POINTS

SANCHEZ MIRO, J.J.; PENA GUTIERREZ. J. (1991) 53 pp. 3 tab. 4 figs. 10 rets.

In this repport is offered, to scientist and technical people, a numeric tool consisting in a FORTRAN

program, of interactive use, with destination to make lineal "least squares", fittings on any set of empirical observations. The method based in the orthogonal functions (for discrete case), instead of direct solving

the equations system, is used.The procedure Includes also the optionally facilities of: variable change, direct interpolation, correlation

non linear factor, "weights" ol the points, confidence Intervals (Scheffe, Miller, Student), and plotting results.

DOE CLASSIFICATION AND DESCRIPTORS: 990200. Microprocessors. Least square Fit. Polynomials. Plot­ters. Interactive display devices. Interpolation. Non linear problems.

CIEMAT 670Centro de Investigaciones Energdticas, Medioambientales y Tecnoldgicas.Direccidn de Tecnologla. Madrid.

-AJUSTAR': A INTERACTIVE PROCESSOR FOR TO FIT, BY MEANS OF LEAST ' SQUARES, ONE VARIABLE POLINOMIALS (ARBITRARY DEGREE)

AT EXPERIMENTAL POINTS

SANCHEZ MIRO, J.J.; PENA GUTIERREZ, J. (1991) 53 pp. 3 tab. 4 ligs. 10 rets.

In this repport Is offered, to scientist and technical people, a numeric tool consisting in a FORTRAN

program, ol interactive use, with destination to make lineal "least squares", fittings on any set of empirical observations. The method based in the orthogonal functions (lor discrete case), instead of direct solving

the equations system, is used.The procedure includes also the optionally facilities of: variable change, direct interpolation, correlation

non linear factor, "weights" of the points, confidence intervals (Schetle, Miller, Student), and plotting results.

DOE CLASSIFICATION AND DESCRIPTORS: 990200. Microprocessors. Least square Fit. Polynomials. Plot­ters. Interactive display devices. Interpolation. Non linear problems.

Page 58: Ajustar. Un Procesador Interactivo para Ajuste por Mínimos