2010-07-27 6 views
0

je veux résoudre ce problème:Intégration avec Matlab

alt text http://img265.imageshack.us/img265/6598/greenshot20100727091025.png

je ne veux pas utiliser "int", je veux utiliser la famille "quad" (quad, dblquad, triplequad) mais je ne peux pas. pouvez-vous m'aider?

+1

Les guillemets sont manquants à votre question, plus vous devez montrer les parties pertinentes de votre problème avec les messages d'erreur dans votre question, ne vous attendez pas à ce que les gens téléchargent des choses d'autres sites Web. –

+0

oui, mais je ne sais pas écrire intégrale dans cette page. – Elmoya

Répondre

2

L'intégrale vous montrer est

  1. Analytiquement résoluble: toujours faire analytiquement ce que vous pouvez

  2. égal à un nombre: expressions constantes doivent être éliminés des calculs numériques

  3. pas facile à calculer en MATLAB (ou très correct).

Vous pouvez utiliser cumtrapz pour intégrer plus seul chaque variable, et appeler trapz l'intégration finale. Rappelez-vous que cela fera sauter l'erreur sur n'importe quel problème qui est plus compliqué que la simple somme des fonctions linéaires.

Mathematica est plus adapté aux intégrations nD, si vous y avez accès.

1

Matlab peut faire l'intégration symbolique

>> x = sym('x'); y = sym('y'); z = sym('z'); u = sym('u'); v = sym('v'); 
>> int(int(int(int(int(x+y+z+u+v,1,5),-2,3),0,1),-1,1),0,1) 

ans = 

180 
+1

Seulement si vous avez le paquet symbolique ... – Kena

0

Juste remarqué que vous voulez faire l'intégration numérique, et non symbolique

Si vous regardez la source de dblquad et triplequad

>> edit dblquad 

vous voyez qu'ils appellent simplement les versions inférieures. il devrait être possible pour vous d'ajouter un quadquad et un quintquad (ou récursivement un n-quad)

4

Je suppose que votre vrai problème est plus complexe que ce trivial. La meilleure solution consiste simplement à utiliser une intégrale symbolique. Pourquoi l'intégration numérique est-elle difficile?

L'intégration numérique dans une dimension nécessite typiquement de l'ordre de 100 évaluations de fonctions. (Le nombre exact sera très dépendant de la précision requise, des limites, etc.) Ceci fait qu'une intégrale de 2-d nécessite typiquement de l'ordre de 100^2 = 10000 evals de fonction. Donc, une intégrale de 5 jours adaptative nécessitera de l'ordre de 100^5 = 1e10 évaluations de fonction. (Ce n'est qu'une approximation très grossière ici.) Mon point est, vous ne voulez tout simplement pas faire cela!

Mieux vaut réduire le problème de complexité. Si votre intégrale est séparable (comme c'est celui-ci) alors faites-le! Réduire un problème de 5 jours en plusieurs problèmes 1-D.

En outre, dans de nombreux cas, je vois des personnes voulant faire une intégration numérique d'un PDF gaussien. Voir que cela est facilement résolu en utilisant un appel à erf ou erfc, couplé avec une transformation. Le fait est que dans de nombreux cas, des fonctions spéciales sont définies pour réduire considérablement la complexité d'un problème.

Je dois ajouter que dans de nombreux cas, la clé pour résoudre un problème difficile en mathématiques est d'utiliser les mathématiques pour réduire le problème à quelque chose de plus simple.Si vous pouvez trouver un moyen de réduire un peu la dimensionnalité de votre problème, il deviendra beaucoup plus traitable.