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 :

Intégrale sur un triangle


Sujet :

R

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Intégrale sur un triangle
    Bonjour,

    Je souhaite calculer l'intégrale (sur un triangle) suivante :
    Formule mathématique
    où la fonction phi est définie par :
    Formule mathématique
    J'utilise pour ce faire le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Phi=function(s,d){
    	Phi= (exp(d)-exp(s))/(exp(d)-1)
    	return(Phi)
    }
    Integrande2=function(s,d){
    	 Res=max(0,(Phi(s,d)-1/s^5)^2)
    	 return(Res)
    }
    INtegrale=function(){ integrate(function(y) { sapply(y, function(y) { integrate(function(x) Integrande2(x,y), 0, y)$value   }) }, 0, 200)}
    INtegrale()
    J'ai cependant cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Erreur dans integrate(function(x) Integrande2(x, y), 0, y) : 
      evaluation of function gave a result of wrong length
    Auriez vous une idée?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Peux-tu indiquer le package que tu utilises ?

    Cordialement.

  3. #3
    Membre actif
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Points : 296
    Points
    296
    Par défaut
    Bonjour,
    Dans INtegrale, à l'intérieur de sapply, dans le premier argument de integrate, la longueur du vecteur en sortie (le résultat de l'application de Integrande2 sur x et y) doit être égale à la longueur du vecteur en entrée (x). C'est ce qui est spécifié dans la doc de integrate :
    f : an R function taking a numeric first argument and returning a numeric vector of the same length. Returning a non-finite element will generate an error.
    Une fois ceci corrigé, il y aura un autre problème : l'intégrale serait infinie. Ce pourrait être dû à la manière dont les bornes sont définies dans Integrande2. Alors le code incluant toutes les corrections :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    > Phi <- function(s,d) (exp(d)-exp(s)) / (exp(d)-1)
    > h <- 0
    > Integrande2 <- function(h, s) max(h, (Phi(s,d) - (1/(s^5)))^2)
    > INtegrale <- function(){
    	integrate(function(y) {
    		sapply(y, function(y)
    			integrate(function(x) {
    				w <- Integrande2(x,y)
    				rep(w, length(x))
    				},0, y)$value)
    		}, h, 200)
    }
     
    > INtegrale()
    2.396808e+171 with absolute error < 2.4e+166
    À voir si cela correspond au résultat attendu.

Discussions similaires

  1. [Débutant] Problème intégrale sur une Densite spectrale Pxx
    Par windsea dans le forum Signal
    Réponses: 3
    Dernier message: 03/04/2011, 18h15
  2. intégrale sur fortran
    Par suzanne1307 dans le forum Fortran
    Réponses: 5
    Dernier message: 09/09/2010, 03h50
  3. Double intégrale sur matlab
    Par houcemc dans le forum MATLAB
    Réponses: 10
    Dernier message: 12/05/2009, 15h26
  4. [Débutant] Valeur d'intégrale sur un objet
    Par cpt.blake dans le forum MATLAB
    Réponses: 0
    Dernier message: 06/06/2008, 15h18
  5. Une texture sur plusieurs triangles
    Par mm2405 dans le forum OpenGL
    Réponses: 5
    Dernier message: 17/12/2007, 10h15

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