Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraire l'aire sous une courbe

16 réponses
Avatar
msg_moi
Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux valeurs
spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.

10 réponses

1 2
Avatar
Philippe.R
Bonjour,
Une piste :
http://www.excelabo.net/search/node/aire
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"msg_moi" a écrit dans le message de
news:
Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.


Avatar
garnote
Ave,

Voici une de mes anciennes macros qui pourrait peut-être te lancer.

Sub Intégrale_Définie_Simpson()
'Approximation d'une intégrale définie:
'Formater A1 en texte et écrire une fonction en x,
'sans signe d'égalité.
'Écrire en A2 la borne inférieure
'Écrire en A3 la borne supérieure
'Écrire en A4 un nombre PAIR de sous-intervalles.
'Si la fonction est positive partout sur l'intervalle
'la réponse est une approximation de la superfice
'sous la courbe et au-dessus de OX.
'Si la fonction est négative partout sur l'intervalle
'la valeur absolue de la réponse est une approximation
'de la superfice sous la courbe et au-dessous de OX.
'Si votre fonction est un polynôme de degré inférieur
'à quatre, la réponse obtenue est EXACTE et dans ce cas
'DEUX sous-intervalles suffisent !
Dim x() As Double
Dim y() As Double
Dim somme As Double
px = [A2]: gx = [a3]
n = [a4]
If n / 2 - Int(n / 2) <> 0 Then
MsgBox "Simpson réclame un nombre pair de sous-intervalles.", _
vbExclamation, "Soyez raisonnable !"
Exit Sub
End If
ReDim x(1 To n + 1)
ReDim y(1 To n + 1)
pas = (gx - px) / n
f = [A1]
f = Replace(f, "-", "+0-")
f1 = Replace(f, "x", px)
f2 = Replace(f1, ",", ".")
y(1) = Evaluate(f2)
For i = 1 To n
x(i + 1) = px + i * pas
f1 = Replace(f, "x", x(i + 1))
f2 = Replace(f1, ",", ".")
y(i + 1) = Evaluate(f2)
Next i
For i = 1 To n + 1
If i / 2 - Int(i / 2) = 0 Then
sp = sp + y(i)
Else
si = si + y(i)
End If
Next i
py = y(1): gy = y(n + 1)
somme = pas * (py + gy + 4 * sp + 2 * (si - py - gy)) / 3
MsgBox "Simpson, qui a utilisé " & n & " sous-intervalles." _
& Chr(10) & "Intégrale définie : " & somme, vbInformation, _
"Approximation de Monsieur Simpson"
End Sub

Serge










"msg_moi" a écrit dans le message de news:

Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.


Avatar
garnote
On peut remplacer :
If n / 2 - Int(n / 2) <> 0
par :
If n mod 2 <> 0
et :
If i / 2 - Int(i / 2) = 0
par :
If i mod 2 = 0

Serge


"garnote" a écrit dans le message de news:

Ave,

Voici une de mes anciennes macros qui pourrait peut-être te lancer.

Sub Intégrale_Définie_Simpson()
'Approximation d'une intégrale définie:
'Formater A1 en texte et écrire une fonction en x,
'sans signe d'égalité.
'Écrire en A2 la borne inférieure
'Écrire en A3 la borne supérieure
'Écrire en A4 un nombre PAIR de sous-intervalles.
'Si la fonction est positive partout sur l'intervalle
'la réponse est une approximation de la superfice
'sous la courbe et au-dessus de OX.
'Si la fonction est négative partout sur l'intervalle
'la valeur absolue de la réponse est une approximation
'de la superfice sous la courbe et au-dessous de OX.
'Si votre fonction est un polynôme de degré inférieur
'à quatre, la réponse obtenue est EXACTE et dans ce cas
'DEUX sous-intervalles suffisent !
Dim x() As Double
Dim y() As Double
Dim somme As Double
px = [A2]: gx = [a3]
n = [a4]
If n / 2 - Int(n / 2) <> 0 Then
MsgBox "Simpson réclame un nombre pair de sous-intervalles.", _
vbExclamation, "Soyez raisonnable !"
Exit Sub
End If
ReDim x(1 To n + 1)
ReDim y(1 To n + 1)
pas = (gx - px) / n
f = [A1]
f = Replace(f, "-", "+0-")
f1 = Replace(f, "x", px)
f2 = Replace(f1, ",", ".")
y(1) = Evaluate(f2)
For i = 1 To n
x(i + 1) = px + i * pas
f1 = Replace(f, "x", x(i + 1))
f2 = Replace(f1, ",", ".")
y(i + 1) = Evaluate(f2)
Next i
For i = 1 To n + 1
If i / 2 - Int(i / 2) = 0 Then
sp = sp + y(i)
Else
si = si + y(i)
End If
Next i
py = y(1): gy = y(n + 1)
somme = pas * (py + gy + 4 * sp + 2 * (si - py - gy)) / 3
MsgBox "Simpson, qui a utilisé " & n & " sous-intervalles." _
& Chr(10) & "Intégrale définie : " & somme, vbInformation, _
"Approximation de Monsieur Simpson"
End Sub

