Tengo un problema relacionado con NDSolve en Mathematica, que ejecuto varias veces con diferentes valores de los parámetros. Para algunos de estos valores, la solución da como resultado singularidades y NDSolve advierte con NDSolve :: ndsz u otras advertencias relacionadas.Detecta advertencias/errores de Mathematica sin mostrarlos
Simplemente me gustaría captar estas advertencias, suprimir su visualización, y simplemente hacer un seguimiento del hecho de que ocurrió un problema para estos valores particulares de los parámetros. Pensé en las siguientes opciones (ninguno de los cuales realmente hacer el truco):
- Sé que puedo determinar si un comando se ha traducido en una advertencia o error utilizando
Check
. Sin embargo, eso aún mostrará la advertencia. Si lo apago conOff
, elCheck
no informa la advertencia también. - Es posible detener NDSolve utilizando el método
EventLocator
, por lo que pude verificar valores muy grandes de la función o sus derivados y detener la evaluación en ese caso. Sin embargo, en la práctica, esto todavía produce advertencias de vez en cuando, presumiblemente porque el tamaño del paso a veces puede ser tan grande que se dispara la advertencia NDSolve antes de que miEvent
haya tenido lugar.
¿Alguna otra sugerencia?
Si bien Check no parece detectar las advertencias de NDSolve :: ndsz, la sugerencia sobre Silencio fue muy útil. –
@Kasper: Me alegro de poder ayudar. ¿Puedes dar un ejemplo en el que 'Check' no capte la advertencia' NDSolve'? – Simon