close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#672 closed doubt (fixed)

Funcion PutSerDat

Reported by: Iván Robles Owned by: Víctor de Buen Remiro
Priority: normal Milestone:
Component: TimeAlgebra Version: 1.1.7
Severity: normal Keywords:
Cc:

Description (last modified by Víctor de Buen Remiro)

La función PutSerDat no cambia el dato cuando la serie es infinita.

Ejemplo:

Serie prueba = CalInd(Mensual,Mensual);
Real PutSerDat(prueba ,y2008m01d01,5);

Si la serie es finita o la serie es reasignada si cambia el dato, por ejemplo

Serie prueba = CalInd(Mensual,Mensual);
Serie prueba := CalInd(Mensual,Mensual);
Real PutSerDat(prueba ,y2008m01d01,5);

Un saludo

Change History (7)

comment:1 Changed 16 years ago by Iván Robles

Component: DatabaseVarious
Owner: changed from Jorge to Víctor de Buen Remiro

comment:2 Changed 16 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

Es imposible cambiar un dato de una serie infinita por la sencilla razón de que sus datos no están en ningún sitio físico, al menos mientras no inventen los chip de memoria infinita. Una serie infinita es un objeto virtual que se calcula mediante una serie de reglas bastante complejas de forma que los datos sólo existen cuando se le solicitan para una fecha o intervalo acotado determinado.

Cuando haces una operación del tipo PutValue (:=) sobre una serie infinita te dice claramente que lo que le pides no es posible y que va a hacer lo más aproximado que está a su alcance, es decir, que te dará un trozo de la serie en el intervalo por defecto. Por lo tanto una serie reasignada es necesariamente una serie finita.

Warning: [1] No se puede aplicar PutValue (:=) a una serie temporal con otra que no tiene fechas acotadas, por lo que será truncada por las fechas por defecto en curso: [y2009m01d01,y2009m12d31]

Lo único que veo que se puede mejorar es la descripción de la función PutSerDat para que haga mención explícita de que sólo afecta a series finitas.

Real PutSerDat(Serie ser, Date d, Real nuevoValor)

Cambia el valor de un elemento de una serie temporal FINITA y devuelve el valor que tenía anteriormente.

comment:3 Changed 16 years ago by Víctor de Buen Remiro

Component: VariousTimeAlgebra
Type: defectdoubt

comment:4 Changed 16 years ago by Víctor de Buen Remiro

Para evitar confusiones también se emitirá un mensaje de advertencia de que no es posible llevar a cabo la acción solicitada.

Muchas gracias por compartir tus experiencias con la comunidad de usuarios de TOL

comment:5 Changed 16 years ago by Víctor de Buen Remiro

(In [869]) Fixes #672

comment:6 Changed 16 years ago by Víctor de Buen Remiro

(In [870]) Fixes #672

comment:7 Changed 16 years ago by Víctor de Buen Remiro

Description: modified (diff)
Note: See TracTickets for help on using tickets.