Serge










"msg_moi" a écrit dans le message de news:

Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.






Avatar
MichDenis
La dérivée du second degré de l'équation de la courbe
ne serait-ce pas suffisant Prof. Garnote ?
;-)


"garnote" a écrit dans le message de groupe de discussion :


On peut remplacer :
If n / 2 - Int(n / 2) <> 0
par :
If n mod 2 <> 0
et :
If i / 2 - Int(i / 2) = 0
par :
If i mod 2 = 0

Serge


"garnote" a écrit dans le message de news:

Ave,

Voici une de mes anciennes macros qui pourrait peut-être te lancer.

Sub Intégrale_Définie_Simpson()
'Approximation d'une intégrale définie:
'Formater A1 en texte et écrire une fonction en x,
'sans signe d'égalité.
'Écrire en A2 la borne inférieure
'Écrire en A3 la borne supérieure
'Écrire en A4 un nombre PAIR de sous-intervalles.
'Si la fonction est positive partout sur l'intervalle
'la réponse est une approximation de la superfice
'sous la courbe et au-dessus de OX.
'Si la fonction est négative partout sur l'intervalle
'la valeur absolue de la réponse est une approximation
'de la superfice sous la courbe et au-dessous de OX.
'Si votre fonction est un polynôme de degré inférieur
'à quatre, la réponse obtenue est EXACTE et dans ce cas
'DEUX sous-intervalles suffisent !
Dim x() As Double
Dim y() As Double
Dim somme As Double
px = [A2]: gx = [a3]
n = [a4]
If n / 2 - Int(n / 2) <> 0 Then
MsgBox "Simpson réclame un nombre pair de sous-intervalles.", _
vbExclamation, "Soyez raisonnable !"
Exit Sub
End If
ReDim x(1 To n + 1)
ReDim y(1 To n + 1)
pas = (gx - px) / n
f = [A1]
f = Replace(f, "-", "+0-")
f1 = Replace(f, "x", px)
f2 = Replace(f1, ",", ".")
y(1) = Evaluate(f2)
For i = 1 To n
x(i + 1) = px + i * pas
f1 = Replace(f, "x", x(i + 1))
f2 = Replace(f1, ",", ".")
y(i + 1) = Evaluate(f2)
Next i
For i = 1 To n + 1
If i / 2 - Int(i / 2) = 0 Then
sp = sp + y(i)
Else
si = si + y(i)
End If
Next i
py = y(1): gy = y(n + 1)
somme = pas * (py + gy + 4 * sp + 2 * (si - py - gy)) / 3
MsgBox "Simpson, qui a utilisé " & n & " sous-intervalles." _
& Chr(10) & "Intégrale définie : " & somme, vbInformation, _
"Approximation de Monsieur Simpson"
End Sub

Serge










"msg_moi" a écrit dans le message de news:

Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.






Avatar
msg_moi
Merci pour les renseignements

Comme je ne suis pas très familer avec les macro, je ne sais pas si je vais
être en mesure de l'utiliser.

Je vais suivre le lien de Phillipe, il semble que je vais devoir fair une
peitite formule.

