IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

Résolution du système d'EDO de dimension 2 par la méthode de Runge-Kutta d'ordre 4


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2020
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Résolution du système d'EDO de dimension 2 par la méthode de Runge-Kutta d'ordre 4
    Bonsoir,
    j'aimerais vraiment votre aide car depuis quelques jours j'ai du mal à résoudre ce système d'EDO par la méthode de Rungeè-Kutta d'ordre 4:
    dFO/dt= Do(ik)^2FO+Dt (ik)^2FT
    dFT/dt= A(ik)^2FO+B (ik)^2FT
    AVEC Do, Dt ,A et B des constantes et FO, la transformation de Fourier de théta et FT, la transformation de Fourier T.

    Voici mon code

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    import numpy as np
    from scipy.integrate import odeint
    import matplotlib.pyplot as plt
    # 3_b une fonction RungeKutta4()
    # la declaration de constat
    N = "[valeur de N]"
    Do =" [valeur de Dt]"
    Dt =" [valeur de Dt]"
    A = " [valeur de Dt]"
    B = " [valeur de Dt]"
    k =[np.arange(0, N/2, 1), np.arange(-N/2, 0, 1)]
    t[0] = 0
     
    def righthandside1(Ft,Fo):
    righthandside1 = Do*(1j)**2*k**2*Fo+Dt*(1j)**2*k**2*Ft
    return righthandside1
    def righthandside2(Ft,Fo):
    righthandside2 = A*(1j)**2*k**2*Fo+B*(1j)**2*k**2*Ft
    return righthandside2
     
     
    def RungeKutta4_1(righthandside1, Ft[0],Fo[0],t args=()):
    n = len(t)
    Ft = np.zeros((n,len(Ft0)))
    Fo = np.zeros((n,len(Fo0)))
     
    Ft[0] = Ft0
    Ft[0] = Ft0
    for i in range (n-1):
    h = t[i+1]-t[i]
    k1 = h*righthandside1(t[i],X[i])
    k2 = h*righthandside1(t[i]+h/2,X[i]+k1/2)
    k3 = h*righthandside1(t[i]+h/2,X[i]+k2/2)
    k4 = h*righthandside1(t[i]+h/2,X[i]+k3/2)
    Ft[i+1]= Ft[i]+(k1+2*k2+2*k3+k4)/6.0
     
    k1 = h*righthandside2(t[i],X[i])
    k2 = h*righthandside2(t[i]+h/2,X[i]+k1/2)
    k3 = h*righthandside2(t[i+h/2,X[i]+k2/2)
    k4 = h*righthandside2(t[i]+h/2,X[i]+k3/2)
    Fo[i+1]= Ft[i]+(k1+2*k2+2*k3+k4)/6.0
     
    return Ft Fo
    ça ne passe pas avec ce code

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Le code ne retourne pas d'erreur d'IndentationError ? ou vous ne comprenez que c'est IndentationError ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2020
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    oui, je comprends bien IndentationError. En fait j'aimerais juste savoir le script en Python de ce système

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Il faut que vous indentiez votre script pour qu'on y voit qqch.

Discussions similaires

  1. Résoudre un système non linéaire de deux équations par la méthode de Mueller
    Par kamel68 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 22/04/2011, 17h23
  2. Réponses: 1
    Dernier message: 06/02/2010, 14h38
  3. Résolution de système d'équation d'ellipse
    Par soeursourire dans le forum MATLAB
    Réponses: 1
    Dernier message: 13/02/2007, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo