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

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    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 éclairé
    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
    Points : 701
    Points
    701
    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 confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    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 éclairé
    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
    Points : 701
    Points
    701
    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
    Points : 5 179
    Points
    5 179
    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 à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    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

  7. #7
    Membre éclairé
    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
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    mais encore?

    maillage, paroi, jusque là, ça va, c'est compréhensible. j'imagine bien un plan, avec des aspérités, et donc, une mesure de ces aspérités, te donnant par dérivée seconde une sorte de taux de granularité.

    mais pour la vitesse, je ne vois pas ce que ça vient faire là...
    le plan bouge?

    il faudrait veillez à employer les bons mots pour les bonnes choses, ou expliquer plus précisément le problème.

    pour ce qui est de prendre les points (i)-(i-1), (i+1)-(i), la démarche est bonne, ça reste de la dérivée seconde.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Citation Envoyé par ginafort Voir le message
    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 !
    Attention, il faut dès le début se placer dans le cadre d'un pas non constant (et ne pas bricoler avec des formules initialement obtenues pour un pas constant, où certains termes se simplifient ou disparaissent justement parce qu'on se place dans le cas d'un pas constant).
    Je n'ai pas le Nougier sous la main, mais je serais étonné qu'il n'inclue pas les formules (ou le moyen de les retrouver).
    Il y a une certaine latitude sur le chemin pour arriver aux formules; il me semble que Nougier passe par les différences divisées. Personnellement, je préfère passer par les polynômes d'interpolation de Lagrange (c.f. lien que j'ai donné plus tôt).
    Mais au final on arrive bien sûr aux mêmes résultats.

    Ehouarn

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2014, 18h15
  2. Somme conditionnelle avec nombre de colonnes non constant
    Par labuche1138 dans le forum SAS Base
    Réponses: 2
    Dernier message: 24/07/2012, 17h20
  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, 10h58
  4. Problème d'axe à pas non constant
    Par ChtiGG dans le forum MATLAB
    Réponses: 10
    Dernier message: 28/01/2010, 19h15
  5. [fft] Pas de temps non constant
    Par TocTocKiéLà? dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/05/2008, 12h17

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