|
|
|
|
Posté par
Kiki, le vendredi 9 décembre 2005 à 16:45:30Coucou Kiki! :P
Je ne voudrais pas faire le travail à ta place ;) mais je veux bien t'assister un peu... As-tu déjà commencer le travail d'une manière ou d'une autre ? As-tu essayer d'avoir des idées, de faire une solution abstraite ou écrite en pseudo-code ? Bonne inspiration... à+ |
Bonjour Hibou,
Je te fais part de mes recherches si tu le veux bien, puisque c'est plus un travail de recherche que quelque chose qu'on a vu en cours d'Analyse de la valeur. Tout d'abord, qu'est ce que l'extrapolation? J'ai trouvé qu'une telle méthode permet de reconstruire un signal grace à ce qui précède ou ce qui suit. Pour le cas d'un calcul de dérivée je ne sais aps trop ce que ca représente car ce n'est pas un signal mais une suite de tangente qui le signal. J'ai trouvé plusieurs méthodes d'extrapolation: Extrapolation de Richardson. Dans le cas d'un calcul de dérivée en un point , il faut arriver a trouver les dérivées avec des pas constant. Donc pour calculer D(0), si on prend un pas de h=0.1 faut calculer D(h/10); puis D(h/100) puis D(h/1000). Romberg. Elle utilise en plus la méthode composite des trapezes avec des pas décroissants. Voila ce que j'ai trouvé comme méthodes. Pour le développement, j'ai vu des exemples mais que sur matlab ou par exemple la fonction romberg() existe. Voila Hibou où j'en suis aujourd'hui. En tout cas merci de me donner un coup de main. A bientot! |
Slt,
Concernant le calcul de la dérivée en un point, je pense que tu peux faire appel à la définition (que tu as certainement vue à l'école il y a qques années ;-)): f'(x)= (f(x+h)-f(x-h)) / (2h) en tout point f(x) défini (classe C1) pour h->0. L'implémentation de ce calcul coule de source, tu n'as qu'à calculer la valeur de ta fonction sur 2 valeurs proches ... Ce n'est pas la méthode la plus "élégante" mais elle est élémentaire. Tu peux aussi commencer par calculer la dérivée de ta fonction de manière formelle (pas trop complexe si il s'agit par ex d'un polynôme) et calculer sa valeur au point choisi => c'est plus précis mais ça peut rapidement devenir compliqué si tu veux attaquer des fonctions + complexes (exponentielles, logs, compositions et autre produits...) Good luck |
Kiki, Emanuel,
Il ne faut pas oublier d'abord que le calcul formel, et le calcul « en pratique » sur un ordinnateur, ce n'est pas du tout la même chose. Et c'est là que se pose le délicat problème de la maitrise de la précision. Par exemple, avec la première formule d'emanuel, le problème est de savoir comment faire varier h. D'un point de vue formel, la réponse est simple : h doit être infiniment petit, mais sans être zéro. On pourrait penser naïvement que d'un point de vu informatique, si on utilise un type float (le nombre réel en informatique), on pourra choisir une valeur aussi petite que possible. Mais dans ce domaine tout d'abord, la notion de tendre vers zéro n'existe pas, car en informatique, le zéro, on tombe dessus d'un coup! Prendre la plus petite valeur possible pour un float, et qui ne soit pas zéro, serait une erreur. Car les choses se passeront ainsi, si on fait évoluer h entre x e 0. Commençont à x. 1) On applique la formul d'emanuel, et on obtient une valeur pas trés précise. 2) On diminue h, on applique la formule, on obtient une valeur un peu plus précise. 3) On continue à faire varier h, la valeur deviens de plus en plus précise, et ainsi de suite. Mais à une valeur x' de h, la précision du calcul sera maximal, et si on continue à faire varier h vers 0, la précision ne va pas augmenter, mais diminuer de plus en plus (et l'erreur finira par atteindre son paroxisme avec une belle division par 0 lol ) Nous aurons shématiquement un courbe en cloche, pas nécéssairement symétrique, avec un x' ou la précision est maximal n.b. je ne pense pas, intuitivement, qu'il puisse y avoir plusieurs extremum dans la courbe de mesure de la précision. Alors est-ce que cette question est bien celle à laquelle tu dois répondre ? Ou te demande t-on juste de montrer que tu es capable de coder un petit alogorithme en c ou en java (sans différence pour ça) ? Je crois qu'il faudrait qu'on sache se que tes profs attendent de toi, ce que tu fait comme étude, etc, pour se faire une idée... ... sinon on va vite partire dans le gros hors-sujet lol Mais si maitrise de la précision des calcul informatique est à ton programme, alors ok, on va pouvoir s'y mettre, et s'amuser pour plusieurs nuit. Mais si tu n'a qu'un peut d'algo à ton programme, histoire de t'inculquer quelque notion qui te seront utile en phylosophie, logique mathématique, epistémologie, ou autre culture général ou scientifique, alors là on va devoir partire sur quelque chose de beaucoup plus simple. Tu en pense quoi Kiki ?
|
bonsoir,
je crains que l'extrapolation de richardson ne te permette de calculer la dérivée en un point que si tu connais la dérivée. En effet, cette méthode te permet de calculer la valeur d'une fonction en l'approchant par la droite ou par la gauche (d'où le terme extrapolation) pour romberg, c'est plutôt pour l'intégration. pour calculer la dérivée en un point en partant de la fonction, et non pas de la fonction dérivée, il y a les différences centrées ou décentrées. je serais d'avis de le faire en décentré à droite puis à gauche (pour vérifier qu'elles sont égales) et de ne pas pousser le h trop bas (http://www.mema.ucl.ac.be/~vl/documents/bac/num/fsab1104-5.pdf). A+
|
Slt,
Je suis en 3e année en école d'ingé en info... Et si on a à peu près les mêmes cours d'analyse, je pense que tu devrais trouver ce qu'il te faut dans le chapitre développements limités, notamment avec les formules de Taylor (la formule que je donne ds mon premier post est + connue sous le nom de theo. des accroissements finis et est en fait la formule de Taylor Lagrange à l'ordre 0). Pour ton pb, cette formule me semble d'autant plus intéressante qu'elle te permettra de quantifier l'évolution de l'erreur de troncature en fonction de h (voir Taylor-Young à l'ordre1) et qu'en pratique, c'est la méthode qui est couramment employée. Qui plus est, si tu y regardes de plus près, les méthodes de Richardson et Romberg sont une mise en pratique dérivée des développements de Taylor. Tu noteras au passage qu'un calcul de différence décentrée sera moins précis (d'ordre 1) que la différence décentrée (d'ordre2)... Si tu veux aller plus loin en précision tu peux utiliser des méthodes variées de minimisation de l'erreur, de la régression statistique à la minimisation au carré (voir Marquardt-Levenberg) ou l'interpolation (voir interpolation de Lagrange). Pour ce qui est de la manipulation de h tu as donc la possibilité soit de manipuler des valeurs décroissantes, soit de faire le calcul en plusieurs points puis d'appliquer un filtre correctif (cf ci dessus) et toute combinaison des 2. NB pour hibou57, je ne suis évidemment pas vexé, mais comme on dit, on a rien sans rien... s'il existait une méthode simple et 100% précise, on aurait pas besoin d'inventer des méthodes complexes pour approximer et réduire l'erreur: en conclusion simple=> erreur max, complexe=>temps et réflexion... et qque part au milieu est la bonne solution pour un problème donné. Good luck |
| 27/02 15h12 | [Linux] Installer les programmes (gestion des paquets, compil) | Linux |
| 14/09 10h42 | [Programmation] Critères de choix d'un langage/framework | Programmation |
| 23/08 20h00 | Supprimer complètement un programme | Windows |
| 28/10 19h36 | Google - Fonction calculatrice | |
| 01/11 01h00 | Installation de programmes - Windows Installer CleanUp | Windows |
| 19/05 14h58 | Programme Calcul de dérivée, primitive, log.. | 1 |
| 22/05 10h00 | Programmation calculatrice | 13 |
| 29/02 17h32 | Programmation calculatrice/ordi | 5 |
| 13/02 05h38 | Un programme calculant(en c) n!(n factoriel) | 1 |
![]() | PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,... | Catégorie: Développement Licence: Freeware/gratuit |
![]() | The Love Calculator - L'amour est un grand mot, alors tous les moyens sont bons pour la trouver. Le nom de chacun peut en dire beaucoup sur la... | Catégorie: Bureautique Licence: Freeware/gratuit |
![]() | Ma Calculatrice - Windows propose par défaut une calculatrice avec des fonctions dites scientifiques mais tout de même incomplètes. ... | Catégorie: Calculatrice Licence: Freeware/gratuit |
![]() | PDF Creator - PDF Creator est un outil gratuit permettant de créer des PDF à partir de presque n'importe quelle application capable... | Catégorie: PDF Licence: Open Source |
![]() | Adibou, je lis, je | Catégorie: Jeu vidéo PC | 12.99 € PriceMinister |
![]() | Les Experts : Mort | Catégorie: Jeu vidéo PC | 28.89 € PriceMinister |
![]() | Verbatim Mouse Wireless Programmable | Catégorie: Souris | 15.99 € Matrixx-media FR |
![]() | Calcul & Vocabulaire | Catégorie: Jeu vidéo PC | 1.50 € PriceMinister |