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

Mathématiques Discussion :

dérivée seconde avec pas non constant


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Par défaut dérivée seconde avec pas non constant
    bonjour a tous,

    j'aimerais écrire sous fortran la dérivée seconde de la vitesse avec un pas non régulier.

    j'ai écrit cela mais j'aimerais savoir si c'est correct ou pas?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    au centre: d2udy2=2.*(u(i-1,j)-2*u(i,j)+u(i+1,j))/        
         /(((y(j+1)-y(j))**2 + (y(j)-x(j+1))**2)    
     
    à droite: d2udy2=(u(i,j)-2*u(i+1,j)+u(i+2,j))
      /(y(j+1)-y(j))**2
     
    à gauche: d2udy2=(u(i,j)-2*u(i-1,j)+u(i-2,j))
    /(y(j)-y(j-1))**2
    je vous remercie

  2. #2
    Membre très actif
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Billets dans le blog
    1
    Par défaut
    par définition, la dérivée, c'est la difference entre deux échantillons consecutifs, ici, on, bosse en numérique, donc, il s'agit d'echantillons.
    et donc, la derivée seconde, c'est la difference entre deux echantillons de la derivée.

    donc, il y a besoin de 3 valeurs consecutives pour determiner la derivée seconde.

    donc:
    d2=(X(n+1)-X(n))-(X(n)-X(n-1))

    en fortran, ça doit pas être bien eloigné

    evidement, il est possible de simplifier grandement la formule.
    d2=X(n+1)+X(n-1)-2X(n)
    et si l'on utilise les vraies capacités du numérique, l'opération ne prend alors que quelques instructions.
    le coefficient 2 etant remplacé par un simple décalage logique à gauche.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 489
    Par défaut
    Bonjour,
    Citation Envoyé par --1-- Voir le message
    par définition, la dérivée, c'est la difference entre deux échantillons consecutifs, ici, on, bosse en numérique, donc, il s'agit d'echantillons.
    et donc, la derivée seconde, c'est la difference entre deux echantillons de la derivée.

    donc, il y a besoin de 3 valeurs consecutives pour determiner la derivée seconde.

    donc:
    d2=(X(n+1)-X(n))-(X(n)-X(n-1))

    en fortran, ça doit pas être bien eloigné

    evidement, il est possible de simplifier grandement la formule.
    d2=X(n+1)+X(n-1)-2X(n)
    et si l'on utilise les vraies capacités du numérique, l'opération ne prend alors que quelques instructions.
    le coefficient 2 etant remplacé par un simple décalage logique à gauche.
    Sur ce coup, je dirai que tu mérites un point de moins que ton pseudo...
    (comment peux-tu même imaginer que la position des points n'intervienne pas dans l'évaluation de la dérivée?)

    Citation Envoyé par ginafort
    j'ai ecrie cela mais j'aimerais savoir si c'est correct ou pas?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    au centre: d2udy2=2.*(u(i-1,j)-2*u(i,j)+u(i+1,j))/        
         /(((y(j+1)-y(j))**2 + (y(j)-x(j+1))**2)    
     
    à droite: d2udy2=(u(i,j)-2*u(i+1,j)+u(i+2,j))
      /(y(j+1)-y(j))**2
     
    à gauche: d2udy2=(u(i,j)-2*u(i-1,j)+u(i-2,j))
    /(y(j)-y(j-1))**2
    Ca ne me semble pas correct; comment as-tu obtenu ces formules?
    Pour déterminer les stencils de dérivation, on cherche le polynôme d'interpolation passant par les points, puis on évalue sa/ses dérivées; C'est simplement assez fastidieux si on considère le cas général de points non-équirépartis.
    Mais ca se trouve dans les livres de méthodes numériques, et aussi sur le net, par exemple là: http://www.lavrovo.fr/Arithmurgistan.../lagrange.html

    Ehouarn

  4. #4
    Membre très actif
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Billets dans le blog
    1
    Par défaut
    Sur ce coup, je dirai que tu mérites un point de moins que ton pseudo...
    (comment peux-tu même imaginer que la position des points n'intervienne pas dans l'évaluation de la dérivée?)
    es tu bien sur de savoir ce qu'est le calcul differentiel?
    la derivée ne peut fournir aucune information sur l'offset de depart d'une courbe.

    il s'agit que d'une difference entre deux echantillons concecutifs.

    peut être que ma notation t'as induit en erreur.
    mais si tu veu, je peu te fournir du code assembleur pour demontrer le calcul differentiel (qui n'a rien de compliqué) tel que je l'ai expliqué.

    peut etre que j'aurais du remplacer n par t :/

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    La meilleure solution me semble être de faire un spline cubique, ce qui revient à remplacer ta fonction par une suite de polynômes du deuxième degré, que tu peux ensuite facilement dériver deux fois.
    Jean-Marc Blanc

  6. #6
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Par défaut
    merci a tous
    voila pour ecrire ma dérivée seconde je me suis référé a:

    méthode de calcul numérique d
    J.P.Noigier
    3ème édition
    pp 123-133

    l'auteur écrit pour un pas constant et il fais le schéma général de son développement, donc j'ai suivi sa méthode pour l'ordre 1 sauf qu'au lieu de prendre h qui est la meme distance entre les 2pt i-1, i et les 2pt i, i+1 j'ai pris les coordonnées de ces points !

    car j'ai un maillage tres fin au niveau d'une parois puis il commence a devenir grossier et j'aimerais calculer la dérivée seconde de la vitesse le long de ces points.

    donc est ce que c'est faux ce que j'ai fait ?

    je vous remercie

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2014, 17h15
  2. Somme conditionnelle avec nombre de colonnes non constant
    Par labuche1138 dans le forum SAS Base
    Réponses: 2
    Dernier message: 24/07/2012, 16h20
  3. [Débutant] Equation différentielle de second ordre à coefficients non constants
    Par minkovclub dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/11/2011, 09h58
  4. Problème d'axe à pas non constant
    Par ChtiGG dans le forum MATLAB
    Réponses: 10
    Dernier message: 28/01/2010, 18h15
  5. [fft] Pas de temps non constant
    Par TocTocKiéLà? dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/05/2008, 11h17

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