Je pensais pouvoir m'en sortir directement en manipulant le graphique. Une
idée si on peut laisser des suggestions quelque part aux développeur excel?

Merci encore



"msg_moi" a écrit dans le message de
news:
Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.


Avatar
garnote
Ave,

Pas à ma connaissance !
Et quelques renseignements au cas où ...
La dérivée du second degré d'une fonction
peut nous renseigner sur la concavité de la
courbe (vers le haut ou vers le bas) et nous aider
à trouver min. max et point d'inflexion. Aussi :
Si une fonction décrit la position d'un mobile en fonction
du temps, sa dérivée seconde nous donnera son accélération.
Or quand on calcule une intégrale, par exemple l'intégrale de
f(x) dx pour x variant de a à b (a <= b), il faut trouver une fonction F(x)
telle que sa dérivée première est égale à f(x) et ensuite évaluer
F(b) - F(a). Par exemple, pour évaluer l'intégrale de 3*(x^2) dx
pour x varaint de 1 à 2, il faut d'abord trouver F(x).
Dans ce cas F(x) = x^3 car la dérivée première de x^3 = 3*(x^2).
Finalement l'intégrale cherchée est égale à 2^3 - 1^3 = 7.
Donc la dérivée seconde n'intervient pas dans ce calcul.
Ma macro utilise la méthode de Simpson mais il y en a d'autres :
http://serge.mehl.free.fr/anx/meth_integr.html
et dans cette liste, aucune n'utilise la dérivée seconde.
Si une approximation d'intégrales définies utilise la dérivée seconde,
je l'ignore et si tu en connais une, j'aimerais bien que tu mettes sur sa
piste.
Bien sûr si msg-moi avait accès à des tables d'intégrales indéfinies,
il obtiendrait (parfois suite à quelques contorsions) F(x) et il n'aurait
qu'à calculer F(b) - F(a).

Serge



"MichDenis" a écrit dans le message de news:

La dérivée du second degré de l'équation de la courbe
ne serait-ce pas suffisant Prof. Garnote ?
;-)


"garnote" a écrit dans le message de groupe de
discussion :


On peut remplacer :
If n / 2 - Int(n / 2) <> 0
par :
If n mod 2 <> 0
et :
If i / 2 - Int(i / 2) = 0
par :
If i mod 2 = 0

Serge


"garnote" a écrit dans le message de news:

Ave,

Voici une de mes anciennes macros qui pourrait peut-être te lancer.

Sub Intégrale_Définie_Simpson()
'Approximation d'une intégrale définie:
'Formater A1 en texte et écrire une fonction en x,
'sans signe d'égalité.
'Écrire en A2 la borne inférieure
'Écrire en A3 la borne supérieure
'Écrire en A4 un nombre PAIR de sous-intervalles.
'Si la fonction est positive partout sur l'intervalle
'la réponse est une approximation de la superfice
'sous la courbe et au-dessus de OX.
'Si la fonction est négative partout sur l'intervalle
'la valeur absolue de la réponse est une approximation
'de la superfice sous la courbe et au-dessous de OX.
'Si votre fonction est un polynôme de degré inférieur
'à quatre, la réponse obtenue est EXACTE et dans ce cas
'DEUX sous-intervalles suffisent !
Dim x() As Double
Dim y() As Double
Dim somme As Double
px = [A2]: gx = [a3]
n = [a4]
If n / 2 - Int(n / 2) <> 0 Then
MsgBox "Simpson réclame un nombre pair de sous-intervalles.", _
vbExclamation, "Soyez raisonnable !"
Exit Sub
End If
ReDim x(1 To n + 1)
ReDim y(1 To n + 1)
pas = (gx - px) / n
f = [A1]
f = Replace(f, "-", "+0-")
f1 = Replace(f, "x", px)
f2 = Replace(f1, ",", ".")
y(1) = Evaluate(f2)
For i = 1 To n
x(i + 1) = px + i * pas
f1 = Replace(f, "x", x(i + 1))
f2 = Replace(f1, ",", ".")
y(i + 1) = Evaluate(f2)
Next i
For i = 1 To n + 1
If i / 2 - Int(i / 2) = 0 Then
sp = sp + y(i)
Else
si = si + y(i)
End If
Next i
py = y(1): gy = y(n + 1)
somme = pas * (py + gy + 4 * sp + 2 * (si - py - gy)) / 3
MsgBox "Simpson, qui a utilisé " & n & " sous-intervalles." _
& Chr(10) & "Intégrale définie : " & somme, vbInformation, _
"Approximation de Monsieur Simpson"
End Sub

