Intégrales et substitution avec giac
Publié : lun. févr. 19, 2007 3:27 pm
bonjour,
avant de commencer, comme c'est mon premier post, je tenais à vous féliciter pour votre projet... et j'espère pouvoir m'en servir dans mes progs...
mais pour cela, j'aurais besoin de calculer des intégrales simples (pour le moment, doubles par la suite) sur des polynomes, sur un intervalle borné... j'ai cherché dans les sources mais je n'ai pas réussi à trouver de méthode comme dans xcas, c'est à dire sous la forme :
avec [a,b] mon intervalle et x ma variable...
je n'ai trouvé que :
avec c le contexte. Cette méthode me renvoie alors la primitive de mon polynome.
Mes questions sont donc les suivantes :
1) existe-t-il une méthode "integrate(polynome, x, a, b)" que je n'aurais pas vu ?
2) actuellement, je calcule mon produit scalaire entre deux polynomes avec le code suivant :
ai-je complétement faux ? Parce que certains résultats semblent incorrects (mais seulement pour certains calculs)...
3) A quoi sert le contexte ? j'ai également essayé avec :
sans plus de résultats... faut-il initialiser le "context" d'une certaine façon ?
Voila pour le moment...
D'avance, merci.
avant de commencer, comme c'est mon premier post, je tenais à vous féliciter pour votre projet... et j'espère pouvoir m'en servir dans mes progs...
mais pour cela, j'aurais besoin de calculer des intégrales simples (pour le moment, doubles par la suite) sur des polynomes, sur un intervalle borné... j'ai cherché dans les sources mais je n'ai pas réussi à trouver de méthode comme dans xcas, c'est à dire sous la forme :
Code : Tout sélectionner
integrate(polynome, x, a, b)
je n'ai trouvé que :
Code : Tout sélectionner
integrate(polynome, x, c)
Mes questions sont donc les suivantes :
1) existe-t-il une méthode "integrate(polynome, x, a, b)" que je n'aurais pas vu ?
2) actuellement, je calcule mon produit scalaire entre deux polynomes avec le code suivant :
Code : Tout sélectionner
giac::identificateur x("x");
giac::gen p1 = 15 * x * x + 25 * x; // exemple de polynome
giac::gen p2 = 23 * x + 5; // exemple de polynome
giac::gen primitive_p1_p2 = giac::integrate(p1 * p2, x, 0);
giac::gen integrale_p1_p2 = giac::subst(primitive_p1_p2, x, 1) - giac::subst(primitive_p1_p2, x, -1); // pour calculer sur l'intervalle [-1;1] : F(1) - F(-1) avec F(x) la primitive de mom polynome
std::cout << "Integrale : " << integrale_p1_p2 << std::endl;
3) A quoi sert le contexte ? j'ai également essayé avec :
Code : Tout sélectionner
giac::context *c;
integrate(polynome, x, c);
sans plus de résultats... faut-il initialiser le "context" d'une certaine façon ?
Voila pour le moment...
D'avance, merci.