2016-11-18 2 views
1

Je pensais à une question élémentaire en analyse numérique. Pour discrétiser une équation différentielle ordinaire, il est bien connu qu'une méthode du second ordre est plus précise qu'une méthode du premier ordre, puisque l'erreur de troncature pour la méthode du second ordre est O (dx^2) et O (dx) pour la méthode du premier ordre. Ceci est vrai lorsque 0 < dx < 1.La méthode du second ordre est-elle pire que la méthode du premier ordre?

et si dx> 1? Par exemple, le domaine est compris entre 0 et 10000 et le maillage est 1000, alors dx = 10. Dans ce cas, la méthode du second ordre n'est-elle pas précise en tant que méthode de premier ordre, puisque dx^2 = 100 et dx = 10? Nous pouvons le rencontrer lorsque nous traitons un problème à grande échelle, comme la modélisation du climat (la taille du nuage pourrait être de plusieurs kilomètres).

Répondre

1

Une méthode de second ordre n'est pas plus précise qu'une méthode de premier ordre car dx^2 < dx, pour une valeur de dx. C'est une déclaration sur le taux asymptotique de convergence pour les petits dx.

De plus, comparer directement dx^2 à dx n'a pas de sens, car dx n'est pas une quantité sans unité, c'est une longueur. Donc, vous essayez de comparer une zone à une longueur, ce qui n'a pas de sens.

Dans big-O notation, si une quantité converge avec O (dx^2), alors cela signifie généralement que l'erreur est de la forme e = a2 dx^2 + a3 dx^3 + ... Le premier coefficient a2 est dans les unités de X/mètres^2, où X est l'unité dans laquelle se trouve votre erreur, et peut-être que vous utilisez une autre longueur au lieu de mètres. De même, pour une solution de premier ordre, l'erreur est de la forme b1 dx + b2 dx^2 + ..., où b1 est en unités de X/mètres. Donc, si vous décidez que vous pouvez négliger les termes non-principaux (ce que vous ne pouvez probablement pas faire pour les grandes valeurs de dx), la comparaison n'est pas entre dx^2 et dx, c'est entre a2 dx^2 et b1 dx. Il y a évidemment un croisement entre ces deux termes d'erreur, mais ce n'est pas à dx = 1, c'est à dx = b1/a2. Si votre discrétisation est si grossière, vous n'êtes probablement pas dans le régime asymptotique dans lequel vous pouvez ignorer les termes d'ordre supérieur, et votre solution est probablement très inexacte de toute façon.