Serge










"msg_moi" a écrit dans le message de news:

Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.









Avatar
MichDenis
Et bien merci Garnote pour toutes ces explications.

Ces notions sont trop loin dans ma mémoire pour avoir
un esprit critique de tes propos. Il me semblait que l'on
pouvait extraire l'aire sous la courbe en utilisant ce que
j'ai suggéré mais probablement j'errais ou que je me mêle
les pinceaux.

Salutations.


"garnote" a écrit dans le message de groupe de discussion :

Ave,

Pas à ma connaissance !
Et quelques renseignements au cas où ...
La dérivée du second degré d'une fonction
peut nous renseigner sur la concavité de la
courbe (vers le haut ou vers le bas) et nous aider
à trouver min. max et point d'inflexion. Aussi :
Si une fonction décrit la position d'un mobile en fonction
du temps, sa dérivée seconde nous donnera son accélération.
Or quand on calcule une intégrale, par exemple l'intégrale de
f(x) dx pour x variant de a à b (a <= b), il faut trouver une fonction F(x)
telle que sa dérivée première est égale à f(x) et ensuite évaluer
F(b) - F(a). Par exemple, pour évaluer l'intégrale de 3*(x^2) dx
pour x varaint de 1 à 2, il faut d'abord trouver F(x).
Dans ce cas F(x) = x^3 car la dérivée première de x^3 = 3*(x^2).
Finalement l'intégrale cherchée est égale à 2^3 - 1^3 = 7.
Donc la dérivée seconde n'intervient pas dans ce calcul.
Ma macro utilise la méthode de Simpson mais il y en a d'autres :
http://serge.mehl.free.fr/anx/meth_integr.html
et dans cette liste, aucune n'utilise la dérivée seconde.
Si une approximation d'intégrales définies utilise la dérivée seconde,
je l'ignore et si tu en connais une, j'aimerais bien que tu mettes sur sa
piste.
Bien sûr si msg-moi avait accès à des tables d'intégrales indéfinies,
il obtiendrait (parfois suite à quelques contorsions) F(x) et il n'aurait
qu'à calculer F(b) - F(a).

Serge



"MichDenis" a écrit dans le message de news:

La dérivée du second degré de l'équation de la courbe
ne serait-ce pas suffisant Prof. Garnote ?
;-)


"garnote" a écrit dans le message de groupe de
discussion :


On peut remplacer :
If n / 2 - Int(n / 2) <> 0
par :
If n mod 2 <> 0
et :
If i / 2 - Int(i / 2) = 0
par :
If i mod 2 = 0

Serge


"garnote" a écrit dans le message de news:

Ave,

Voici une de mes anciennes macros qui pourrait peut-être te lancer.

Sub Intégrale_Définie_Simpson()
'Approximation d'une intégrale définie:
'Formater A1 en texte et écrire une fonction en x,
'sans signe d'égalité.
'Écrire en A2 la borne inférieure
'Écrire en A3 la borne supérieure
'Écrire en A4 un nombre PAIR de sous-intervalles.
'Si la fonction est positive partout sur l'intervalle
'la réponse est une approximation de la superfice
'sous la courbe et au-dessus de OX.
'Si la fonction est négative partout sur l'intervalle
'la valeur absolue de la réponse est une approximation
'de la superfice sous la courbe et au-dessous de OX.
'Si votre fonction est un polynôme de degré inférieur
'à quatre, la réponse obtenue est EXACTE et dans ce cas
'DEUX sous-intervalles suffisent !
Dim x() As Double
Dim y() As Double
Dim somme As Double
px = [A2]: gx = [a3]
n = [a4]
If n / 2 - Int(n / 2) <> 0 Then
MsgBox "Simpson réclame un nombre pair de sous-intervalles.", _
vbExclamation, "Soyez raisonnable !"
Exit Sub
End If
ReDim x(1 To n + 1)
ReDim y(1 To n + 1)
pas = (gx - px) / n
f = [A1]
f = Replace(f, "-", "+0-")
f1 = Replace(f, "x", px)
f2 = Replace(f1, ",", ".")
y(1) = Evaluate(f2)
For i = 1 To n
x(i + 1) = px + i * pas
f1 = Replace(f, "x", x(i + 1))
f2 = Replace(f1, ",", ".")
y(i + 1) = Evaluate(f2)
Next i
For i = 1 To n + 1
If i / 2 - Int(i / 2) = 0 Then
sp = sp + y(i)
Else
si = si + y(i)
End If
Next i
py = y(1): gy = y(n + 1)
somme = pas * (py + gy + 4 * sp + 2 * (si - py - gy)) / 3
MsgBox "Simpson, qui a utilisé " & n & " sous-intervalles." _
& Chr(10) & "Intégrale définie : " & somme, vbInformation, _
"Approximation de Monsieur Simpson"
End Sub

Serge










"msg_moi" a écrit dans le message de news:

Bonjour

j'ai créer des grahiques avec courbes en 2D et 3D

J'ai besoin d'extraire la surface (aire) pour les graphiques 2D sous une
courbe.

Pour les graphiques en 3D j'ai besoin d'extraire le volume sous une
courbe.

Je cherche aussi a extraire ces mêmes informations, mais entre deux
valeurs spécifique sur l'axe des X


Merci pour tout information permettant de réaliser ceci.









Avatar
MichDenis
Je me souvenais d'avoir fait ce type de problème :

http://fr.wikiversity.org/wiki/Fonction_d%C3%A9riv%C3%A9e/Exercice/D%C3%A9riv%C3%A9e_et_variations

Mais je serais bien incapable aujourd'hui de trouver comment procéder !
d'où ma mémoire de l'association entre dérivée et aire !
;-)
P.S- Ce n'est pas une question, je ne demande pas comment procéder.
;-))
Avatar
garnote
Ave,

Intéressant ce site.
Je me suis amusé à régler le cas de la Résistance de l'air
sous XL 2007. En l'enregistrant en mode de compatibilité,
j'ai reçu un message de perte mineure de fidélité.
Est-il quand même présentable sur les versions antérieures ?
Le voici l'infidèle ;-)
http://www.cijoint.fr/cjlink.php?file=cj200908/cijpW1cm7s.xls

Serge

"MichDenis" a écrit dans le message de news:
ORpo1a$
Je me souvenais d'avoir fait ce type de problème :

http://fr.wikiversity.org/wiki/Fonction_d%C3%A9riv%C3%A9e/Exercice/D%C3%A9riv%C3%A9e_et_variations

Mais je serais bien incapable aujourd'hui de trouver comment procéder !
d'où ma mémoire de l'association entre dérivée et aire !
;-)
P.S- Ce n'est pas une question, je ne demande pas comment procéder.
;-))




Avatar
MichDenis
Tu n'aurais pas dû... cela me fait réaliser l'importance de mes trous de mémoire !
;-)))

Merci.


"garnote" a écrit dans le message de groupe de discussion :

Ave,

Intéressant ce site.
Je me suis amusé à régler le cas de la Résistance de l'air
sous XL 2007. En l'enregistrant en mode de compatibilité,
j'ai reçu un message de perte mineure de fidélité.
Est-il quand même présentable sur les versions antérieures ?
Le voici l'infidèle ;-)
http://www.cijoint.fr/cjlink.php?file=cj200908/cijpW1cm7s.xls

Serge

"MichDenis" a écrit dans le message de news:
ORpo1a$
Je me souvenais d'avoir fait ce type de problème :

http://fr.wikiversity.org/wiki/Fonction_d%C3%A9riv%C3%A9e/Exercice/D%C3%A9riv%C3%A9e_et_variations

Mais je serais bien incapable aujourd'hui de trouver comment procéder !
d'où ma mémoire de l'association entre dérivée et aire !
;-)
P.S- Ce n'est pas une question, je ne demande pas comment procéder.
;-))




1 2