Top 20

1 0x00h 701 pts
2 boris39 701 pts
3 neoxquick 682 pts
4 maf-ia 663 pts
5 thefinder 645 pts
6 benito255 609 pts
7 mego 592 pts
8 madbat2 581 pts
9 Mart 554 pts
10 tehron 504 pts
11 Kithyane 503 pts
12 egosum 474 pts
13 plucth 447 pts
14 Undr 416 pts
15 Zeta 416 pts
16 CoYoTe99 416 pts
17 loonies2 412 pts
18 Armavica 411 pts
19 vitalimarrenra 404 pts
20 b0n0n 397 pts

Classement complet

Shoutbox

15 Jul - 8:43 pm

Cool !! Merci beaucoup !!

9 Jul - 11:20 pm

Hello, je regarde ça dès que je peux, probablement demain

9 Jul - 5:54 pm

Bonjour à tous, Je rencontre le même problème que "Foo". Impossible de valider des nouveaux challs, et impossible d'en revalider des anciens... D'avance merci :)

8 Jul - 1:38 pm

Hello. C'est normal que j'arrive pas à valider quoi que ce soit ? La page validation.php renvoie toujours un contenu vide. Même quand j'utilise le code d'exemple donné.

3 Apr - 12:45 pm

Bonjour metatr0n, pas besoin besoin restaurer mon compte précédent puisque j'ai pu revalider les épreuves avec le nouveau :) Si le système de mail ne fonctionne plus, il est probable que l'épreuve "Email (21)" soit également impactée. Au passage je te signale un potentiel problème de précision numérique avec l'épreuve "Polynomial regression (25)" nécessitant plusieurs essais pour valider l'épreuve. Lorsque je vérifie mon polynôme en local (double C++), je respecte pourtant la tolérance de précision. Merci pour les épreuves, je me régale ! :)

26 Mar - 6:14 pm

Bonjour, effectivement notre système de mail a l'air d'être en vrac, si tu veux récupérer ton compte je peux te réinitialiser ton mot de passe à la main

17 Mar - 5:36 pm

Bonjour, l'envoi d'email du système de ré-initialisation de mot de passe semble ne pas marcher (mail orange.fr). J'ai pourtant attendu et vérifié mes spams. J'ai du créer un compte "loonies2" en remplacement de "loonies".

11 Feb - 8:21 pm

Bonjour, oui bien sûr, on peut utiliser n'importe quel langage

9 Feb - 11:30 pm

Bonjours, on peut utiliser python 3 ?

26 Jan - 2:06 pm

Hi, that's right, I'm gonna look into it, thanks

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Physique :: Pendulum ODE I (51)

Résumé

ID : 51
Points : 17
Validations :
Page de l'épreuve
Reporter un bug

Description


Ce challenge est le premier d’une série traitant la résolution d’équations différentielles non linéaires.

Une équation différentielle non linéaire est une relation non linéaire entre une ou plusieurs fonctions inconnues et leurs dérivées.

Pour ce type d’équation, il n’existe pas de méthode de résolution analytique systématique ; aussi, la résolution de ces équations nécessite l’utilisation de méthodes numériques ; méthodes qui seront l’objet d’étude de ces challenges.

Considérons dans un premier temps un système physique simple donnant lieu à une équation différentielle non linéaire : le simple pendule soumis à son propre poids.

Nous modéliserons ce système par une barre indéformable (OA) de longueur l et de masse nulle ; à l’extrémité A de laquelle se trouve une masse ponctuelle m. La liaison pivot en O est supposée parfaite (sans jeu) et sans frottement. Le champ de pesanteur est caractérisé par .
Nous utiliserons le seul paramètre relatif , qui est l’angle orienté .



Nous cherchons à résoudre l’équation du mouvement de ce système, qui est une équation différentielle non linéaire. Plus précisément, cette équation de mouvement, ainsi que la fonction et ses dérivées qu’elle (l’équation) contient, ne faisant intervenir qu’une seule variable indépendante (le temps t), nous obtenons un type d’équation différentielle particulier : une équation différentielle ordinaire ou encore ODE (ordinary differential equation).

De façon à valider nos résultats numériques, nous chercherons dans un premier temps un cas d’étude permettant à l’aide d’approximations, de réduire notre ODE non linéaire, en une ODE linéaire. L’avantage étant de pouvoir en tirer une solution analytique ‘de référence’.

L’objectif de ce premier challenge est donc de résoudre l’équation du mouvement du système, pour les cas où l’angle initial est petit (compris entre 0 et 1°) ; l’approximation des petits angles permettant de poser et , de façon à lever la non-linéarité présente dans l’équation.


Votre travail :

Après avoir déterminé l’équation différentielle de mouvement linéarisée du système (beaucoup de documentation à ce sujet existe sur internet), vous devrez la résoudre (analytiquement donc) pour trouver la solution en terme de position du problème (expression de la fonction ).
Pour information, sachez que cette équation différentielle du mouvement est d’ordre 2, c’est-à-dire qu’elle fait intervenir une dérivée seconde de la fonction ; en outre elle est de la forme .

Une fois la solution en terme de position du problème trouvée, vous déterminerez par dérivation les solutions en terme de vitesse (expression de la fonction puis accélération (expression de la fonction ) du problème.


Pour résoudre ce challenge, vous allez recevoir deux variables définissant les dimensions et conditions initiales du système :

l : longueur de la barre en mètre

theta_0 : angle initial en degré (compris entre 0° et 1°)

Nous posons g = 9.81m.s-2 , m = 5kg et (vitesse angulaire initiale) = 0deg.s-1 .

Vous aurez à renvoyer les évaluations de , et pour t = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 secondes , chacune des valeurs sera tronquée à 5 décimales.
Ainsi, 4.56657946 donnera 4.56657 , -56.254886 donnera -56.25488 et 0.12 donnera 0.12000 .


Exemple

l = 1.15
theta_0 = 0.75

theta = "-0.01277;0.01183;-0.01031;0.00830;-0.00588;0.00317;-0.00032;-0.00255;0.00530;-0.00779"
dtheta = "-0.00837;0.01634;-0.02352;0.02955;-0.03415;0.03708;-0.03822;0.03749;-0.03495;0.03070"
ddtheta = "0.10894;-0.10094;0.08802;-0.07083;0.05020;-0.02712;0.00273;0.02179;-0.04525;0.06652"


Variables


Nom Type Description
Variables à récupérer
lRéelfloatlongueur de la barre en mètre
theta_0Réelfloatangle initial en degré
Variables à renvoyer
thetaChaîne de caractèreschar*évaluations de la fonction en radian
dthetaChaîne de caractèreschar*évaluations de la fonction en radian / seconde
ddthetaChaîne de caractèreschar*évaluations de la fonction en radian / seconde^2