hei,
tulee ylivuoto käytettäessä tyyppiä Double olevaa muuttujaa. Kyse on mallinsovitusohjelmasta. Onko mitään keinoa tallentaa muuttujia, jotka tyypissä double aiheuttavat ylivuodon.
Tuntuu vaikealta kuvitella että käytät lukua joka ei sovi tälle aluuelle:
-1.79769313486232 E308 to -4.94065645841247 E-324 for negative values; 4.94065645841247 E-324 to 1.79769313486232 E308 for positive values.
Tosin tarkkuus tuossa loppuu melko nopeasti (8 tavua 15 numeron tarkkuus).
Voitko vähän valaista tilannetta jossa ylivuoto tulee?
Se tulee laskettaessa funktiota exp(-(x/a)^b), missä a ja b ovat ratkaistavat parametrit. Ilmeisesti ylivuoto tulee , kun ratkaisija ajautuu sivuun oikeasta ratkaisusta ja b:lle alkaa tulemaan suuria arvoja.
Variant-muuttujat tukee alatyyppiä Decimal, joka muistaakseni kestää Doublea isompia numeroita. Et voi määrittää muuttujaa suoraan Decimaliksi, vaan yleensä helpointa on tehdä merkkijonosta CDecillä Decimal.
Lienee kuitenkin parempi selvittää syy sille, että tulee ylivuoto. Doublen skaala kun on aika laaja.
Muoks!
Eli ei muuta kuin debuggia lisää :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.