]> AND Private Git Repository - cours-mesi.git/blob - tel/TPmatlab/integration/TP3g/expression_part_symb.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ajout de partiels
[cours-mesi.git] / tel / TPmatlab / integration / TP3g / expression_part_symb.m
1 function res=expression_part_symb(c,n)\r
2 \r
3 \r
4 %       expression_part_symb : calcul de l'intégrale de x^n*w(x) sur (a,b) (en symbolique)\r
5 %\r
6 % *********************************************************\r
7 %\r
8 %       expression_part_symb(c,n) : calcul en symbolique de \int_a^b x^n w(x) dx\r
9 %        \r
10 %\r
11 %       variables d'entrées : \r
12 %    *  n : entier naturel.\r
13 %    * c définit le poids w : \r
14 %            c=1 : Gauss-Legendre,\r
15 %            c=2 : Gauss-Tchebytchev,\r
16 %            c=3 : Gauss-Hermite,\r
17 %            c=4 : Gauss-Laguerre.\r
18 %       variables de sortie\r
19 %   *res=valeur de l'inétrale\r
20\r
21\r
22 % ************ Fonctions auxiliaires utilisées ************\r
23 %\r
24 %       aucune\r
25 %\r
26 % *********************************************************\r
27 %\r
28 \r
29 \r
30 \r
31 % Contrôles d'entrée\r
32 % nombre d'arguments\r
33 if nargin~=2\r
34    error('nombre d''arguments de la fonction incorrect');\r
35 end\r
36 % autres tests éventuels \r
37 if ~((c==1) | (c==2) | (c==3) | (c==4))\r
38    error('c doit être un entier égal à 1, 2, 3 ou 4');\r
39 end\r
40 \r
41 % Corps d'algorithme.\r
42 syms x a b;\r
43 switch c\r
44    case 1\r
45       a=sym(-1);\r
46       b=sym(1);\r
47       w=sym(1);      \r
48    case 2\r
49       a=sym(-1);\r
50       b=sym(1);\r
51       w=1/sqrt(1-x^2);      \r
52    case 3\r
53       a=-sym(inf);\r
54       b=sym(inf);\r
55       w=exp(-x^2);\r
56    case 4\r
57       a=sym(0);\r
58       b=sym(+inf);\r
59       w=exp(-x);\r
60 end     \r
61 res=simplify(int(x^n*w,a,b));\r