LINUX.ORG.RU

численный расчет дифуравнения вылетает по точности

 


0

1

При численном решении дифуравнения второго порядка итерационным методом при увеличении разбиения отрезка происходит вылет по точности. кто подскажет как быть? При разбиении отрезка длиной 1 на 20 считает. а если разбить на 100 уже не идет. Хотя на С++ этот алгоритм работает без проблем. и да я знаю что эту задачу можно решить аналитически либо использовать численный инструмент максима. Но я проверяю возможность пакета решать уравнения в конечных разностях, чтобы попробовать системы уравнеий в частных производных. Текст диагностики Maxima encountered a Lisp error: arithmetic error FLOATING-POINT-OVERFLOW signalled Operation was (COMMON-LISP:FLOAT 679674044146910848350352976091753315215586608696374359121175065708420592903315010202338391061922637077443153128140348616447149931868960940533257050576822770055764374921806604461972815533450286054032162871011750670017136742242947039576808805476825222642494799361827559956156230251162366908837918457716199145553 DOUBLE-FLOAT). Automatically continuing. To enable the Lisp debugger set debugger-hook to nil.


При численном решении дифуравнения второго порядка итерационным методом при увеличении разбиения отрезка происходит вылет по точности. кто подскажет как быть?

Как вариант, не исключено, что проблема аппаратная, а не программная. Если так частоту CPU понизь и/или напряжение ему повысь. У меня такое было, комп даунвольтил, все казалось бы нормально, только Intel Linpack выдает ошибки в вычислениях. Причем при больших размерах систем линейных уравнений. Небольшие системы успевали без ошибок подсчитаться.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 2)