[matlab] integrer une fonction numerique

Fermé
ggel - 16 sept. 2005 à 17:58
 zirco - 22 déc. 2014 à 11:15
Bonjour,

Je voudrais savoir s'il est possible sous matlab d'integrer une fonction dont on ne possede pas d'expression analytique mais juste une serie de points?


Merci d'avance pour votre aide!

8 réponses

Vous pouvez utilisez l'instruction "trapz"
Tapez "help trapz" pour plus d'information.
5
Bonjour,

L'intégrale est alors simplement une somme, non ? Si ta série de point est rangées dans le vecteur x alors "l'intégrale" est sum(x).
-1
faux et archi faux ! l'intégrale n'est pas sum(x)
0
Non c'est pas faux que l'integrale soit la somme d'une liste, Riemann definit meme les integrales comme ca.... C'est simplement une approximation grossiere, qui converge pas tres vite, les trapezes sont souvent preferes parce qu'on a tendance a travailler avec des fonction continues.

Ceci dit ca me suprend qu'il n'y ait pas plus sophistique dans matlab que trapz.
Pour une liste de methodes d'integration numerique:
https://en.wikipedia.org/wiki/Numerical_integration
0
On aura la somme des surfaces qui convergera vers l'intégrale, mais à sum(x), il faut multiplier le facteur "b-a/N" pour obtenir la valeur de l'intégrale,
sur l'intervalle [a,b] et en considérant N sous-intervalles de longueur égale pour la somme de Riemann.
Beaucoup de raccourcis, donc...
0
Enna7 Messages postés 40 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 avril 2012 9
12 nov. 2007 à 14:37
Bonjour.

J'ai le même problème, mais en regardant l'aide de trapz, quad, area, etc je n'ai pas réussi à comprendre le calcul qui était réellement fait.

Pour ma part mon problème est le suivant :

J'ai un tableau d'epaisseur croissantes déterminées tab=[1 2 3.5 ...] Pour chaque epaisseur j'ai un nombre qui correspond nbre=[864 430 251 ...].

J'aimerais choisir une epaisseur (pas forcément déterminé dans mon tableau d'epaisseur) par exemple 2.5cm et calculer le nombre correspondant de ma première epaisseur à 2.5cm, mais en extrapolant les valeurs intermédiaires.

Je pensais faire quelques choses comme trapz(tab,nbre) mais avec la fonction trapz, comment choisir mes bornes ? trapz interpole-til d'office les valeurs intermédiaires ?

Merci pour votre aide !
-1
rhadamanthe930 Messages postés 1 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 22 novembre 2007
22 nov. 2007 à 00:14
Bonjour,

Le problème de sum(x) est qu'il n'est pas précis. Une intégrale fait une somme de l'aire se trouvant sous une infinité de points. Dans la réalité cette aire est nulle, voilà pourquoi il faut utiliser la méthode des trapèzes où autres.

Je ne suis pas sur d'avoir compris le problème d'Enna7 mais utiliser "tol" avec quad ne résout pas ton problème?

Mon problème à moi est le suivant :
Je n'ai pas de fonction mais une liste de point, une pour les abcisses et une pour les ordonnées l'intégration trapz n'est pas assez précise pour moi et les quad, quadl, quadkg ne travaille qu'a partir de fonctions données.
Quelqu'un peut-il m'aider?
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Enna7 Messages postés 40 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 avril 2012 9
4 févr. 2008 à 15:26
Merci pour l'aide sur tol, mais mon tableau ne correspond pas à une fonction, donc je ne peux pas utiliser quad & Cie...

Visiblement sous matlab il n'existerait que trapz pour faire une "integrale" à partir de points ???

Mon problème est que plus les points sont rapprochés, et évidement plus trapz est précis...

Mon problème est donc le meme que rhadamanthe930 :

Besoin d'une fonction d'intégration à partir de point plus précise que trapz
-1
Ce que tu cherches n'existe pas tout simplement pas, pour une raison mathématique assez basique :
il n'existe pas de méthode précise pour un nombre de points fixe. Matlab ne pourra pas faire de magie et inventer des points !!!!!

Donc en gros, si tu veux être plus précis, il faut faire des hypothèses sur ta fonction. Par exemple, polynomiale, exponentielle.... A partir de ça, tu peux interpoler, avoir plus de points, et donc être plus précis.
0
fateh31 Messages postés 1 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 30 mai 2008
30 mai 2008 à 20:01
bjr tous le monde je cherche des excercices resolu sur le calcul integral
-1
L'idée d'intégrer une fonction on ne possède pas d'expression analytique est d'en créer une par inetrpolation à partir de série de points que vous avez. Pour cela il suffit à partir des points cad (abcisses et ordonnées) de tracer la courbe. Dans la fenêtre de la courbe allez au menu Tools puis basic fitting, là où il y'a plot fits choisis la fonction qui colle le mieux à ta courbe généralement un polynôme de la forme par exemple
y = p1*x^5 + p2*x^4 + p3*x^3 + p4*x^2 + p5*x + p6
Dont les coefficients p sont donnés sur la fenêtre où il y'a coefficient and norm of residuals. Une fois tu as la fonction analytique approchée, son intégration est alors simple.
-1
il existe plein de méthode pour trouver l'expression d' une fonction qui passe par tes points, notamment lagrange, gauss,... Une fois trouvée tu pourras intégrer.
-1