Inscription / Connexion Nouveau Sujet
Niveau école ingénieur
Partager :

Méthode approchée : équation différentielle

Posté par
Sauro
19-11-23 à 21:12

Bonjour/bonsoir à tous,

Je cherche à résoudre une équation différentielle et très honnêtement je bloque, c'est pourquoi je viens vous demander un peu d'aide.

L'équation que je cherche à résoudre est présentée dans l'image jointe, où θ est un angle (θ" une accélération angulaire, donc) et A, B, C, D et E des constantes.

Je suis un peu rouillé sur les équations différentielles, mais il ne me semble pas que celle-ci soit simple à résoudre analytiquement (mais je peux me tromper !). Je chercherais donc une résolution approchée, par exemple avec la méthode d'Euler ou de Runge-Kutta mais la je bloque, je ne sais absolument pas comment m'y prendre. Je précise que je ne m'attends pas à ce qu'on me donne une solution toute faite, mais je souhaiterais comprendre comment travailler avec ce genre d'équations pour après savoir les résoudre.

Un grand merci à ceux qui prendront le temps de m'aider !

Méthode approchée : équation différentielle

Posté par
thetapinch27
re : Méthode approchée : équation différentielle 20-11-23 à 08:05

Bonjour,

Quelques questions et remarques.
* Ton objectif est-il d'avoir une solution "d'ingénieur" pour résoudre un problème concret (A, B, C, D, E sont connus), ou de faire des maths ? Dans le premier cas, je te suggère d'utiliser un solveur numérique ; ce n'est pas ce qui manque (voir les toolbox en Python etc...). Ça se règle en quelques lignes de code. Inutile de réinventer la roue.

Sinon, pour l'équation en elle-même, on peut simplifier car il y a trop de constantes (A, B, C, D, E). On pourrait n'en avoir que 3 au lieu de 5 sans perdre la généralité du problème.

Ensuite, la résolution analytique me paraît compliquée si on ne connaît rien des paramètres. Je tenterais deux choses :
1- Si Theta est "petit" alors je linéariserais pour avoir une équation linéaire et je comparerais avec une solution numérique pour voir l'erreur commise selon l'amplitude de Theta.
2- Sinon j'essaierais le changement de fonction y=tan(theta/2) ce qui permet de s'affranchir des cos, sin etc...en utilisant les formules trigos qui vont bien. Mais ce qui ne permettra probablement pas d'en faire plus (à essayer ...).
3- Si l'équation vient d'un système mécanique conservatif, il faut exploiter les invariants ; l'énergie notamment. Voir les méthodes utilisées pour le pendule simple non linéarisé. Ça permet de tirer beaucoup d'informations sur les solution sans pour autant en avoir une expression avec des fonctions usuelles.

Bonne journée

Posté par
Sauro
re : Méthode approchée : équation différentielle 20-11-23 à 20:14

Bonjour,

Merci pour ce retour ! En effet ce que je recherche est une "solution ingénieur, les constantes sont donc considérées connues même si variables (paramètres). Au besoin je peux préciser certaines valeurs, si cela peut aider à la résolution.

J'ai effectivement pensé à une résolution numérique, qui conviendrait parfaitement à mon cas, mais je n'ai pas souvenir d'avoir déjà résolu des équations différentielles du second ordre de cette manière... Je ne sais donc pas trop comment m'y prendre, un lien ou une explication serait bienvenu(e) !

Malheureusement thêta ne peut être considéré comme petit puisque variant entre 0 et 45°. En revanche les 2 derniers points m'interpellent et je vais aller faire quelques recherches de mon côté.

Un grand merci pour ces réponses !

Posté par
thetapinch27
re : Méthode approchée : équation différentielle 20-11-23 à 20:49

Bonsoir,

En python ça prend quelques lignes. Voici un exemple simple:

import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt

# Définir l'équation différentielle [y', y''] = f(t, [y, y'])
def f(t, y):
    return [y[1], -2*y[1] - 2*y[0]]

# Conditions initiales
y0 = [1, 0]

# Intervalle de temps
t_span = [0, 10]

# Résolution de l'équation différentielle avec la méthode de Runge-Kutta
sol = solve_ivp(f, t_span, y0, method='RK45')

# Afficher les valeurs de t et y
print(sol.t)
print(sol.y)

# Graphique de la solution
plt.plot(sol.t, sol.y[0])
plt.xlabel('t')
plt.ylabel('y')
plt.title('Solution de l\'équation différentielle')
plt.grid()
plt.show()


Bonne soirée

Posté par
elhor_abdelali Correcteur
re : Méthode approchée : équation différentielle 21-11-23 à 20:43

Bonsoir

Une approche mathématique possible :

Si on note \Large\boxed{f:x\mapsto\frac{1}{ax^2+bx+c}} avec \Large\boxed{\left\lbrace\begin{array}l a=-CD \\ b=+CE \\ c=-B \end{array}}

l'équation différentielle s'écrit \Large\boxed{\theta''=A.\cos(\theta).f(\sin(\theta))}

et donc \Large\boxed{\theta''\theta'=A.\theta'\cos(\theta).f(\sin(\theta))}

qui s'intègre en \Large\boxed{\frac{1}{2}\theta'^2=A.F(\sin(\theta))+K}F est une primitive de f sur un intervalle convenable I,

selon Sauro l'angle \theta varie entre 0° et 45° donc I doit au moins contenir le segment [0,\frac{\sqrt2}{2}]


on peut donner F analytiquement connaissant les valeurs des constantes B,C,D et E


Je ne connais pas le phénomène physique dont l'étude mène à cette équation différentielle


c'est à Sauro de le préciser ainsi que la valeur des constantes et les conditions initiales (pour calculer les constantes d'intégration).


Ainsi les solutions \theta (fonction d'une variable t) qui croit strictement (ou décroit strictement) sur un intervalle non trivial J doivent vérifier :


\Large\boxed{\forall t\in J~,~\theta'(t)=\sqrt{2\left(A.F(\sin\theta(t))+K\right)}} ou \Large\boxed{\forall t\in J~,~\theta'(t)=-\sqrt{2\left(A.F(\sin\theta(t))+K\right)}}.


Dans les deux cas, \theta est une bijection de J dans l'intervalle I=\theta(J) et on se ramène à l'une des deux équations :


\Large\boxed{\forall x\in I~,~\left(\theta^{-1}\right)'(x)=\frac{1}{\sqrt{2\left(A.F(\sin x)+K\right)}}} ou \Large\boxed{\forall x\in I~,~\left(\theta^{-1}\right)'(x)=-\frac{1}{\sqrt{2\left(A.F(\sin x)+K\right)}}}


et ainsi une seconde intégration (donc une seconde constante d'intégration) permet de déterminer \theta^{-1} et par suite \theta sauf erreur de ma part bien entendu

Posté par
elhor_abdelali Correcteur
re : Méthode approchée : équation différentielle 21-11-23 à 20:48

Une petite étourderie, lire plutôt \Large\boxed{\left\lbrace\begin{array}l a=CD \\ b=-CE \\ c=-B \end{array}}



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1673 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !