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

R Discussion :

Calcul de volume sur un intervalle donné


Sujet :

R

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut Calcul de volume sur un intervalle donné
    Bonjour,

    Je souhaiterai savoir s'il est possible de faire des calculs de volume sur R notamment à partir d'un intervalle.

    J'ai une fonction f(x,y,z,c) qui est capable de me donner des concentrations à chaque point x,y,z. Je souhaiterai savoir quelle est le volume (x,y,z) pour une plage de concentration donnée (c).

    Merci de votre aide,

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 233
    Par défaut
    Henri Poincaré disait : Un problème bien posé est un problème à moitié résolu
    Ici, j'ai l'impression que ton problème n'a pas de solution, mais c'est uniquement parce que je ne comprends pas la question.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    Pas facile de présenter un problème.

    Je vais ressayer, si les données sont en 3d + une valeur (x,y,z,c). Est il possible de connaitre un volume associé au paramètre c ?
    Par exemple, quel est le volume (x,y,z) pour c>1 ?

    Dites moi si je ne suis toujours pas clair...

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 233
    Par défaut
    J'essaie d'imaginer un truc. On a une fonction f de R3 vers R : pour chaque triplet (x,y,z), cette fonction donne une valeur c.
    Et ce qu'on veut, c'est identifier tous les triplets (x,y,z) pour lesquels c est supérieur à 1. Et on veut connaître le volume correspondant à tous ces points(x,y,z).

    Mais si c'était ça, tu aurais expliqué plus clairement ; ça doit être un truc plus compliqué.

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    J'essaie d'imaginer un truc. On a une fonction f de R3 vers R : pour chaque triplet (x,y,z), cette fonction donne une valeur c.
    Et ce qu'on veut, c'est identifier tous les triplets (x,y,z) pour lesquels c est supérieur à 1. Et on veut connaître le volume correspondant à tous ces points(x,y,z).

    Mais si c'était ça, tu aurais expliqué plus clairement ; ça doit être un truc plus compliqué.
    C'est exactement ça pourtant

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 233
    Par défaut
    Alors tout dépend de la fonction f.
    Si par exemple, on a f(x,y,z) = 1/(x²+y²+z²+z+1) , et qu'on cherche le volume des points tels que f(x,y,z) > 1, ce volume est une sphère, on peut exprimer ce volume avec une fonction g(x,y) <z< h(x,y), ( ou bien g(x,z) < y < h(x,z), ce n'est pas forcément z qu'on doit isoler). Et ceci nous ramène à un volume classique, qui se calcule via une intégrale.

    Mais si on a par exemple f(x,y,z) = x^3+ y^4 + z ^5 + 10 ( x^6+y^10+ z^14 ) + xy+3zy -zx , et qu'on cherche le volume des points tels que f(x,y,z) < 1, je ne vois pas du tout comment isoler une des 3 variables, et du coup, pas de solution. Sauf à coup de calcul numérique, estimations etc etc : on prend plein de tout petits cubes, de côtés 0.001 ; Pour chaque petit cube, on regarde si le centre du cube vérifie f(x,y,z) < 1, et si oui, on considère que le mini-cube convient.

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    Je vous remercie.

    Dans le cas numéro 1, il faudrait donc une triple intégral pour isoler x, y et z ?

    Savez vous comment démarrer (en code, je ne sais pas si c'est simple) pour la solution des petits carrés ?

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 233
    Par défaut
    Dans le cas n°1, c'est une intégrale double, et non triple. Je donnais comme exemple le cas d'une sphère, regarde comment on calcule le volume d'une sphère, via une intégrale double, (et donc comment on démontre la formule connue).

    Pour la solution des petits cubes, il faut avoir une vague idée de la forme de la fonction. Il faut savoir zoner plus ou moins les valeurs de x, y, et z qui sont raisonnables.
    Par exemple, avec la fonction bien tordue que j'ai proposée, on a les termes 10 ( x^6+y^10+ z^14 ) qui sont forcément positifs, et qui deviennent vite très grand dès que x ou y ou z dépasse 1.
    J'ai l'impression qu'on peut faire des boucles entre -1 et 1, et qu'on aura le volume tout entier.
    Mais je me trompe peut-être.
    Et avec une autre fonction, ce sera différent.

    Si on ne sait pas dire à l'avance que toute la partie qui nous concerne est dans un certain gros cube (ici x entre -1et 1, y entre -1 et 1 et z entre -1 et 1), alors c'est galère.

    Code : 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
    volume = 0 
    x=-1
    while x <= 1 loop
       y=-1
       while y <= 1 loop 
        z=-1
        while z<= 1 loop
           if f(x,y,z) < 1 then 
              volume = volume + 0.001*0.001*0.001
           end if 
           z = z+0.001
        end loop
      y = y+0.001
      end loop
    x = x+0.001
    end loop
     
    print(volume)
    En terme de performance, c'est catastrophique, mais c'est un premier jet hyper-bourrin. On va calculer 8 Milliards de fois notre fonction f ; plus on est capable d'éliminer rapidement (ou de valider rapidement) telle ou telle portion du gros cube, mieux c'est.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2K8] Pb pour calculer la CA N-1 sur un jour donné
    Par EricOppessios dans le forum SSAS
    Réponses: 7
    Dernier message: 11/02/2011, 14h10
  2. Réponses: 4
    Dernier message: 26/02/2010, 11h05
  3. Réponses: 3
    Dernier message: 16/04/2009, 09h18
  4. calcul de durée sur une suite de données
    Par madousn dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/06/2008, 10h04
  5. UPDATE sur un intervalle de lignes donné
    Par Pias dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/03/2006, 20h42

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