ALIA. Med Symbolique mathématique Matlab 1 % SYMBOLIC MATHEMATIQUE TOOLBOX % %
ALIA. Med Symbolique mathématique Matlab 1 % SYMBOLIC MATHEMATIQUE TOOLBOX % % --------------------------------- % % **S Chapitre : % CALCULS : % Les boîtes à outils de la symbolique mathématique fournissent des fonctions pour faire les % opérations de base des calculs de différentiation, de limites, d'intégration, d'addition, et de % développement en séries de Taylor. Les sections suivantes décrivent ces fonctions. % %**S1. Différentiation : % ================== % Créons une expression symbolique : % syms a x % f = sin(a*x^2) % % Ensuite pour calculer la différentielle de f % % diff(f) % ans= % 2*cos(a*x^2)*a*x % Différencie f par rapport à sa variable symbolique (dans ce cas-ci x), qui est déterminé par la % "findsym". C'est à dire pour trouver les paramètres et les variables il faut taper: findsym(f) % ans % a, x % % % %**S1.2. Différencier par rapport une variable donnée: % % La commande "diff(f,z)" nous retourne la différentielle de f par rapport à z,(c’est-à-dire df/dz ) % % % Ex : syms a b c d x y z % f=x*y+z*cos(d*x*z/y)+exp(x.^3)+sqrt(z*y); % diff(f,x) % ans = % y-z^2*sin(d*x*z/y)*d/y+3*x^2*exp(x^3); % ------------ % diff(f,z) % ans = % cos(d*x*z/y)-z*sin(d*x*z/y)*d*x/y+1/2/(z*y)^(1/2)*y % ------------ % diff(f,y) % ans = % x+z^2*sin(d*x*z/y)*d*x/y^2+1/2/(z*y)^(1/2)*z % %**S1.3. Calculer la 2ème différentiation : % % Pour calculer la deuxième dérivés /x ; la commande est : % diff(f,2) ou diff(f,x,2) % % Ex : syms a x % f=cos(a*x) % diff(f,2) % --------------- % Ex : syms a x % f=sin(a*x) % diff(f,x,2) % Définir a, b, x, n, t, et thêta dans la zone de travail de MATLAB, en % utilisant la commande "sym".La table ci-dessous illustre % la commande de "diff": % % f | diff(f) % --------------|--------- % x^n | x^n*n/x % sin(a*t+b) | cos(a*t+b)*a % exp(i*theta) | i*exp(i*theta) % %**S1.4. Différentiation des fonctions de Bessel : ALIA. Med Symbolique mathématique Matlab 2 % % Pour différencier la fonction de Bessel de la première espèce, % "besselj(nu, z)", par rapport à z, la commande est : % % syms nu z % b = besselj(nu,z); % db = diff(b) % % Ce qui retourne : % % db= % -besselj(nu+1,z)+nu/z*besselj(nu,z) % %**S1.5. Différentions d'une matrice donnée sous forme symbolique : % % La fonction de "diff" peut également prendre une matrice symbolique en tant qu’entrée. Dans ce cas-% % ci, la différentiation est faite élément-par-élément. % Considérer l'exemple : % % syms a x % A = [cos(a*x),sin(a*x);-sin(a*x),cos(a*x)] % Ce qui retourne % % A = % [ cos(a*x), sin(a*x)] % [ -sin(a*x), cos(a*x)] % La commande % % diff(A) % % Retourne % % ans = % [ -sin(a*x)*a, cos(a*x)*a] % [ -cos(a*x)*a, -sin(a*x)*a] % % On peut également effectuer la différentiation d'un vecteur colonne par rapport à un vecteur ligne. % Considérer la transformation euclidienne : % (x, y, z) en coordonnées sphériques(r,labda,phi) , données par: % % x=r*cos(labda)*cos(phi) % y=r*cos(labda)*sin(phi) % z=r*sin(labda) % Note: % labda= élevation =latitude % phi=longitude=angle azimuthal. % % Pour calculer la matrice de Jacobi, J, de cette transformation, utilisation % la fonction Jacobéenne. La notation mathématique de cette matrice de % transformation est J : % % J=d(x,y,z)/d(r,labda,phi) % % Pour les besoins de la syntaxe de la boîte à outils, nous employons % l pour "labda" et petit f pour phi. % Les commandes: % % syms r l f % x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); % J = jacobian([x; y; z], [r l f]) % % Retourne le Jacobien j % % J = % [ cos(l)*cos(f), -r*sin(l)*cos(f), -r*cos(l)*sin(f)] % [ cos(l)*sin(f), -r*sin(l)*sin(f), r*cos(l)*cos(f)] % [ sin(l), r*cos(l), 0] % % Et la commande "det=simple(det(J))" nous calcule le déterminant de J % simplifié :(la commande "simlpe" simplifié les expressions % symbolique math) ALIA. Med Symbolique mathématique Matlab 3 % % Ex : syms r l f % x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); % J = jacobian([x; y; z], [r l f]); % det=simple(det(J)) % % Ce qui retourne : % % det = % -cos(l)*r^2 % % Ex : syms r l f % x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); % J = jacobian([x; y; z], [r l f]); % det(J) % % Ce qui retourne : % % det(J) % ans = % -cos(l)^3*cos(f)^2*r^2-cos(l)^3*sin(f)^2*r^2... % -r^2*sin(l)^2*cos(f)^2*cos(l)-r^2*cos(l)*sin(f)^2*sin(l)^2. % % Ex : syms r l f % x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); % J = jacobian([x; y; z], [r l f]); % simple(det(J)) % % Ce qui retourne : % detJ = % -cos(l)*r^2 % -- REMARQUE : % Noter que le premier argument de la fonction Jacobéenne doit être un vecteur colonne et le % deuxième argument est un vecteur ligne. D'ailleurs, la détermination du Jacobien est le plus souvent % une expression trigonométrique plutôt compliquée ; afin de la simplifier on emploie la commande % "simple" qui opère les substitutions et les réductions trigonométriques (simplifications).La section" % Simplifications and Substitutions" discute les simplifications pour plus de détail. Une table % récapitulant : % % les champs d'application de la "diff" et le jacobien : % % |Opérateurs mathématique | Commande de MATLAB % ----------------------------|----------------------- % df/dx (1ére dérivée f/x) | diff(f) ou diff(f,x) % ----------------------------|----------------------- % df/da (1ére dérivée f/a) | diff(f,a) % ----------------------------|----------------------- % d2f/dy2 (2émme dérivée f/y)| diff(f,y,2) % ----------------------------|----------------------- % J=d(r,t)/d(u,v) |J=jacobian([r:t],[u,v]) % ----------------------------|----------------------- % % %**S2. Limite : % ========= % L'idée fondamentale dans le calcul est d'effectuer des calculs sur des fonctions comme une % variable "au voisinage de" ou approcher une certaine valeur. Se rappeler que la définition de la % dérivé est donnée par une limite : % % f'(x)=Lim(f(x+h)-f(x))/h avec h-->0 Si cette limite existe. % % La boîte à outils "symbolique de maths" nous permet de calculer les limites % des fonctions d'une façon directe. % Les commandes : % % syms h n x % limit((cos(x+h)-cos(x))/h,h,0 ) % % Qui nous retourne la limite : % ALIA. Med Symbolique mathématique Matlab 4 % ans = % -sin(x) % % Ex : % syms n x inf % limites((1+x/n)^n,n,inf) % ans = % exp(x) % % Ces deux exemples illustrer deux des limites les plus importantes dans % les mathématiques : la dérivé (dans ce cas-ci de cos( x)) et de la fonction % exponentielle(e^x). % Parfois beaucoup de limites Limf(x),x-->a à droit ou à gauche % de (a)" représentent des singularités, les limites aux singularités de f(x) % ne sont pas toujours égales .Par conséquent, les trois limites de : % % lim(1/x), x--->0 ; lim(1/x) ,x--->0- et limi(1/x),x--->0+ % % donnent trois résultats distincts : non défini, "-infini", et"+infini", % respectivement. % Dans le cas des limites non définies, la boîte à outils symbolique de maths % renvoie NaN (pas un nombre). % % La commande : % limit(1/x,x,0) % ou % limit(1/x) % % Nous renvoit la méme réponse; à savoir % % ans= % NaN % La commande : % limit(1/x,x,0,'left') % % Retourne le résultat % % ans= % -inf % Par contre la commande % % limit(1/x,x,0,'right') % ans = % inf % % Observer que le caspar défaut, limit(f) est identique à limit(f,x, 0). % Explorer les options pour la commande de "limite" dans cette table. % Ici, nous supposons que f est une fonction de l'objet symbolique x. % % |Opérateurs mathématique | Commande de MATLAB % ----------------------------|----------------------- % Lim f(x) , x--->0 | limit(f) % ----------------------------|----------------------- % Lim f(x) , x--->a | limit(f,x,a) ou limit(f,a) % ----------------------------|----------------------- % Lim f(x) , x--->0- | limit(f,x,a,'left') % ----------------------------|----------------------- % Lim f(x) , x--->0+ |limit(f,x,a,'right') % ----------------------------|----------------------- % % %**S3. Intégration : % ============ % Si f est une expression symbolique, puis la commande" int(f)" essaye de trouver une autre % expression symbolique, F, de sorte que la diff(F) = f. % C'est-à-dire,"int(f)" renvoie l'intégral indéfini ou antiderivée de f % % (fourni une intégrale forme fermée?). Semblable à la différentiation: % % int(f,v) % ALIA. Med Symbolique mathématique Matlab 5 % On emploie l'objet symbolique v comme variable de l'intégration, plutôt que la variable déterminée % par le "findsym". Voir commentaire sur la commande "int". % % La table suivante vous aide à passer de l’opérateur mathématique aux commande de MATLAB % % | Opérateurs mathématique | Commande de MATLAB | % ---------------------------------------|----------------------- % Intégrale de (x^n)*dx=(x^(n+1)/(n+1) | int(x^n) ou int(x^n,x) % ---------------------------------------|----------------------- % Intégrale de sin(2*x)*dx,[0;pi/2] | int(sin(2*x),0,pi/2) % | ou % | int(sin(2*x),0,pi/2) % ---------------------------------------|----------------------- % g=cos(at+b); | g=cos(a*t+b); % intégrale g(t)dt=sint(at+b)/a | int(g) ou int(g,t) % ---------------------------------------|----------------------- % intégrale de J1(z)dz=-J0(z) | int(besselj(1,z)) % | ou % | int(besselj(1,z),z) % ---------------------------------------|----------------------- % % Contrairement à la différentiation, l'intégration symbolique est une tâche plus compliquée. Un % certain nombre de difficultés peuvent surgir en calculant l'intégrale. L'antiderivative, F, peut ne % pas exister sous la "forme fermée" ;il peut définir une fonction peu familière ;il se peut qu'elle % existe, mais le logiciel ne peut pas trouver l'antiderivative ; le logiciel peut la trouver sur uploads/Industriel/ symbolic-mathematique-toolbox-matlab.pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 22, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.1077MB