▼
Scroll to page 2
of
958
hp 49g+ calculatrice graphique guide de l’utilisateur H Édition 4 Référence HP F2228-90008 Avis ENREGISTRER VOTRE PRODUIT A: www.register.hp.com CE MANUEL ET LES EXEMPLÉS STIPULES DANS LES PRÉSENTES SONT FOURNIS TELS QUELS ET PEUVENT ÊTRE MODIFIÉS SANS PRÉAVIS. HEWLETT-PACKARD COMPANY N’OFFRE AUCUNE GARANTIE CONCERNANT CE MANUEL, Y COMPRIS MAIS NON LIMITÉE AUX GARANTIES IMPLICITES DE COMMERCIALISATION, DE NON-VIOLATION ET DE D’APTITUDE À UN EMPLOI PARTICULIER. HEWLETT-PACKARD CO. N’ENDOSSE AUCUNE RESPONSABILITÉ QUANT AUX ERREURS OU DOMMAGES INDIRECTS OU ACCESSOIRES LIÉS À L’APPROVISIONNEMENT, LA PERFORMANCE OU L’EMPLOI DE CE MANUEL OU DES EXEMPLES QU’IL CONTIENT. © Copyright 2003 Hewlett-Packard Development Company, L.P. Toute reproduction, adaptation ou traduction dudit manuel est interdite à moins d’avoir obtenu au préalable le consentement écrit de Hewlett-Packard Company, sauf conformément aux lois de droits d’auteur. Hewlett-Packard Company 4995 Murphy Canyon Rd, Suite 301 San Diego,CA 92123 Historique d’impression Édition 4 Avril 2004 Préface Vous tenez entre vos mains un ordinateur compact symbolique et numérique qui va vous faciliter le calcul et l’analyse mathématique de problèmes dans une grande variété de disciplines, des mathématiques élémentaires aux sujets les plus avancés d’ingénierie et de sciences. Bien qu'on s’y réfère en tant qu'une calculatrice, en raison de sa taille proche de celle d'une calculatrice de poche ordinaire , le hp 49g+ est en fait un ordinateur graphique portable et programmable. Le hp 49g+ peut être opérer en deux modes différents, le mode Reverse Polish Notation (RPN ou notation polonaise inversée) et le mode Algebraic (ALG) (voir pages 1-11 du Guide de l'utilisateur pour plus d'information). Le mode RPN a été inclus dans la calculatrice pour améliorer son efficacité. Avec ce mode, les opérandes d'une opération (par exemple, ‘2’ et ‘3’ dans l'opération ‘2+3’) sont saisis à l'écran de la calculatrice, que l'on appelle la pile, et l'opérateur(par exemple, ‘+’ dans l'opération ‘2+3’) est ensuite saisi pour effectuer l'opération. Le mode ALG, par contre, fonctionne comme les calculatrices ordinaires. Donc, l'opération ‘2+3’, en mode ALG, sera saisie en pressant les touches ‘2’, ‘+’, et ‘3’, dans cet ordre. Pour effectuer l'opération, nous utilisons la touche ENTER. Des exemples sur les applications des différentes fonctions et opérations, pour les deux modes, ont été ajoutés dans ce Guide de l'utilisateur. Le présent guide contient des exemples qui illustrent l’utilisation des fonctions et opérations de base de la calculatrice. Les chapitres de ce Guide de l'Utilisateur sont organisés par ordre de difficulté. Du paramétrage des modes de la calculatrice aux calculs de nombres réels et complexes, opérations avec des listes, vecteurs, matrices, exemples détaillés des opérations graphiques, utilisation des chaînes de caractères, programmation de base, programmation graphiques, analyses de vecteurs, applications avancées et opérations à plusieurs variables, équations différentielles avancées (comprenant les transformées de Laplace, les séries et les transformées de Fourier), probabilités et statistiques. Le cœur de la calculatrice est un système d’exploitation pouvant être mis à niveau : vous pouvez le mettre à jour en téléchargeant les nouvelles versions sur la page Internet consacrée à la calculatrice. Pour les opérations symboliques, la calculatrice comprend un puissant Computer Algebraic System (CAS) qui vous permet de choisir entre différents modes d’opération, c'est-à-dire nombres complexes ou nombres réels ou mode exact (symbolique) et mode arrondi (numérique). L’affichage peut-être réglé pour fournir des expressions semblables à celles employées dans les manuels, ce qui peut être utile lorsque l’on travaille avec des matrices, vecteurs, fractions, additions, dérivées et intégrales. Les graphiques à grande vitesse de la calculatrice sont très pratiques pour produire presque instantanément des figures complexes. Grâce au port infrarouge et au câble USB livrés avec votre calculatrice, vous pouvez la connecter à d’autres calculatrices et ordinateurs. La connexion à grande vitesse par infrarouge ou USB permet l’échange rapide et efficace de programmes et de données avec d’autres calculatrices et ordinateurs. La calculatrice dispose de port pour carte mémoire afin de faciliter le stockage et l’échange de données avec d’autres utilisateurs. La fonction de programmation de la calculatrice permet à l'utilisateur de développer des applications spécifiques à but particulier. Qu'il s'agisse d'applications mathématiques avancées, de la solution d'un problème particulier ou de l’enregistrement de données, les langages de programmation de votre calculatrice en font un outil informatique très polyvalent. Nous espérons que votre calculatrice deviendra une compagne fidèle pour tous vos usages scolaires et professionnels. Cette calculatrice représente, sans l’ombre d’un doute, le nec plus ultra en matière d’outils de calcul portables. Table des matières Chapitre 1 – Pour commencer, 1-1 Prise en main, 1-1 Piles, 1-1 Allumer et éteindre la calculatrice, 1-2 Ajuster le contraste de l’écran, 1-2 Description de l’écran de la calculatrice, 1-2 Menus, 1-3 Menus SOFT et CHOOSE boxes, 1-4 Sélectionner les menus SOFT ou les CHOOSE boxes, 1-5 Le menu TOOL, 1-7 Régler la date et l’heure, 1-8 Le clavier de la calculatrice, 1-11 Choisir les modes d’opération de la calculatrice, 1-13 Mode d’opération, 1-14 Format numérique et point décimal ou virgule, 1-19 Mesure d’angles, 1-24 Système de coordonnées, 1-25 Bip, Clic et dernière pile, 1-27 Sélectionner les paramètres CAS, 1-28 Choix du mode d’affichage,1-28 Choisir la police d’affichage, 1-29 Choisir les propriétés de l’Editeur de ligne, 1-30 Choisir les propriétés de la pile, 1-31 Choisir les propriétés de l’Editeur d’équations (Equation Writer EQW), 1-32 Choisir la taille de l’en-tête, 1-32 Choisir l’affichage de l’horloge, 1-33 Chapitre 2 – Présentation de la calculatrice, 2-1 Objets, 2-1 Afficher des expressions à l’écran, 2-4 Créer des expressions arithmétiques, 2-4 Editeur des expressions arithmétiques, 2-7 Page TOC-1 Créer des expressions algébriques, 2-8 Éditer des expressions algébriques, 2-9 Utiliser l’Editeur d’équation (Equation Writer - EQW) pour écrire des expressions, 2-12 Créer des expressions arithmétiques, 2-13 Éditer des expressions arithmétiques, 2-19 Créer des expressions algébriques, 2-22 Éditer des expressions algébriques, 2-24 Créer et éditer des sommes, des dérives et des intégrales, 2-33 Organiser les données dans la calculatrice, 2-37 Fonctions de manipulation des variables, 2-38 Le répertoire HOME, 2-39 Le sous-répertoire CASDIR, 2-40 Taper des noms de répertoires et de variables, 2-42 Créer des sous-répertoires, 2-44 Se déplacer parmi les sous-répertoires, 2-48 Effacer des sous-répertoires, 2-49 Les variables, 2-53 Créer des variables, 2-54 Vérifier le contenu des variables, 2-58 Remplacer le contenu des variables, 2-61 Copier des variables, 2-63 Réorganiser les variables dans un répertoire, 2-66 Déplacer des variables en utilisant le menu des fichiers FILES, 2-67 Effacer des variables, 2-68 Les fonctions UNDO et CMD , 2-70 Indicateurs 2-71 Exemple d’activation d’un indicateur : solutions générales ou valeur principale, 2-72 Autres indicateurs utiles, 2-74 CHOOSE boxes et Menu SOFT, 2-75 CHOOSE boxes, 2-77 Chapitre 3 – Calculs avec des nombres réels, 3-1 Vérifier les paramètres de la calculatrice, 3-1 Vérifier le mode de calcul, 3-2 Page TOC-2 Calculs sur les nombres réels, 3-2 Changer le signe d’un nombre, d’une variable ou d’une expression, 3-3 Fonction inverse, 3-3 Addition, soustraction, multiplication, division, 3-3 Utiliser les parenthèses, 3-4 Fonction valeur absolue, 3-5 Carrés et racines carrées, 3-5 Puissances et racines, 3-5 Logarithmes en base 10 et puissances de 10, 3-6 Entrer des données avec des puissances de 10, 3-6 Logarithmes népériens et fonction exponentielle, 3-6 Fonctions trigonométriques, 3-6 Fonctions trigonométriques inverses, 3-7 Différences entre fonctions et opérateurs, 3-7 Fonctions réelles dans le menu MTH, 3-8 Fonctions hyperboliques et leurs inverses, 3-9 Fonctions réelles, 3-12 Fonctions spéciales, 3-15 Les constantes de la calculatrice, 3-17 Opérations sur les unités, 3-18 Le menu des unités (UNITS), 3-18 Unités disponibles, 3-20 Convertir en unités de base, 3-22 Associer des unités à des nombres, 3-24 Opérations sur les unités, 3-26 Outils de manipulation d’unités, 3-29 Constantes physiques de la calculatrice, 3-30 Fonctions de physique particulières, 3-33 Fonction ZFACTOR, 3-34 Fonction F0λ, 3-34 Fonction SIDENS, 3-34 Fonction TDELTA, 3-35 Fonction TINC, 3-35 Définir et utiliser des fonctions, 3-35 Fonctions définies par plus d’une expression, 3-37 Page TOC-3 Fonction IFTE, 3-38 Fonctions IFTE combinées, 3-38 Chapitre 4 – Calculs avec des nombres complexes, 4-1 Définitions, 4-1 Paramétrer la calculatrice en mode COMPLEX, 4-1 Saisie de nombres complexes, 4-2 Représentation polaire d’un nombre complexe, 4-3 Opérations simples avec des nombres complexes, 4-4 Changer le signe d’un nombre complexe, 4-5 Saisir le nombre imaginaireunitaire, 4-5 Les menus CMPLX, 4-6 Le menu CMPLX en passant par le menu MTH, 4-6 Menu CMPLX accessible sur le clavier, 4-8 Fonctions appliquées aux nombres complexes, 4-8 Fonctions du menu MTH, 4-9 Fonction DROITE: équation d’une ligne droite, 4-10 Chapitre 5 – L’algèbre et les opérations mathématiques , 5-1 Saisie des objets algébriques, 5-1 Opérations simples avec les objets algébriques, 5-2 Fonctions du menu ALG, 5-3 COLLECT, 5-5 EXPAND, 5-5 FACTOR, 5-5 LNCOLLECT, 5-5 LIN, 5-5 PARTFRAC, 5-5 SOLVE, 5-6 SUBST, 5-6 TEXPAND, 5-6 Autres formes de substitution en expressions algébriques, 5-6 Opérations avec les fonctions transcendantes, 5-8 Développement et mise en facteur en utilisant les fonctions log-exp, 5-8 Développement et mise en facteur en utilisant les fonctions trigonométriques, 5-9 Page TOC-4 Fonctions du menu ARITHMETIC, 5-10 DIVIS, 5-11 FACTORS, 5-11 LGCD, 5-11 PROPFRAC, 5-11 SIMP2, 5-11 Menu INTEGER, 5-11 Menu POLYNOMIAL, 5-12 Menu MODULO, 5-12 Applications du menu ARITHMETIC, 5-13 Arithmétique Modulaire, 5-13 Anneaux arithmétiques finis dans la calculatrice, 5-16 Polynômes, 5-19 Arithmétique modulaire avec des polynômes, 5-20 Fonction CHINREM, 5-20 Fonction EGCD, 5-20 Fonction GCD, 5-21 Fonction HERMITE, 5-21 Fonction HORNER, 5-22 La variable VX, 5-22 Fonction LAGRANGE, 5-22 Fonction LCM, 5-23 Fonction LEGENDRE, 5-23 Fonction PCOEF, 5-24 Fonction PROOT, 5-24 Fonction PTAYL, 5-24 Les fonctions QUOT et REMAINDER, 5-24 Fonction EPSX0 et la variable du CAS EPS, 5-25 Fonction PEVAL, 5-25 Fonction TCHEBYCHEFF, 5-25 Fractions, 5-26 Fonction SIMP2, 5-26 Fonction PROPFRAC, 5-26 Fonction PARTFRAC, 5-27 Fonction FCOEF, 5-27 Fonction FROOTS, 5-28 Page TOC-5 Opérations étape par étape avec des polynômes et des fractions, 5-28 Le menu CONVERT et les opérations algébriques, 5-29 Menu de conversion UNITS (Option 1), 5-30 Menu de conversion BASE (Option 2), 5-30 Menu de conversion TRIGONOMETRIC (Option 3), 5-30 Menu de conversion MATRICES (Option 5), 5-30 Menu de conversion REWRITE (Option 4), 5-30 Chapitre 6 – Résolution d’équations singulières, 6-1 Résolution symbolique des équations algébriques, 6-1 Fonction ISOL, 6-2 Fonction SOLVE, 6-3 Fonction SOLVEVX, 6-4 Fonction ZEROS, 6-5 Menu de Résolution numérique , 6-6 Equations polynomiales, 6-6 Calculs financiers, 6-10 Résoudre des équations à une inconnue avec NUM.SLV, 6-16 Le menu SOLVE, 6-30 Le sous-menu ROOT, 6-30 Fonction ROOT, 6-30 La variable EQ, 6-31 Le sous-menu SOLVR, 6-31 Le sous-menu DIFFE, 6-34 Le sous-menu POLY, 6-35 Le sous-menu SYS, 6-35 Le sous-menu TVM, 6-36 Chapitre 7 – Résolution d’équations multiples, 7-1 Systèmes d’équations rationnelles, 7-1 Exemple 1 – Mouvement de projectile, 7-1 Exemple 2 – Contraintes sur un cylindre à paroi épaisse, 7-3 Exemple 3 – Système d’équations polynomiales, 7-5 Résoudre des équations simultanées avec MSLV, 7-5 Exemple 1 – Exemple de la fonction d’aide, 7-6 Page TOC-6 Exemple 2 – Entrée d’un lac dans un écoulement à surface libre , 7-7 Utilisation de résolution d’Equations Multiples (MES), 7-11 Application 1 – Résolution de triangles, 7-11 Application 2 – Vélocité et accélération en coordonnées polaires, 7-21 Chapitre 8 – Opérations avec les listes, 8-1 Définitions, 8-1 Créer et enregistrer des listes , 8-1 Composer et décomposer des listes, 8-2 Opérations avec des listes de nombres, 8-3 Changement de signe, 8-3 Addition, soustraction, multiplication, division, 8-4 Fonctions nombres réels à partir du clavier, 8-5 Fonctions réelles dans le menu MTH, 8-6 Exemples de fonctions utilisant deux arguments, 8-7 Listes de nombres complexes, 8-8 Listes d’objets algébriques, 8-9 Le menu MTH/LIST, 8-9 Manipulation des éléments d’une liste, 8-11 Taille de la liste, 8-11 Extraire et insérer des éléments dans une liste, 8-11 Emplacement d’un élément dans la liste, 8-12 Fonctions HEAD et TAIL, 8-12 Fonction SEQ, 8-13 Fonction MAP, 8-14 Définition de fonctions qui utilisent des listes, 8-14 Applications des listes, 8-16 Moyenne harmonique d’une liste, 8-17 Moyenne géométrique d’une liste, 8-18 Moyenne pondérée, 8-19 Statistiques de données groupées, 8-21 Chapitre 9 – Vecteurs, 9-1 Définitions, 9-1 Saisie de vecteurs, 9-2 Saisie de vecteurs dans la pile, 9-2 Page TOC-7 Enregistrer des vecteurs dans des variables, 9-3 Utilisation de l’Editeur de matrices (MTRW) pour saisir les vecteurs, 9-3 Construire un vecteur avec ARRY, 9-7 Identifier, extraire et insérer des éléments de vecteur, 9-8 Opérations simples avec des vecteurs, 9-10 Changement de signe, 9-10 Addition, soustraction, 9-10 Multiplication et division par un scalaire, 9-10 Fonction valeur absolue, 9-11 Le menu MTH/VECTOR, 9-11 Magnitude, 9-12 Produit scalaire, 9-12 Produit croisé, 9-12 Décomposition d’un vecteur, 9-13 Construire un vecteur bidimensionnel, 9-14 Construire un vecteur tridimensionnel, 9-14 Modifier les système de coordonnées, 9-14 Application d’opérations vectorielles, 9-18 Résultante de forces, 9-18 Angle entre vecteurs, 9-18 Moment d’une force, 9-19 Equation d’un plan dans l’espace, 9-20 Vecteurs lignes, vecteur colonnes et listes, 9-21 Fonction OBJ, 9-22 Fonction LIST, 9-23 Fonction ARRY, 9-23 Fonction DROP, 9-24 Transformation d’un vecteur ligne en vecteur colonne, 9-24 Transformation d’un vecteur colonne en vecteur ligne, 9-25 Transformation d’une liste en vecteur, 9-27 Transformation d’un vecteur (ou matrice) en liste, 9-28 Chapitre 10 – Création et manipulation de matrices, 10-1 Définitions, 10-1 Saisie de matrices dans la pile, 10-2 Utilisation de l’Editeur de matrice, 10-2 Page TOC-8 Saisir la matrice directement dans la pile, 10-3 Création de matrices à l’aide des fonctions de la calculatrice, 10-4 Fonctions GET et PUT, 10-6 Fonctions GETI et PUTI, 10-7 Fonction SIZE, 10-8 Fonction TRN, 10-8 Fonction CON, 10-9 Fonction IDN, 10-10 Fonction RDM, 10-11 Fonction RANM, 10-12 Fonction SUB, 10-13 Fonction REPL, 10-13 Fonction DIAG, 10-14 Fonction DIAG, 10-14 Fonction VANDERMONDE, 10-15 Fonction HILBERT, 10-16 Programmes permettant de construire une matrice à partir d’un certain nombre de listes, 10-16 Les listes représentent des colonnes de la matrice, 10-17 Les listes représentent les lignes de la matrice, 10-19 Manipulation de matrices par colonnes, 10-19 Fonction COL, 10-20 Fonction COL, 10-21 Fonction COL+, 10-22 Fonction COL-, 10-23 Fonction CSWP, 10-23 Manipulation de matrices par lignes, 10-24 Fonction ROW, 10-25 Fonction ROW , 10-26 Fonction ROW+, 10-27 Fonction ROW -, 10-27 Fonction RSWP, 10-28 Fonction RCI, 10-28 Fonction RCIJ, 10-29 Chapitre 11 – Matrices et algèbre linéaire, 11-1 Page TOC-9 Opérations avec des matrices, 11-1 Addition et soustraction, 11-2 Multiplication, 11-2 Caractérisation d’une matrice (Menu NORM), 11-7 Fonction ABS, 11-7 Fonction SNRM, 11-8 Fonctions RNRM et CNRM, 11-9 Fonction SRAD, 11-9 Fonction COND, 11-10 Fonction RANK, 11-11 Fonction DET, 11-12 Fonction TRACE, 11-14 Fonction TRAN, 11-15 Autres opérations matricielles (Le menu OPER matrice), 11-15 Fonction AXL, 11-16 Fonction AXM, 11-16 Fonction LCXM, 11-16 Résolutions des systèmes linéaires, 11-17 Utilisation de la résolution numérique pour les systèmes linéaires, 11-18 Solution des moindres carrés (fonction LSQ), 11-26 Résolution avec la matriceinverse, 11-28 Résolution par “division“ de matrices, 11-29 Résolution d’ensembles multiples d’équations avec une matrice de même coefficient , 11-30 Elimination de Gauss et de Gauss-Jordan, 11-31 Procédure pas à pas sur la calculatrice pour résoudre des systèmes linéaires, 11-42 Résolution de systèmes linéaires en utilisant les fonctions de la calculatrice, 11-45 Erreurs résiduelles dans la résolution de systèmes linéaires (Fonction RSD), 11-48 Valeurs propres et vecteurs propres, 11-49 Fonction PCAR, 11-50 Fonction EGVL, 11-50 Fonction EGV, 11-51 Fonction JORDAN, 11-52 Page TOC-10 Fonction MAD, 11-53 Factorisation de matrices, 11-54 Fonction LU, 11-55 Matrices orthogonales et décomposition en valeur singulière, 11-55 Fonction SCHUR, 11-56 Fonction LQ, 11-57 Fonction QR, 11-57 Formes quadratiques d’une matrice, 11-57 Le menu QUADF, 11-58 Applications linéaires, 11-60 Fonction IMAGE, 11-60 Fonction ISOM, 11-61 Fonction KER, 11-61 Fonction MKISOM, 11-61 Chapitre 12 – Graphiques, 12-1 Options graphiques de la calculatrice, 12-1 Tracé d’une expression de forme y = f(x), 12-3 Quelques opérations utiles pour la fonction PLOT, 12-5 Enregistrement d’un graphe pour une utilisation future, 12-8 Graphiques de fonction transcendantes, 12-9 Graphique de ln(X), 12-9 Graphe d’une fonction exponentielle, 12-12 La variable PPAR, 12-12 Fonctions inverses et leurs graphes, 12-13 Résumé du fonctionnement de la Fonction Plot, 12-15 Graphiques de fonctions trigonométriques et hyperboliques et leurs inverses, 12-19 Générer une table de valeurs pour une fonction, 12-20 La variable TPAR, 12-21 Graphiques en coordonneés polaires, 12-22 Tracer des courbes coniques, 12-24 Graphiques paramétriques, 12-26 Générer une table pour les équations paramétriques, 12-29 Tracé de la solution d’équations différentielles simples, 12-30 Graphiques Truth, 12-33 Page TOC-11 Tracé d’histogrammes, d’histogramme à barres et de diagramme de dispersion, 12-34 Histogramme à barres, 12-35 Nuages de points, 12-37 Isoclines, 12-39 Graphiques rapides 3D, 12-40 Graphiques filaires, 12-42 Graphiques Ps-Contour, 12-45 Graphiques Y-Slice (tranche Y), 12-46 Graphiques gridmap, 12-48 Graphique Pr-Surface, 12-49 La variable VPAR, 12-50 Graphiques interactif, 12-50 DOT+ et DOT-, 12-52 MARK, 12-52 LINE, 12-53 TLINE, 12-53 BOX, 12-53 CIRCL, 12-54 LABEL, 12-54 DEL, 12-54 ERASE, 12-54 MENU, 12-55 SUB, 12-55 REPL, 12-55 PICT,12-55 X,Y, 12-55 Zoom avant et zoom arrière dans l’affichage graphique, 12-55 ZFACT, ZIN, ZOUT, et ZLAST, 12-56 BOXZ, 12-57 ZDFLT, ZAUTO, 12-57 HZIN, HZOUT, VZIN et VZOUT, 12-57 CNTR, 12-58 ZDECI, 12-58 ZINTG, 12-58 ZSQR, 12-58 Page TOC-12 ZTRIG, 12-58 Le menu SYMBOLIC et les graphes, 12-58 Le menu SYMB/GRAPH, 12-59 Fonction DRAW3DMATRIX, 12-62 Chapitre 13 – Applications différentielles,13-1 Le menu CALC (Calculs), 13-1 Limites et dérivées, 13-1 Fonction lim, 13-2 Dérivées, 13-3 Fonctions DERIV et DERVX, 13-3 Le menu DERIV&INTEG, 13-4 Calcul de dérivées avec ∂,13-5 La règle de la chaîne, 13-6 Dérivées des équations, 13-7 Dérivées implicites, 13-8 Application des dérivées,13-8 Analyse des graphiques de fonctions, 13-8 Fonction DOMAIN, 13-10 Fonction TABVAL, 13-10 Fonction SIGNTAB, 13-11 Fonction TABVAR, 13-11 Utilisation de dérivées pour calculer les points extrêmes, 13-13 Dérivées d’ordres supérieur, 13-15 Primitive et intégrales, 13-15 Fonctions INT, INTVX, RISCH, SIGMA et SIGMAVX, 13-15 Intégrales définies, 13-16 Evaluation pas à pas des dérivées et des intégrales,13-18 Intégration d’une équation, 13-19 Techniques d’intégration, 13-19 Substitution ou changement de variables, 13-20 Intégration par parties et différentielles, 13-21 Intégration par fractions partielles, 13-22 Intégrales généralisée, 13-22 Intégration avec des unités, 13-23 Séries infinies, 13-25 Page TOC-13 Séries de Taylor et Maclaurin, 13-25 Polynôme de Taylor et rappel, 13-26 Fonctions TAYLR, TAYRL0 et SERIES, 13-26 Chapitre 14 – Applications différentielles à plusieurs variables, 14-1 Fonctions de plusieurs variables, 14-1 Dérivées partielles, 14-1 Dérivées d’ordres supérieurs, 14-3 Règle de dérivation en chaîne des dérivées partielles, 14-4 Différentielle total e d’une fonction z = z(x,y), 14-5 Déterminer les extrêmes de fonctions à deux variables, 14-5 Utilisation de la fonction HESS pour analyser les extrêmes, 14-7 Intégrales multiples, 14-8 Jacobienne de transformation de coordonnées, 14-9 Intégrale double en coordonnées polaires, 14-10 Chapitre 15 – Applications d’analyse vectorielle, 15-1 Définitions, 15-1 Gradient et dérivée directionnelle, 15-1 Un programme permettant de calculer le gradient, 15-2 Utilisation de la fonction HESS pour obtenir le gradient, 15-3 Potentiel d’un gradient, 15-3 Divergence, 15-4 Laplacien, 15-5 Rotationnel, 15-5 Champ non rotationnel et fonction potentielle, 15-6 Vecteur potentiel, 15-7 Chapitre 16 – Equations différentielles, 16-1 Opérations de base avec des équations différentielles, 16-1 Saisie d’équations différentielles, 16-1 Vérifier des solutions avec la calculatrice, 16-3 Visualisation des solutions en isoclines , 16-3 Le menu CALC/DIFF, 16-4 Page TOC-14 Solution des équations linéaires et non linéaires, 16-5 Fonction LDEC, 16-5 Fonction DESOLVE,16-8 La variable ODETYPE, 16-8 Transformations de Laplace, 16-11 Définitions, 16-11 Transformation de Laplace et transformation inverse sur la calculatrice, 16-12 Théorèmes de la transformation de Laplace, 16-13 Fonction delta de Dirac et fonction d’étape de Heaviside, 16-16 Applications de la transformation de Laplace à la solution d’ODE linéaires, 16-18 Séries de Fourier, 16-29 Fonction de FOURIER, 16-30 Séries de Fourier pour une équation fonction, 16-31 Séries de Fourier pour une onde triangulaire, 16-37 Séries de Fourier pour une onde carrée, 16-43 Applications des séries de Fourier aux équations différentielles, 16-44 Transformations de Fourier, 16-46 Définition des transformations de Fourier, 16-49 Propriétés de la transformation de Fourier, 16-51 Transformation de Fourier Rapide (FFT), 16-52 Exemples d’application de la FFT, 16-53 Solution d'équations spécifiques différentielles de second ordre, 16-56 L’équation de Cauchy ou d’Euler, 16-57 Equation de Legendre, 16-57 Equation de Bessel, 16-58 Polynômes de Tchebychev ou Tchebycheff, 16-61 Equation de Laguerre, 16-62 Equation de Weber et polynômes Hermite, 16-63 Solutions numériques et graphiques aux ODEs, 16-64 Solution numérique d’un ODE de premier ordre, 16-64 Solution graphique d’une ODE du premier ordre, 16-66 Solution numérique à une ODE de second ordre, 16-68 Solutions graphiques pour une ODE de second ordre, 16-71 Solution numérique à une ODE de premier ordre raide, 16-73 Page TOC-15 Solution numérique d’ODE avec le menu SOLVE/DIFF, 16-74 Fonction RKF, 16-75 Fonction RRK, 16-76 Fonction RKFSTEP, 16-77 Fonction RRKSTEP, 16-78 Fonction RKFERR, 16-79 Fonction RSBERR, 16-80 Chapitre 17 – Applications de probabilités, 17-1 Sous-menu MTH/PROBABILITY.. – 1ère partie, 17-1 Factorielles, combinaisons et permutations, 17-1 Nombres aléatoires, 17-2 Distributions discrètes de probabilités, 17-4 Distribution binomiale, 17-5 Distribution de Poisson, 17-5 Distributions de probabilités continues, 17-6 La distribution Gamma, 17-7 La distribution exponentielle, 17-7 La distribution bêta 17-8 La distribution de Weitbull, 17-8 Fonctions de distributions continues, 17-8 Distributions continues d’inférences statistiques, 17-10 Distribution normale pdf, 17-10 Distribution normale cdf, 17-11 La distribution t de Student, 17-11 La distribution chi-carré, 17-12 La distribution F, 17-13 Fonctions de distribution cumulative inverses, 17-14 Chapitre 18 – Applications statistiques, 18-1 Fonctions statistiques préprogrammées, 18-1 Saisie de données, 18-1 Calcul de statistiques à une seule variable, 18-2 Obtenir des distributions de fréquence, 18-5 Adapter les données à une fonction y = f(x), 18-11 Obtenir des statistiques de résumé additionnelles, 18-14 Page TOC-16 Calcul de percentiles, 18-15 Le menu logiciel STAT, 18-16 Le sous-menu DATA, 18-17 Le sous-menu ΣPAR, 18-17 Le sous-menu 1VAR, 18-18 Le sous-menu PLOT, 18-19 Le sous-menu FIT, 18-20 Le sous-menu SUMS, 18-20 Exemple d’opérations du menu STAT, 18-21 Intervalles de confiance , 18-24 Estimation des intervalles de confiance, 18-25 Définitions, 18-26 Intervalles de confiance pour la moyenne de population quand la variance de population est connue, 18-26 Intervalles de confiance pour la moyenne de population quand la variance de population est inconnue, 18-27 Intervalle de confiance pour une proportion, 18-27 Distribution d’échantillon de statistiques de différences et de sommes, 18-28 Intervalles de confiance pour les sommes et les différences de valeurs moyennes, 18-29 Déterminer des intervalles de confiance, 18-30 Intervalles de confiance pour la variance, 18-36 Test d’hypothèses, 18-38 Procédure pour tester des hypothèses, 18-38 Erreurs des tests d’hypothèse, 18-39 Inférences concernant une moyenne, 18-40 Inférences concernant deux moyennes, 18-43 Test d’échantillon par paires, 18-44 Inférences concernant une proportion, 18-44 Tester la différence entre deux proportions, 18-46 Test d’hypothèse en utilisant les fonctions préprogrammées de la calculatrice, 18-47 Inférences concernant une variance, 18-50 Inférences concernant deux variances, 18-52 Page TOC-17 Notes supplémentaires sur la régression linéaire, 18-54 La méthode des moindres carrés, 18-54 Equations supplémentaires pour la régression linéaire, 18-55 Erreur de prédiction, 18-56 Intervalles de confiance et test d’hypothèse en régression linéaire, 18-57 Procédure pour les statistiques d’inférence pour la régression linéaire en utilisant la calculatrice, 18-58 Adaptations linéaires multiples, 18-61 Adaptation polynomiale, 18-63 Sélectionner la meilleure adaptation, 18-67 Chapitre 19 – Nombres dans différentes bases, 19-1 Définitions, 19-1 Le menu BASE, 19-1 Fonction HEX, DEC, OCT et BIN, 19-2 Conversion entre les systèmes numériques, 19-3 Taille, 19-4 Opérations avec des entiers binaires, 19-5 Le menu LOGIC, 19-5 Le menu BIT, 19-6 Le menu BYTE, 19-7 Nombres hexadécimaux pour références pixel, 19-8 Chapitre 20 – Personnalisation des menus et du clavier, 20-1 Personnalisation des menus, 20-1 Le menu PRG/MODES/MENU, 20-1 Numéros des menus (fonctions RCLMENU et MENU), 20-2 Menus personnalisés (fonctions MENU et TMENU), 20-2 Spécification du menu et variable CST, 20-4 Personnalisation du clavier, 20-5 Le sous-menu PRG/MODES/KEYS, 20-6 Rappel de la liste actuelle des touches définies par l’utilisateur, 20-7 Affectation d’un objet à une touche définie par l’utilisateur, 20-7 Fonctionnement des touches définies par l’utilisateur, 20-7 Page TOC-18 Désaffectation d’une touche définie par l’utilisateur, 20-8 Affectation de plusieurs touches définies par l’utilisateur, 20-8 Chapitre 21 – Programmation en langage RPL Utilisateur, 21-1 Exemple de programmation, 21-1 Variables globales et locales et sous-programmes, 21-2 Portée de la variable globale, 21-4 Portée de la variable locale, 21-5 Le menu PRG, 21-5 Navigation dans les sous-menus RPN, 21-7 Fonctions répertoriées par sous-menu, 21-7 Raccourcis dans le menu PRG, 21-10 Séquence de touches pour les commandes couramment utilisées, 21-11 Programmes permettant de générer des listes de nombres, 21-14 Exemples de programmation séquentielle, 21-15 Programmes générés par la définition d’une fonction, 21-15 Programmes simulant une séquence d’opérations de la pile, 21-17 Entrée interactive dans les programmes, 21-20 Invite avec chaîne d’entrée, 21-22 Fonction avec chaîne d’entrée, 21-23 Chaîne d’entrée pour deux ou trois valeurs d’entrée, 21-26 Entrée via des formulaires d’entrée, 21-29 Création d’une CHOOSE boxes, 21-34 Identification de la sortie dans les programmes, 21-36 Etiquetage d’un résultat numérique, 21-36 Décomposition d’un résultat numérique étiqueté en un nombre et une étiquette, 21-36 “Désétiquetage” d’une quantité étiquetée, 21-37 Exemples de sortie étiquetée, 21-37 Utilisation d’une boîte de message, 21-41 Opérateurs relationnels et logiques, 21-47 Opérateurs relationnels, 21-47 Opérateurs logiques, 21-49 Embranchement des programmes, 21-50 Embranchement avec IF, 21-51 La construction CASE, 21-56 Page TOC-19 Boucles de programmes, 21-58 La construction START, 21-58 La construction FOR, 21-64 La construction DO, 21-67 La construction WHILE, 21-68 Erreurs et détection des erreurs, 21-70 DOERR, 21-70 ERRN, 21-71 ERRM, 21-71 ERR0, 21-71 LASTARG, 21-71 Sous-menu IFERR, 21-71 Programmation RPL Utilisateur en mode algébrique, 21-73 Chapitre 22 – Programmes de manipulation graphique, 22-1 Le menu PLOT, 22-1 Touche définie par l’utilisateur pour le menu PLOT, 22-2 Description du menu PLOT, 22-3 Génération de graphiques avec des programmes, 22-16 Graphiques en deux dimensions, 22-17 Graphiques en trois dimensions, 22-17 La variable EQ, 22-18 Exemples de graphiques interactifs utilisant le menu PLOT, 22-18 Exemples de graphiques générés par des programmes, 22-21 Commandes de dessin pour une utilisation en programmation, 22-24 PICT, 22-25 PDIM, 22-25 LINE, 22-25 TLINE, 22-26 BOX, 22-26 ARC, 22-26 PIX?, PIXON et PIXOFF, 22-27 PVIEW, 22-27 PXC, 22-27 CPX, 22-27 Exemples de programmation utilisant des fonctions de dessin, 22-28 Page TOC-20 Coordonnées en pixels, 22-31 Animation de graphiques, 22-32 Animation d’un ensemble de graphiques, 22-33 Plus d’informations sur la fonction ANIMATE, 22-36 Objets graphiques (GROBs), 22-36 Le menu GROB, 22-38 Programme avec fonctions de tracé et de dessin, 22-41 Programmation modulaire, 22-43 Exécution du programme, 22-45 Un programme pour calculer les stress principaux, 22-46 Mise en ordre des variables dans le sous-répertoire, 22-47 Deuxième exemple de calculs du cercle de Mohr, 22-48 Un formulaire d’entrée pour le programme du cercle de Mohr, 22-49 Chapitre 23 – Chaînes de caractères, 23-1 Fonctions liées aux chaînes dans le sous-menu TYPE, 23-1 Concaténation des chaînes, 23-2 Le menu CHARS, 23-2 La liste des caractères, 23-4 Chapitre 24 – Objets et indicateurs de la calculatrice, 24-1 Description des objets de la calculatrice, 24-1 Fonction TYPE, 24-2 Fonction VTYPE, 24-2 Indicateurs de la calculatrice, 24-2 Indicateurs système, 24-3 Fonctions permettant de définir et de modifier des indicateurs, 24-3 Indicateurs utilisateur, 24-4 Chapitre 25 – Fonctions de date et d’heure, 25-1 Le menu TIME, 25-1 Réglage d’une alarme, 25-1 Liste des alarmes, 25-2 Réglage de l’heure et de la date, 25-2 Outils du menu TIME, 25-2 Calculs faisant intervenir des dates, 25-4 Page TOC-21 Calculs faisant intervenir des heures, 25-4 Fonctions des alarmes, 25-4 Chapitre 26 – Gestion de la mémoire, 26-1 Structure de la mémoire, 26-1 Le répertoire HOME, 26-2 Mémoire des ports, 26-2 Contrôle des objets mémoire, 26-2 Objets de sauvegarde, 26-3 Sauvegarde d’objets dans la mémoire des ports, 26-4 Sauvegarde et restauration du répertoire HOME, 26-4 Stockage, suppression et restauration d’objets de sauvegarde, 26-6 Utilisation de données figurant dans des objets de sauvegarde, 26-7 Utilisation des cartes SD, 26-7 Stockage d’objets sur la carte SD, 26-8 Rappel d’un objet de la carte SD, 26-9 Purge d’un objet de la carte SD, 26-9 Utilisation des bibliothèques, 26-10 Installation et adjonction d’une bibliothèque, 26-10 Numéros des bibliothèques, 26-10 Suppression d’une bibliothèque, 26-11 Création de bibliothèques, 26-11 Pile de sauvegarde, 26-11 Annexes Annexe A – Utiliser les formules de saisie des données, A-1 Annexe B – Clavier de la calculatrice, B-1 Annexe C – Paramètres CAS, C-1 Annexe D – Lot de caractères supplémentaires, D-1 Annexe E – L’arborescence de sélections de l'Editeur d'équation, E-1 Annexe F – Le menu d’applications (APPS) , F-1 Annexe G – Raccourcis pratiques , G-1 Annexe H – Liste des menus de la fonction d'aide du CAS, H-1 Annexe I – Liste des commandes du menu catalogue, I-1 Page TOC-22 Annexe J – Le menu MATHS, J-1 Annexe K – Le menu MAIN, K-1 Annexe L – Commandes de l’Editeur de ligne, L-1 Annexe M – Index, M-1 Garantie limitée – BG-1 Entretien, BG -2 Informations de réglementation, BG -4 Page TOC-23 Chapitre 1 Pour commencer Le présent chapitre a pour but de vous fournir les informations de base nécessaires à l’utilisation de votre calculatrice. Les exercices vous permettront de vous familiariser avec le fonctionnement et les opérations de base avant d’effectuer un vrai calcul. Prise en main Le but des exercices suivants est de vous familiariser avec le boîtier de votre calculatrice. Piles La calculatrice nécessite 3 piles AAA(LR03) comme source d’alimentation et une pile CR2032 au lithium comme pile de secours pour la mémoire. Avant d’utiliser la calculatrice, veuillez installer les piles de la manière suivante. Pour installer les piles principales a. Vérifiez que le calculateur est éteint. Ouvrez le compartiment des piles comme illustré ci-dessous. b. Insérez 3 piles neuves AAA(LR03) dans le compartiment. Faites attention à ce qu’elles soient installées dans le bon sens. Pour installer la pile de secours a. Vérifiez que le calculateur est éteint. Appuyez sur le support, poussez ensuite sur la platine dans la direction indiquee sur l'illustration, puis soulevez-la. Page 1-1 b. Insérez une nouvelle pile CR2032 au lithium. Faites attention à ce que le pôle positif (+) soit en haut. c. Refermez le loquet et appuyez pour le remettre dans sa position initiale. Après avoir installé les piles, appuyez sur [ON] pour allumer la calculatrice. Attention : Si un message apparaît à l’écran vous signalant de changer cette pile, remplacez-la au plus tôt. En revanche, évitez d’enlever la pile de secours en même temps que les piles principales, afin de ne pas perdre de données. Allumer et éteindre la calculatrice La touche $ est situee en bas a gauche du clavier. Appuyez une seule fois pour allumer votre calculatrice. Pour éteindre la calculatrice, appuyez sur le bouton rouge @ (première touche de la deuxième ligne en partant du bas sur le clavier) puis sur la touche $. Notez que le mot OFF est indiqué en rouge dans le coin supérieur droit de la touche $, pour rappeler l’utilisation de la commande OFF. Ajuster le contraste de l’écran Vous pouvez ajuster le contraste de l’écran en maintenant la touche $ enfoncée tout en appuyant sur les touches + ou -. La combinaison $ (maintenue enfoncée) et + rend l’écran plus sombre. La combinaison $ (maintenue enfoncée) et - rend l’écran plus clair. Description de l’écran de la calculatrice Allumez une nouvelle fois votre calculatrice. L'écran devrait être comme cidessous. Page 1-2 Deux lignes decrivant les parametres de configuration de la calculatrice sont affichees en haut de l'ecran. La première ligne contient les caractères : RAD XYZ HEX R= 'X' Pour plus d'informations sur la signification de ces informations, consultez le Chapitre 2. La deuxième ligne contient les caractères : { HOME } qui indiquent que le répertoire HOME est le répertoire de fichiers actuellement chargé dans la mémoire de la calculatrice. Dans le Chapitre 2, vous apprendrez à sauvegarder des données dans votre calculatrice, par le biais de fichiers ou de variables. Les variables peuvent être organisées dans des répertoires et des sous-répertoires. Et, en fin de compte, vous pouvez créer une arborescence de répertoires, de la même façon que sur le disque dur d’un ordinateur. Vous pourrez alors vous déplacer dans cette arborescence pour sélectionner les répertoires qui vous intéressent. Lorsque vous vous déplacerez dans l’arborescence des répertoires, la deuxième ligne de l’écran affiche le répertoire et le sous-répertoire appropriés. En bas de l’écran se trouvent une série d’indicateurs, avec les noms suivants : @EDIT @VIEW @@ RCL @@ @@STO@ ! PURGE !CLEAR qui sont associés aux six touches de menu système, F1 à F6: ABCDEF Les six indicateurs affichés en bas de l’écran changeront selon le menu affiché. Cependant, A sera toujours associé avec le premier indicateur, B avec le deuxième indicateur, et ainsi de suite. Menus Les six indicateurs associés avec les touches A à Fconstituent le menu des fonctions. Comme la calculatrice ne comporte que 6 touches de menu, seulement 6 indicateurs peuvent être affichés au même moment. Cependant, Page 1-3 un menu peut comporter plus de six choix. Chaque groupe de 6 choix est appelé une Page menu. Le menu courant, aussi appelé menu TOOL (voir cidessous) contient huit entrées, disposées sur deux pages. La deuxième page devient visible en appuyant sur la touche L. Cette touche est la troisième touche en partant de la gauche dans la troisième ligne de touches du clavier. Appuyez à nouveau sur L pour revenir à la page principale du menu TOOL ou appuyez sur la touche I (troisième touche de la deuxième ligne de touches en partant du haut du clavier). Le menu d’outils (TOOL) est décrit en détail dans la section suivante. Pour le moment, nous allons illustrer quelques propriétés des menus qui vous seront utiles pour l’utilisation générale de votre calculatrice. Menus SOFT et CHOOSE boxes Les menus, aussi appelés menus SOFT, associent les indicateurs du bas de l’écran avec les six touches de menu (A à F). En appuyant sur la touche de menu appropriée, la fonction indiquée est activée. Par exemple, lorsque le menu d’outils TOOL est activé, le fait d’appuyer sur la touche @CLEAR (F) activera la fonction effacer CLEAR, qui efface (se laver) le contenu de l’écran. Pour essayer cette fonction, entrez un nombre, par exemple, 123`, et appuyez ensuite sur la touche F. On utilise généralement les menus SOFT pour sélectionner une fonction parmi un certain nombre de fonctions. Cependant, les menus SOFT ne sont pas le seul moyen d’accéder aux fonctions dans la calculatrice. L’autre méthode est appelé CHOOSE boxes. Pour voir un exemple de l’une de ces fenêtres, activez le menu TOOL (appuyez sur I) et appuyez ensuite sur la combinaison de touches ‚ã (associée à la touche 3). Ceci ouvrira la CHOOSE boxes suivante : Page 1-4 Cette CHOOSE box, appelée BASE MENU,contient une liste de fonctions numérotées de 1. HEX x à 6. BR. Cet écran, première page du menu CHOOSE boxes, affiche six fonctions de menu. Vous pouvez vous déplacer dans ce menu en utilisant les touches directionnelles vers le haut et vers le bas, —˜, qui sont situées en haut à droite du clavier, juste en dessous des touches de menu E et F. Pour activer l’une de ces fonctions, surlignez tout d’abord le nom de la fonction en utilisant les touches directionnelles vers le bas et vers le haut, —˜ ou en appuyant sur le numéro qui correspond à la fonction dans la CHOOSE box. Une fois le nom de la fonction sélectionné, appuyez sur la touche de menu @@@OK@@@(F). Ainsi, si vous voulez utiliser la fonction RB (Réel vers binaire), vous pouvez composer 6F. Si vous voulez revenir en haut de la page de menu de la CHOOSE box, utilisez „—. Pour aller en bas de la page, utilisez „˜. Pour revenir tout en haut du menu général, utilisez ‚—. Pour vous rendre tout à la fin du menu général, utilisez ‚˜. Sélectionner les menus SOFT ou les CHOOSE boxes Vous pouvez sélectionner le format dans lequel vos menus seront affichés en changeant un paramètre des indicateurs système de la calculatrice (un indicateur système, ou flag, est une variable de la calculatrice qui commande une opération ou un mode de la calculatrice. Pour en savoir plus sur les indicateurs système, reportez-vous au Chapitre 24). On peut activer l’indicateur système 117, pour obtenir soit des menus SOFT, soit des CHOOSE boxes. Pour avoir accès à cet indicateur, composez : H @)FLAGS —„ —˜ L’écran suivant s’affichera sur la calculatrice et la ligne qui commence par le nombre 117 sera surlignée: Page 1-5 Par défaut, la ligne ressemblera à celle montrée ci-dessus. La ligne surlignée (117 CHOOSE boxes) indique que les CHOOSE boxes sont le mode d’affichage de menus actuellement sélectionné. Si vous préférez utiliser les touches de menu SOFT, appuyez sur la touche de menu @@CHK@@ (C), suivi de @@@OK@@@ (F). Appuyez sur la touche @@@OK@@@ (F) pour revenir au mode d’affichage normal. Si maintenant vous appuyez sur ‚ã, six indicateurs de menu apparaîtront à l’écran, en tant que première page du menu de pile STACK, à la place de la CHOOSE box qui était affichée auparavant : Pour parcourir les différentes fonctions de ce menu, appuyez sur la touche L pour avancer à la page suivante ou composez „«(associée à la touche L) pour revenir à la page précédente. Les figures suivantes indiquent les différentes pages du menu BASE accessibles en appuyant deux fois sur la touche L : En appuyant une fois de plus sur la touche L on revient à la première page du menu. Note: Si l’indicateur système 117 se trouve en position menu SOFT, la combinaison de touches ‚(maintenu) ˜, fera apparaître la liste des fonctions disponibles pour le menu actif. Par exemple, pour les deux premières pages du menu BASE, on obtient: Pour revenir en mode d’affichage par CHOOSE boxes, composez : H @)FLAGS —„ —˜@@CHK@@ @@@OK@@@ @@@OK@@@. Page 1-6 Notes: 1. Le menu TOOL, obtenu en appuyant sur I, s’affichera toujours sous forme de menu SOFT. 2. La plupart des exemples de ce guide de l’utilisateur sont indiqués à la fois en mode de menu SOFT et en mode de CHOOSE box. Les applications de programmation (Chapitres 21 et 22) utilisent uniquement les menus SOFT. 3. Des informations supplémentaires à propos des menus SOFT et des CHOOSE boxes sont présentées dans le Chapitre 2 de ce guide. Le menu TOOL Les touches de menu soft pour le menu actuellement affiché et appelé menu TOOL sont associées aux opérations liées à la manipulation de variables (voir la section sur les variables dans ce Chapitre): @EDIT A EDIT - Pour afficher le contenu d’une variable (voir Chapitre 2 de ce guide et appendice L pour plus d'information). @VIEW B VIEW – Pour voir le contenu d’une variable @@ RCL @@ C ReCaLl – Pour rappeler le contenu d’une variable @@STO@ D STOre – Pour mémoriser le contenu d’une variable ! PURGE E PURGE – Pour effacer une variable de la mémoire CLEAR F CLEAR – Pour effacer l’écran ou la pile Comme la calculatrice ne comporte que 6 touches de menu, seuls 6 indicateurs peuvent être affichés au même moment. Cependant, un menu peut comporter plus de six choix. Chaque groupe de 6 choix est appelé une Page menu. Ce menu TOOL comporte en fait huit choix disposés en deux pages. La page suivante, qui contient les deux choix suivants du menu, est accessible en appuyant sur la touche L(du menu NeXT). Cette touche est la troisième touche en partant de la gauche dans la troisième ligne des touches du clavier. Dans ce cas, seules les deux premières touches de menu sont associées à des commandes. Ces commandes sont : @CASCM A CASCMD: CAS CoMmanD, à utiliser pour lancer une commande depuis le CAS en choisissant dans une liste @HELP B HELP: Commande d’aide qui décrit les commandes disponibles Page 1-7 En appuyant sur la touche L, on fait réapparaître le menu TOOL de départ. En appuyant sur la touche I (troisième touche en partant de la gauche dans la deuxième ligne des touches du clavier), on dispose d’une autre façon de faire réapparaître le menu TOOL. Régler la date et l’heure La calculatrice contient une horloge interne. On peut afficher cette horloge en permanence sur l’écran et l’utiliser en tant que réveil ou pour lancer des tâches planifiées. Cette section expliquera comment régler la date et l’heure et donnera également les bases pour utiliser les CHOOSE boxes et entrer des données dans les boîtes de dialogue. Les boîtes de dialogue de la calculatrice sont semblables à celles d’un ordinateur. Pour régler la date et l’heure, on utilise la boîte de sélection affichable par l’une des fonctions de la touche 9. En combinant le bouton rouge majuscule de droite, ‚, avec la touche 9, la boîte de sélection de temps TIME s’active. On peut également utiliser, pour cette opération, ‚Ó. La boîte de sélection TIME s’affiche ci-dessous : Comme indiqué ci-dessus, le menu TIME propose quatre options différentes, numérotées de 1 à 4. L’option qui nous intéresse pour le moment est l’option 3. Set time, date... En utilisant la touche directionnelle vers le bas, ˜, surlignez cette option et appuyez sur la touche de menu !!@@OK#@ F.Le formulaire d’entrée (voir Appendice 1-A) pour ajuster l’heure et la date apparaît : Page 1-8 Régler l’heure du jour En utilisant les touches numériques, 123456789 0, commencez par ajuster l’heure du jour. En supposant qu’on fixe l’heure à 11, on compose 11 lorsque le champ de l’heure est surligné dans la feuille SET TIME AND DATE. Ceci affichera le nombre 11 ainsi entré sur la dernière ligne du formulaire : Appuyez sur la touche de menu !!@@OK#@ F pour valider l'opération. La valeur 11 est maintenant affichée dans le champ de l’heure et le champ des minutes est automatiquement surlignée: Réglons le champ des minutes sur la valeur 25, en composant : 25 !!@@OK#@ . Le champ des secondes est maintenant surligné. Supposons que nous voulions entrer 45 dans le champ des secondes, nous composons : 45 !!@@OK#@ Le champ de format de l’heure est alors surligné. Pour changer la valeur initiale de ce champ, vous pouvez soit appuyer sur la touche W (deuxième touche en partant de la gauche sur la cinquième ligne de touches en partant du bas du clavier) soit appuyer sur la touche de menu @CHOOS ( B). • Si vous utilisez la touche W, le paramètre du champ de format de l’heure se changera en l’une des options suivantes : o o o AM : indique que l’heure affichée est en mode AM (matin) PM : indique que l’heure affichée est en mode PM (après-midi) 24-hr : indique que l’heure affichée utilise le format de 24 heures où, 18:00, par exemple, est équivalent à 6pm Page 1-9 En utilisant cette méthode, la dernière option sélectionnée deviendra le format de l’heure. • Si vous utilisez la touche de menu @CHOOS , les options disponibles sont les suivantes : Utilisez les touches directionnelles vers le haut et vers le bas, —˜, pour sélectionner l’une de ces trois options (AM, PM, 24-hour time). Appuyez sur la touche de menu !!@@OK#@ F pour valider le choix. Régler la date Après avoir choisi l’option de format de l’heure, le formulaire SET TIME AND DATE apparaîtra ainsi : Pour régler la date, choisissez d’abord le format de la date. Le format par défaut est M/D/Y (mois/jour/année). Pour changer de format, appuyez sur la touche directionnelle vers le bas. Ceci surlignera le format de date comme indiqué ci-dessous : Page 1-10 Utilisez la touche de menu @CHOOS ( B), pour afficher les options de format de date : Utilisez les touches directionnelles vers le haut et vers le bas,— ˜, pour faire votre choix et appuyez sur la touche de menu !!@@OK#@ F pour valider ce choix. Le clavier de la calculatrice La figure ci-dessous représente un schéma du clavier de la calculatrice et indique les numéros des lignes et des colonnes. Page 1-11 La figure montre 10 rangées de touches combinées avec 3, 5 ou 6 colonnes. La ligne 1 comporte 6 touches, les lignes 2 et 3 ont chacune 3 touches et les lignes 4 à 10 comportent chacune 5 touches. Il y a 4 touches directionnelles situées sur le côté droit du clavier dans l’espace occupé par les lignes 2 et 3. Chaque touche dispose de trois, quatre ou cinq fonctions. La fonction principale de la touche correspond à l'indication mise en évidence sur la touche. De plus, il est possible de combiner la touche verte left-shift, touche Page 1-12 (8,1), la touche rouge right-shift, touche (9,1) et la touche bleue ALPHA, touche (7,1), avec les autres touches pour activer les autres fonctionnalités indiquées sur le clavier. Par exemple, la touche P touche (4,4), est associée aux six fonctions suivantes : P Fonction principale, pour activer le menu SYMBolique „´ Fonction left-shift, pour activer le menu MTH (Math) …N Fonction right-shift, pour activer la fonction CATalogue ~p Fonction ALPHA, pour entrer la lettre P majuscule ~„p Fonction ALPHA-Left-Shift, pour entrer la lettre P minuscule ~…p Fonction ALPHA-Right-Shift, pour entrer le symbole P Des six fonctions associées à une touche, seules les quatre premières sont indiquées sur le clavier. Ceci est la représentation du clavier. Vous remarquerez que la couleur et la position des indications sur la touche, c’est-à-dire, SYMB, MTH, CAT et P, rappellent quelle est la fonction principale (SYMB) et quelles sont les trois autres fonctions respectivement associées à la touche left-shift „(MTH), right-shift … (CAT ), et ~ (P). Pour plus d’informations sur l’utilisation du clavier de la calculatrice, reportezvous à l’Appendice B. Choisir les modes d’opération de la calculatrice Dans ce paragraphe, nous supposons que vous êtes maintenant familiarisé, au moins en partie, avec l’utilisation des boîtes de sélection et de dialogue (si vous ne l’êtes pas, veuillez vous reporter au Chapitre 2). Appuyez sur la touche H (deuxième touche en partant de la gauche sur la deuxième ligne de touches en partant du haut) pour afficher la fenêtre CALCULATOR MODES suivante : Page 1-13 Appuyez sur la touche !!@@OK#@ F pour revenir en mode d’affichage normal. Des exemples de sélection des différents modes de la calculatrice sont explicités ci-dessous. Mode d’opération La calculatrice comporte deux modes d’opération : le mode Algebraic et le mode Reverse Polish Notation (RPN). Le mode par défaut est le mode Algébrique (comme indiqué sur la figure ci-dessus), mais, les utilisateurs des calculatrices HP précédentes sont certainement davantage habitués au mode RPN. Pour sélectionner un mode d’opération, ouvrez d’abord la fenêtre CALCULATOR MODES, en appuyant sur la touche H. Le champ Operating Mode apparaît surligné. Sélectionnez le mode Algebraic ou RPN soit en utilisant la touche \ (deuxième touche en partant de la gauche de la cinquième ligne depuis le bas du clavier), soit en appuyant sur la touche menu @CHOOS ( B). Si vous utilisez cette dernière méthode, activez les touches directionnelles vers le bas et vers le haut, —˜, pour sélectionner le mode avant d’appuyer sur la touche menu !!@@OK#@ pour valider l’opération. Pour illustrer la différence entre ces deux modes d’opération, nous allons calculer l’expression suivante dans les deux modes : 3.0 ⋅ 5.0 − 23 3 3⋅3 2.5 +e 1 Page 1-14 Pour entrer cette expression dans la calculatrice, nous allons d’abord utiliser l’Editeur d’équations ‚O. Veuillez identifier les touches suivantes sur le clavier, à côté des touches du clavier numérique : !@.#*+-/R Q¸Ü‚Oš™˜—` L’Editeur d’équations est un mode d’affichage dans lequel vous pouvez construire des expressions mathématiques en utilisant les notations mathématiques explicites comme, notamment, les fractions, les dérivées, les intégrales, les racines, etc. Pour écrire l’expression évoquée plus haut en utilisant l’Editeur d’équations, faites appel à la séquence de touches suivante : ‚OR3.*!Ü5.1/3*3 ——————— /23Q3™™+!¸2.5` Après avoir appuyé sur `, la calculatrice affiche l’expression suivante : √ (3*(5-1/(3*3))/23^3+EXP(2.5)) En appuyant à nouveau sur ` la valeur suivante s’affichera. Acceptez le mode Approx., si on vous le propose, en appuyant sur !!@@OK#@. [Remarque : Les chiffres entiers utilisés ci-dessus, c’est-à-dire, 3, 5, 1, représentent des chiffres exacts. Par contre, le chiffre EXP(2.5) ne peut pas être écrit en tant que chiffre entier et par conséquent, il est nécessaire de changer le mode sur Approx] : Vous pouvez également entrer l’expression directement à l’affichage, sans utiliser l’Editeur d’équation, de la manière suivante, : R!Ü3.*!Ü5.1./ !Ü3.*3.™™ Page 1-15 /23.Q3+!¸2.5` pour obtenir le même résultat. Passez en mode d’opération RPN en appuyant d’abord sur la touche H. Sélectionner le mode RPN soit en utilisant la touche \, soit en appuyant sur la touche de menu @CHOOS. Appuyez sur la touche de menu !!@@OK#@ F pour terminer l'opération. Pour le mode RPN, l’écran suivant s’affiche : Vous remarquerez qu’il apparaît plusieurs niveaux de sortie numérotés 1, 2, 3, etc.…, de bas en haut. On appelle cela la pile de la calculatrice. Les différents niveaux sont appelés les niveaux de la pile et ainsi on a le niveau de pile 1, le niveau de pile 2, etc. En fait, RPN signifie que, plutôt que d’écrire une opération telle que 3 + 2, dans la calculatrice en tapant 3+2`, il faut écrire en premier les opérandes , dans le bon ordre, puis l’opérateur, c'est-à-dire, 3`2`+. Au fur et à mesure que vous entrez les opérandes, ils occupent des niveaux de pile différents. En entrant 3` on place le chiffre 3 dans le niveau de pile 1. Ensuite, en entrant 2` on pousse le nombre 3 vers le haut pour occuper le niveau de pile 2. Enfin, en appuyant sur +, on indique à la calculatrice d’appliquer l’opérateur ou programme + aux objets qui occupent les niveaux 1 et 2. Le résultat, 5, est alors placé dans le niveau 1. Il est plus facile d'écrire cette opération en utilisant : 3`2+. Essayons d’autres opérations simples avant d’essayer l’expression plus compliquée que nous avons utilisée plus haut pour le mode d’opération algébrique : 123/32 123`32/ 2 4 4`2Q 3 √27 27`3@» Vous remarquerez la position du y et du x dans les deux dernières expressions. Dans l’expression exponentielle, la base est y (niveau de pile 2) alors que l’exposant est x (niveau de pile 1) avant d’appuyer sur la touche Page 1-16 Q. De la même façon, dans l’opération de racine cubique, y (niveau de pile 2) est le nombre en dessous du signe racine et x (niveau de pile 1) est la racine. Essayez l’exercice suivant qui implique 3 facteurs : (5 + 3) × 2 5`3`+ Calcule (5 +3) d’abord. 2X Termine le calcul. Essayons maintenant l’expression proposée plus haut : 3 ⋅ 5 − 3.` 5.` 3.` 3.* Y * 23.` 3.Q / 2.5 !¸ + R 3⋅3 2.5 +e 1 3 23 Entrez 3 dans le niveau 1 Entrez 5 dans le niveau 1, 3 monte au niveau y Entrez 3 dans le niveau 1, 5 monte au niveau 2, 3 monte au niveau 3 Tapez 3 et multipliez, 9 apparaît dans le niveau 1 1/(3×3), dernière valeur dans le niv. 1; 5 dans le niveau 2; 3 dans le niveau 3 5 - 1/(3×3), occupe maintenant le niveau 1; 3 dans le niveau 2 3× (5 - 1/(3×3)), occupe maintenant le niveau 1. Entrez 23 dans le niveau 1, 14.66666 monte au niveau 2. Entrez 3, calculez 233 dans le niveau 1. 14.666 dans niv. 2. (3× (5-1/(3×3)))/233 dans le niveau 1 Entrez 2.5 dans le niveau 1 e2.5, arrive au niveau 1, le niveau 2 contient la valeur précédente. (3× (5 - 1/(3×3)))/233 + e2.5 = 12.18369, dans niv. 1. √((3× (5 - 1/(3×3)))/233 + e2.5) = 3.4905156, dans niv. 1 Page 1-17 Bien que le mode RPN nécessite un peu plus de réflexion que le mode algébrique (ALG), il existe de nombreux avantages liés au mode RPN. Par exemple, en mode RPN, vous pouvez voir l’équation se dérouler pas à pas. Ceci est particulièrement utile pour détecter toute erreur possible d’entrée des données. De plus, en devenant familier avec ce mode et en en apprenant les astuces, vous serez capable de calculer des expressions plus rapidement et en utilisant moins de touches. En prenant comme exemple le calcul de (4×6 5)/(1+4×6 - 5). En mode RPN, vous pouvez écrire : 4`6*5-`1+/ et bien sûr, même en mode RPN, vous pouvez entrer l’expression dans le même ordre qu’en mode algébrique en utilisant l’Editeur d’équations. Par exemple : ‚OR3.*!Ü5.-1/3.*3. ——————— /23.Q3™™+!¸2.5` L’expression obtenue est affichée dans le niveau de pile 1, comme indiqué cidessous : Vous remarquerez que l’expression est placée dans le niveau 1 de la pile une fois qu’on a appuyé sur `. Appuyer sur la touche EVAL à ce moment-là servirait à évaluer la valeur numérique de cette expression. Note : En mode RPN, appuyer sur ENTER, alors que la ligne de commande est vide, a pour effet d’exécuter la fonction DUP qui copie le contenu du niveau 1 de la pile dans le niveau 2 de la pile (et repousse tous les autres niveaux de pile un cran vers le haut). Ceci est très utile, comme le montre l'exemple précédent. Pour basculer entre les modes d’opération ALG et RPN, vous pouvez aussi activer/désactiver l’indicateur système 95 par la séquence de touches suivante : H @)FLAGS —„—„—„ — @@CHK@@ @@OK@@ @@OK@@ Vous pouvez également utiliser l’un des raccourcis suivants: Page 1-18 • En mode ALG, CF(-95) sélectionne le mode RPN • En mode RPN, 95 \` SF sélectionne le mode ALG Pour plus d’informations sur les indicateurs système de la calculatrice, reportez--vous au Chapitre 2. Format numérique et point décimal ou virgule Changer le format numérique vous permet de personnaliser la façon dont les nombres réels sont affichés par la calculatrice. Vous trouverez cette fonctionnalité très utile pour les opérations qui manipulent des puissances de dix ou pour limiter le nombre de décimales dans un résultat. Pour sélectionner un format numérique, ouvrez d’abord la fenêtre CALCULATOR MODES en appuyant sur la touche H. Ensuite, utilisez la flèche vers le bas, ˜, pour sélectionner l’option Number format. La valeur par défaut est Std, ou format Standard. Dans le format standard, la calculatrice affiche les nombres à virgule avec la précision maximale supportée par la calculatrice (12 chiffres significatifs). Pour en savoir plus sur les réels, reportez--vous au Chapitre 2 de ce guide. Pour illustrer ceci ainsi que les autres formats numériques, essayez les exercices suivants : • Format standard : Ce mode est le mode le plus utilisé car il affiche les nombres dans leur notation la plus fréquente. Appuyez sur la touche menu !!@@OK#@ avec le paramètre Number format dans l’état Std, pour revenir à l’affichage de la calculatrice. Entrez le nombre 123.4567890123456. Notez que ce chiffre contient 16 chiffres significatifs. Appuyez sur la touche `. Le nombre est arrondi avec le maximum de 12 chiffres significatifs et s’affiche comme indiqué ci-dessous : Page 1-19 Dans le format standard d’affichage numérique, les nombres entiers sont affichés sans aucune décimale. L’affichage des nombres ayant un total de décimales différent sera restreint au nombre de décimales nécessaires. Des exemples supplémentaires de nombres affichés en format standard sont présentés ci-dessous : • Format fixe sans décimales : Appuyez sur la touche H. Ensuite, utilisez la flèche vers le bas ˜, pour sélectionner l’option Number format. Appuyez sur le menu @CHOOS et la touche ( B), puis sélectionnez l’option Fixed avec la touche directionnelle vers le bas ˜. Vous remarquerez que le format numérique est en mode Fix suivi d’un zéro (0). Ce nombre indique le nombre de décimales qui seront affichées à l’écran derrière la virgule. Appuyez sur la touche !!@@OK#@ pour revenir en mode d’affichage normal. Le nombre apparaît maintenant ainsi : Au moyen de ce paramètre, tous les résultats se trouveront automatiquement arrondis à l‘entier le plus proche (0 décimale affichée derrière la virgule). Cependant, le nombre est toujours enregistré avec ses 12 chiffres significatifs dans la mémoire de la calculatrice. Si vous changez le nombre de décimales à afficher, vous verrez réapparaître les décimales supplémentaires. Page 1-20 • Format fixe avec décimales : Ce mode est surtout utilisé lorsque vous travaillez en précision limitée. Par exemple, si vous effectuez des calculs financiers, il est utile d’utiliser le mode FIX 2 pour représenter les unités monétaires précises au centième. Appuyez sur la touche H. Ensuite, utilisez la flèche vers le bas ˜, pour sélectionner l’option Number format. Appuyez sur le menu @CHOOS et la touche ( B), puis sélectionnez l’option Fixed avec la touche directionnelle vers le bas ˜. Appuyez sur la touche directionnelle vers la droite, ™, pour surligner le zéro en face de l’option Fix. Appuyez sur la touche de menu @CHOOS et, en utilisant les touches directionnelles vers le haut et vers le bas, —˜, sélectionnez, disons, 3 décimales. Appuyez sur la touche de menu !!@@OK#@ pour terminer la sélection: Appuyez sur la touche de menu !!@@OK#@ pour revenir à l’affichage normal de la calculatrice. Le nombre apparaît maintenant ainsi : Page 1-21 Vous noterez que le nombre est arrondi et non tronqué. Ainsi, le nombre 123.4567890123456, pour cet exemple, devient 123.457 à l’affichage et non pas 123.456 car le chiffre après 6 est supérieur à 5. • Format scientifique: Le format scientifique est utilisé principalement pour résoudre des problèmes de physique, où les chiffres sont en général représentés comme des chiffres imprécis multipliés par des puissances de dix. Pour activer ce format, commencez par appuyer sur la touche H. Ensuite, utilisez la flèche vers le bas ˜, pour sélectionner l’option Number format. Appuyez sur le menu @CHOOS et la touche ( B), puis sélectionnez l’option Scientific avec la touche directionnelle vers le bas ˜. Gardez le nombre 3 en face de Sci. (on peut changer ce nombre de la même manière qu’on a pu changer le nombre de décimales de l’option Fixed dans l'exemple ci-dessus). Appuyez sur la touche de menu !!@@OK#@ pour revenir à l’affichage normal de la calculatrice. Le nombre apparaît maintenant ainsi : Ce résultat, 1.23E2, qui est la notation de la calculatrice pour les puissances de dix, est équivalent à 1.235 × 102. Dans cette notation dénommée scientifique, le nombre 3 en face du format numérique Sci (indiqué ci-dessus) représente le nombre de chiffres significatifs après la virgule. La notation scientifique comprend toujours un nombre entier, Page 1-22 comme indiqué ci-dessus. Donc, dans ce cas-ci, le nombre de chiffres significatifs est quatre. • Format ingénierie Le format ingénierie est très proche du format scientifique, mais les puissances de dix y sont des multiples de trois. Pour activer ce format, commencez par appuyer sur la touche H. Ensuite, utilisez la flèche vers le bas ˜, pour sélectionner l’option Number format. Appuyez sur le menu @CHOOS et la touche ( B) et sélectionnez l’option Engineering avec la touche directionnelle vers le bas ˜. Conservez le nombre 3 en face de Eng. (on peut changer ce nombre de la même manière qu’on a pu changer le nombre de décimales de l’option Fixed dans l’un des exemples précédents). Appuyez sur la touche de menu !!@@OK#@ pour revenir à l’affichage normal de la calculatrice. Le nombre apparaît maintenant ainsi : Comme ce nombre comporte trois chiffres dans sa partie entière, il est affiché avec quatre chiffres significatifs et zéro puissance de dix, dans le format ingénierie. Par exemple, le nombre 0.00256 sera affiché ainsi : • Virgule et point décimal Pour les nombres décimaux, le point décimal peut être remplacé par une virgule, si l’utilisateur est davantage habitué à cette notation. Pour Page 1-23 • • remplacer les points décimaux par des virgules, sélectionnez l’option FM dans la fenêtre CALCULATOR MODES pour virgule, comme indiqué cidessous (vous noterez que nous avons changé l’option de format numérique en Std) : Appuyez sur la touche H. Ensuite, appuyez une seule fois sur la touche directionnelle vers le bas, ˜, et appuyez à deux reprises sur la touche directionnelle vers la droite, ™, pour surligner l'option __FM,. Pour sélectionner les virgules, appuyez sur la touche de menu @@CHK@@ (c’est-àdire la touche B). La fenêtre apparaît comme suit : Appuyez sur la touche de menu !!@@OK#@ pour revenir à l’affichage normal de la calculatrice. Le nombre 123.456789012, qui a été entré précédemment, est maintenant affiché ainsi : Mesure d’angles Les fonctions trigonométriques, par exemple, nécessitent l’emploi d’arguments qui représentent des angles plans. La calculatrice fournit trois modes différents, appelés modes de Mesure d’Angles pour travailler avec les angles : • Degrés : Il y a 360 degrés (360o) dans un cercle ou 90 degrés (90o) dans un angle droit. Cette représentation est surtout utilisée en géométrie de base, en mécanique ou en calcul de structures ainsi qu’en topographie. • Radians : Il y a 2π radians (2π r) dans un cercle ou π/2 radians (π/2 r) dans un angle droit. Cette représentation est surtout utilisée pour résoudre des problèmes mathématiques ou physiques. C’est la valeur par défaut de la calculatrice. • Grades: Il y a 400 grades (400 g) dans un cercle ou 100 grades (100 g) dans un angle droit. Cette notation semblable aux degrés a été introduite Page 1-24 pour “simplifier” la notation des degrés, mais elle est rarement utilisée de nos jours. La mesure d’angle affecte les fonctions trigonométriques telles que SIN, COS, TAN et les fonctions qui leurs sont associées. Pour changer le mode de mesure d’angles, suivez la procédure suivante : • Appuyez sur la touche H. Ensuite, appuyez à deux reprises sur la touche directionnelle vers le bas, ˜. Sélectionnez le mode de Mesure d’Angles soit en utilisant la touche \ (deuxième à partir de la gauche dans la cinquième ligne depuis le bas du clavier), soit en appuyant sur la touche de menu @CHOOS ( B). Si vous utilisez cette dernière méthode, utilisez les touches directionnelles vers le haut et vers le bas,— ˜, pour sélectionner le mode choisi, et appuyez sur la touche de menu !!@@OK#@ F pour terminer l’opération. Par exemple, sur l’écran suivant, le mode Radians a été sélectionné : Système de coordonnées Le système de coordonnées affecte la manière dont les vecteurs et les nombres complexes sont affichés et saisis. Pour en savoir plus sur les nombres complexes et les vecteurs, reportez--vous respectivement aux Chapitres 4 et 9. Les vecteurs bi- et tri-dimensionnels et les nombres complexes peuvent être représentés dans l’un des 3 systèmes de coordonnées : le système cartésien (bi-dimensionnel) ou rectangulaire (tri-dimensionnel), le système cylindrique (tri-dimensionnel) ou polaire (bi-dimensionnel) et le système sphérique (tridimensionnel uniquement). Dans un système de coordonnées cartésien ou rectangulaire, un point P a trois coordonnées linéaires (x,y,z) mesurées depuis l’origine le long de chacun des trois axes perpendiculaires entre eux (en système bi-dimensionnel, z vaut 0). Dans un système de coordonnées cylindrique ou polaire, les coordonnées d’un point sont notées (r,θ,z), où r est la distance radiale mesurée depuis l’origine dans le plan xy, θ est l’angle Page 1-25 formé par la distance radiale et l’axe positif x (mesuré positif dans le sens inverse des aiguilles d’une montre), et z est similaire au z du système de coordonnées cartésiennes (en système bi-dimensionnel, z vaut 0). Les systèmes rectangulaire et polaire sont liés par les relations suivantes : x = r ⋅ cos(θ ) r = x2 + y 2 y = r ⋅ sin(θ ) y θ = tan −1 x z=z Dans le système de coordonnées sphériques, les coordonnées d’un point sont (ρ,θ,φ), où ρ est la distance radiale mesurée depuis l’origine d’un système de coordonnées cartésiennes, θ représente l’angle formé par les projections de la distance linéaire ρ sur l’axe xy (similaire à θ en coordonnées polaires) et φ est l’angle entre l’axe positif z et la distance radiale ρ. Les systèmes de coordonnées rectangulaire et sphérique sont liés par les relations suivantes : x = ρ ⋅ sin(φ ) ⋅ cos(θ ) y = ρ ⋅ sin(φ ) ⋅ sin(θ ) z = ρ ⋅ cos(φ ) ρ = x2 + y2 + z 2 y θ = tan −1 x 2 2 −1 x + y φ = tan z Pour changer le système de coordonnées de votre calculatrice, procédez comme suit : • Appuyez sur la touche H. Ensuite, appuyez à trois reprises sur la touche directionnelle vers le bas, ˜. Sélectionnez le mode Mesure d'Angles soit en utilisant la touche \ (deuxième à partir de la gauche dans la cinquième ligne depuis le bas du clavier), soit en appuyant sur la touche de menu @CHOOS ( B). Si vous utilisez cette dernière méthode, utilisez les touches directionnelles vers le haut et vers le bas, —˜, pour sélectionner le mode choisi, et appuyez sur la touche de menu !!@@OK#@ F pour terminer l’opération. Par exemple, sur l’écran suivant, le mode de coordonnées polaires a été sélectionné : Page 1-26 Bip, Clic et dernière pile La dernière ligne de la feuille CALCULATOR MODES comporte les options : _Beep _Key Click _Last Stack En sélectionnant la marque de validation située à côté de ces options, l’option correspondante est activée. Ces options sont décrites ci-dessous : _Beep : Lorsque cette option est sélectionnée, le bip de la calculatrice est activé. Cette opération s’applique surtout aux messages d’erreur, mais aussi à quelques fonctions telles que BEEP. _Key Click : Lorsque cette option est sélectionnée, chaque touche produit un bruit de “clic”. _Last Stack : Garde en mémoire le contenu de la dernière donnée entrée dans la pile pour l’utiliser avec les fonctions UNDO et ANS (voir Chapitre 2). L’option _Beep est utile pour prévenir l’utilisateur en cas d’erreur. Nous vous recommandons de désactiver cette option si vous utilisez votre calculatrice en classe ou dans une bibliothèque. L’option _Key Click est utile pour vérifier, de manière auditive, que chaque commande a été entrée comme voulu. L’option _Last Stack est particulièrement utile pour recopier la dernière opération au cas où on voudrait la réutiliser pour un nouveau calcul. Pour activer ou désactiver l’une de ces trois options, appuyez d’abord sur la touche H. Ensuite, • Utilisez la flèche vers le bas ˜, quatre fois, pour sélectionner l’option _Last Stack. Pour modifier la sélection, appuyez sur la touche de menu @@CHK@@ (c’est-à-dire la touche B). Page 1-27 • • Appuyez sur la flèche gauche š pour choisir l'option _Key Click. Pour changer la sélection, appuyez sur la touche de menu @@CHK@@ (c’est-à-dire la touche B). Appuyez sur la flèche gauche š pour choisir l'option _Beep. Pour changer la sélection, appuyez sur la touche de menu @@CHK@@ (c’est-à-dire la touche B). Appuyez sur la touche de menu !!@@OK#@ F pour valider l'opération. Sélectionner les paramètres CAS CAS est l’acronyme de Computer Algebraic System. Il s’agit du noyau mathématique de la calculatrice, dans lequel sont programmées les opérations et les fonctions mathématiques symboliques. Le CAS comprend un certain nombre de paramètres qui peuvent être ajustés suivant le type d’opération choisi. Ces commandes sont : • Variable indépendante par défaut • Modes numérique et symbolique • Modes exact et d’approximation • Modes diffus et non-diffus • Mode pas à pas pour les opérations • Format de puissance croissante pour les polynômes • Mode rigoureux • Simplification des expression irrationnelles Les détails des paramètres du CAS sont présentés à l’Appendice C. Choix du mode d’affichage Vous pouvez personnaliser l’affichage de la calculatrice en sélectionnant différents modes d’affichage. Pour voir les différents paramètres de cette option, procédez comme suit : • D'abord, appuyez sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Page 1-28 • • • • Pour naviguer parmi les différentes options de la fenêtre DISPLAY MODES, utilisez les touches directionnelles : š™˜—. Pour sélectionner ou désélectionner l’un des paramètres affichés ci-dessus, qui nécessite une marque de validation, choisissez le symbole ‘souligné’ devant l’option en question et appuyez sur la touche de menu @@CHK@@ jusqu’à ce que le paramètre désiré apparaisse. Lorsqu’une option est sélectionnée, un signe de validation apparaît sur le symbole ‘souligné’ (c’est le cas pour les options Textbook dans la ligne Stack: de l'exemple ci-dessus ). Les options non sélectionnées n’auront pas de signe de validation associé à leur symbole ‘souligné’ (comme c’est le cas pour les options _Small, _Full page, et _Indent à la ligne Edit: de l'exemple cidessus). Pour sélectionner la police d’affichage, surlignez le champ en face de l’option Font: dans la fenêtre DISPLAY MODES et utilisez la touche @CHOOS (B). Après avoir sélectionné et désélectionné toutes les options voulues dans la fenêtre DISPLAY MODES, appuyez sur la touche de menu @@@OK@@@. Cela vous ramènera à la fenêtre CALCULATOR MODES. Pour revenir en mode d’affichage normal de la calculatrice à ce moment-là, appuyez encore une fois sur la touche de menu @@@OK@@@. Choisir la police d’affichage Changer la police d’affichage vous permet de personnaliser votre calculatrice comme vous le souhaitez. En utilisant une police de taille 6, par exemple, vous pouvez afficher jusqu’à 9 niveaux de pile ! Suivez ces instructions pour choisir votre police d’affichage : D'abord, appuyez sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Le champ Font: est surligné et l’option Ft8_0:system 8 est sélectionnée. C’est la valeur par Page 1-29 défaut de la police d’affichage. En appuyant sur la touche de menu @CHOOS (B), vous obtiendrez la liste des polices disponibles dans le système, comme indiqué ci-dessous : Les options disponibles sont trois polices standards System Fonts (taille 8, 7 et 6) et l’option de navigation. Cette dernière vous permettra de parcourir la mémoire de la calculatrice pour y chercher des polices supplémentaires que vous avez pu créer (voir Chapitre 23) ou télécharger dans la calculatrice. Essayez de modifier la taille de la police en tailles 7 et 6. Appuyez sur la touche de menu OK pour valider la sélection. Lorsque vous en avez terminé avec le choix de la police, appuyez sur la touche de menu @@@OK@@@ pour revenir à la fenêtre CALCULATOR MODES. Pour repasser en mode d’affichage normal à ce moment-là, appuyez encore une fois sur la touche de menu @@@OK@@@ et vous pourrez constater que le mode d’affichage de la pile a changé pour s’accorder avec cette nouvelle police. Choisir les propriétés de l’Editeur de ligne D'abord, appuyez sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Appuyez une fois sur la touche directionnelle vers le bas, ˜, pour arriver sur la ligne Edit . Cette ligne comporte trois propriétés qui peuvent être modifiées. Lorsque ces propriétés sont sélectionnées (validées), cela active les effets suivants : _Small _Full page _Indent Réduit la taille de la police Autorise le placement du curseur en fin de ligne Auto-indexation du curseur après un retour à la ligne Les instructions d’utilisation de l’Editeur de ligne sont présentées dans le Chapitre 2 de ce guide. Page 1-30 Choisir les propriétés de la pile D'abord, appuyez sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Appuyez deux fois sur la touche directionnelle vers le bas, ˜, pour arriver sur la ligne Stack . Cette ligne comporte deux propriétés qui peuvent être modifiées. Lorsque ces propriétés sont sélectionnées (validées), cela active les effets suivants : _Small Réduit la taille de la police. Ceci permet de maximiser la quantité d’informations affichée à l’écran. Notez que ce choix annule le choix de la police d’affichage de la pile. _Textbook Affiche les expressions mathématiques en notation mathématique graphique. Pour illustrer ces paramètres, en mode algébrique ou en mode RPN, utilisez l’Editeur d’équation pour entrer l’intégrale infinie suivante : ‚O…Á0™„虄¸\x™x` En mode algébrique, l’écran suivant montre le résultat de cette séquence de touches, alors qu’aucune des options _Small ou _Textbook n'est sélectionnée : Si seule l’option _Small est activée, l’affichage apparaît comme suit : Si l'option _Textbook est activée (valeur par défaut), que l’option _Small soit activée ou non, le résultat suivant est affiché : Page 1-31 Choisir les propriétés de l’Editeur d’équations (Equation writer EQW) D'abord, appuyez sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Appuyez à trois reprises sur la touche directionnelle vers le bas, ˜, pour accéder à la ligne EQW (Equation Writer). Cette ligne comporte deux propriétés qui peuvent être modifiées. Lorsque ces propriétés sont sélectionnées (validées), cela active les effets suivants : _Small Réduit la taille de la police pour l’Editeur d’équations _Small Stack Disp Affiche la police de petite taille dans la pile après avoir utilisé l’Editeur d’équations Les instructions détaillées sur l’utilisation de l’Editeur d’équations (Equation Writer – EQW) sont présentées dans une autre partie de ce manuel. Pour l’exemple de l’intégrale ∫ ∞ 0 e − X dX , présenté ci-dessus, sélectionner l’option _Small Stack Disp sur la ligne EQW de la fenêtre DISPLAY MODES produira l’affichage suivant : Choisir la taille de l’en-tête Appuyez d'abord sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Appuyez à quatre reprises sur la touche directionnelle vers le bas, ˜, pour atteindre la ligne d’en-tête (Header). Par défaut, la valeur 2 est assignée au champ Header. Ceci signifie que la partie supérieure de l’écran contiendra deux lignes, l’une affichant les paramètres courants de la calculatrice et la seconde affichant le sous-répertoire actuellement en mémoire dans la calculatrice (ces lignes sont décrites précédemment dans ce manuel). L’utilisateur peut choisir de fixer ce paramètre à 1 ou à 0 pour réduire le nombre de lignes d’en-tête affichées. Page 1-32 Choisir l’affichage de l’horloge D'abord, appuyez sur la touche H pour activer la fenêtre CALCULATOR MODES. Dans la fenêtre CALCULATOR MODES, appuyez sur la touche de menu @@DISP@ (D) pour afficher la fenêtre DISPLAY MODES. Appuyez à quatre reprises sur la touche directionnelle vers le bas, ˜, pour atteindre la ligne d’en-tête (Header). Le champ Header sera surligné. Utilisez la touche directionnelle vers la droite (™) pour sélectionner le symbole souligné en face des options _Clock ou _Analog. Appuyez sur la touche de menu @@CHK@@ jusqu’à ce que vous ayez obtenu le paramètre désiré. Si l’option _Clock est sélectionnée, l’heure et la date apparaîtront dans le coin en haut à droite de l’écran. Si l’option _Analog est également sélectionnée, une horloge analogique, apparaîtra dans le coin en haut à droite de l’écran, à la place de l’horloge numérique. Si l’option _Clock n’est pas sélectionnée, où si l’entête est absente ou est trop petite, la date et l’heure ne seront pas affichées à l’écran. Page 1-33 Chapitre 2 Présentation de la calculatrice Dans ce chapitre nous présentons les fonctionnalités de base de la calculatrice, notamment l’utilisation de l’Editeur d’équations et la manipulation de données dans la calculatrice. Etudiez les exemples de ce chapitre pour acquérir une bonne connaissance des capacités de la calculatrice pour vos applications futures. Objets Tout nombre, expression, caractère, variable, etc., qui peut être créé et manipulé par la calculatrice est appelé objet. Les types d’objets les plus utiles sont indiqués ci-dessous. Réel. Ces objets représentent un nombre, positif ou négatif, avec 12 chiffres significatifs et un exposant compris entre -499 et +499. Des exemples possibles de réels sont : 1., -5., 56.41564 1.5E45, -555.74E-95 Pour saisir un nombre réel, vous pouvez avoir recours à la touche V pour entrer l’exposant ainsi qu’à la touche \ pour remplacer le signe de l’exposant ou la mantisse. Vous remarquerez que les réels doivent être entrés avec un point décimal, même si le nombre n’a pas de partie décimale. Sinon, le nombre est considéré comme entier et est alors un objet différent de la calculatrice. Les réels se comportent comme tout nombre couramment utilisé dans les expressions mathématiques. Entiers. Ces objets représentent des nombres entiers (nombre sans partie décimale) et n’ont pas de limites (mis à part les limitations de la mémoire de la calculatrice). Des exemples possibles d’entiers sont : 1, 564654112, -413165467354646765465487. Vous remarquerez que ces nombres n’ont pas de point décimal. En raison de leur format, les nombres entiers sont toujours à leur degré maximal de précision dans les calculs. Par exemple, une opération telle que 30/14, avec des nombres entiers, renvoie le résultat 15/7 et non 2.142… Page 2-1 Pour afficher de force un résultat réel (ou avec virgule), utilisez la fonction NUM ‚ï. On utilise fréquemment les entiers dans les fonctions de CAS puisqu‘elles sont faites de manière à garder la précision maximale dans les opérations. Si le mode d’approximation (APPROX) est actif dans le système CAS (voir Appendice C), les entiers seront automatiquement convertis en réels. Si vous ne prévoyez pas d’utiliser le système CAS, il peut être utile de sélectionner directement le mode d’approximation. Reportez--vous à l’appendice C pour plus de détails. Il est relativement courant de mélanger les entiers et les réels, ainsi que de prendre un entier pour un réel. La calculatrice détectera de telles erreurs et vous proposera de passer en mode d’approximation. Nombres complexes, Les nombres complexes sont une extension des nombres réels et comportent le nombre imaginaire unitaire, i 2= -1. Un nombre complexe, tel que 3 + 2i, s’écrit (3, 2) dans la calculatrice. Les nombres complexes peuvent être affichés soit en mode Cartésien, soit en mode polaire, suivant l’option sélectionnée. Vous remarquerez cependant que les nombres complexes sont toujours enregistrés en format Cartésien et que seul l’affichage est affecté par cette option. Ceci permet à la calculatrice de garder une précision maximale durant les calculs. La plupart des fonctions mathématiques s’appliquent aux nombres complexes. Il n’est pas nécessaire d’utiliser une fonction spéciale “+ complexe“ pour additionner des nombres complexes et vous pouvez utiliser la même fonction + que pour les entiers ou les réels. Les opérations sur les vecteurs et les matrices utilisent des objets de type 3, tels que les tableaux de réels et, si nécessaire, de type 4, avec les tableaux de complexes. Les objets de type 2, tels que les chaînes de caractères, sont simplement des lignes de texte (entre apostrophes) créées avec le clavier alphanumérique. Une liste est simplement une collection d’objets entrés entre accolades et séparés par des espaces en mode RPN (la touche espace est notée #) ou des virgules en mode Algébrique. Les listes, qui sont des objets de type 5, Page 2-2 peuvent se révéler très utiles pour effectuer des calculs sur des ensembles de nombres. Par exemple, les colonnes d’un tableau peuvent être considérées comme des listes. Si l’on préfère, une liste peut être entrée comme une matrice ou comme un tableau. Les objets de type 8 sont les programmes en langage User RPL. Ce sont simplement des ensembles d’instructions rentrés entre les symboles << >>. Les objets associés aux programmes sont les objets de type 6 et 7, qui sont respectivement les Noms Globals et Locaux. Ces noms, ou variables, sont utilisés pour mémoriser tout type d’objets. Le concept de variable globale ou locale est lié à la portée de telle ou telle variable dans un programme donné. Un objet algébrique, ou plus simplement, un élément algébrique (objet de type 9), est une expression algébrique valide saisie entre apostrophes. Les entiers binaires, objets de type 10, sont utilisés dans les applications informatiques. Les objets graphiques, objets de type 11, contiennent les graphes générés par la calculatrice. Les objets étiquettes, objets de type 12, sont utilisés en sortie d’un certain nombre de programmes pour en identifier les résultats. Par exemple, dans l’objet étiqueté : moyenne : 23.2, le mot moyenne : est l’étiquette utilisée pour identifier le nombre 23.2 en tant que moyenne d’un échantillon par exemple. Les objets d’unités, objets de type 13, sont des valeurs numériques auxquelles sont attachées des unités physiques. Les répertoires, objets de type 15, sont des zones de la mémoire utilisées pour organiser les variables de la même façon que les répertoires d’un ordinateur. Les bibliothèques, objets de type 16, sont des programmes stockés dans des cases mémoires et accessibles depuis n’importe quel répertoire (ou sousrépertoire) de votre calculatrice. Par leur fonctionnement, elles ressemblent aux fonctions built-in, objets de type 18, et aux commandes built-in, objets de type 19. Page 2-3 Afficher des expressions à l’écran Dans cette section, nous présentons des exemples d’affichage d’expressions directement sur l’écran de la calculatrice (affichage de l’historique en mode Aalgébrique ou de la pile en mode RPN). Créer des expressions arithmétiques Dans cet exemple, nous sélectionnons le mode Algébrique et choisissons le format Fix avec 3 décimales pour l’affichage. Nous allons entrer l’expression arithmétique suivante : 1.0 7.5 5.0 ⋅ 3.0 − 2.0 3 1.0 + Pour entrer cette expression, utilisez la séquence de touches suivante : 5.*„Ü1.+1./7.5™/ „ÜR3.-2.Q3 L’expression obtenue est : 5*(1/1+7.5)/( ƒ3-2^3). Appuyez sur ` pour obtenir l’affichage suivant à l’écran : Remarquez que, si votre CAS est en mode EXACT (voir l’Appendice C) et si vous entrez votre expression en utilisant des nombres entiers pour des valeurs entières, le résultat est une quantité symbolique, par exemple : 5*„Ü1+1/7.5™/ „ÜR3-2Q3 Page 2-4 Avant de donner un résultat, on vous demandera de passer en mode Approximate. Acceptez ce changement pour obtenir le résultat suivant (donné ici en mode décimal Fix avec trois décimales – voir Chapitre 1) : Dans le cas présent, lorsque vous saisissez l’expression directement dans la pile, dès que vous appuyez sur `, la calculatrice va essayer de calculer le résultat de l’expression. Cependant, si l’expression est saisie entre deux apostrophes, la calculatrice va reproduire l’expression telle quelle. Dans l’exemple suivant, nous entrons la même expression que précédemment mais en utilisant des apostrophes. Dans ce cas, nous nous plaçons en mode d’opération algébrique, en mode CAS Exact (désélectionnez le mode _Approx), et en mode d’affichage Textbook. La séquence de touches utilisée pour entrer l’expression est la suivante : .5*„Ü1+1/7.5™/ „ÜR3-2Q3` Le résultat apparaîtra comme indiqué ci-dessous : Pour calculer l’expression, nous pouvons utiliser la fonction EVAL, comme suit : µ„î` Comme dans l’exemple précédent, il vous sera demandé d’approuver le passage du paramètre CAS en mode Approx. Une fois que ce changement réalisé, vous obtiendrez le même résultat que précédemment. Une autre méthode pour calculer l’expression entrée plus haut entre apostrophes consiste à utiliser l’option …ï. Pour obtenir l'expression de la pile, appuyez sur : ƒƒ…ï Page 2-5 Nous allons maintenant entrer l’expression utilisée ci-dessus lorsque la calculatrice est en mode d’opérations RPN. Nous avons également placé le système CAS en mode Exact et l'affichage en mode Textbook. La séquence de touches pour saisir l’expression entre apostrophes est la même que précédemment, c’est-à-dire : .5*„Ü1+1/7.5™/ „ÜR3-2Q3` Ce qui donne comme résultat : Appuyez encore une fois sur ` pour garder deux copies disponibles de l’expression dans la pile, afin d’en effectuer le calcul. Nous calculerons l’expression en utilisant d’abord la fonction EVAL puis la fonction NUM. Calculez d’abord l’expression en utilisant la fonction EVAL. Cette expression est semi-symbolique puisque le résultat contient des composantes décimales ainsi qu’une racine carrée √3. Ensuite, nous échangeons les positions dans la pile et nous calculons l’expression en utilisant la fonction NUM: ™ …ï Changez les positions 1 et 2 dans la pile (la commande SWAP) Calculez l’expression en utilisant la fonction NUM Ce dernier résultat étant purement numérique, les deux résultats dans la pile paraissent différents, bien qu’ils représentent tous les deux le calcul d’une même expression. Pour vérifier qu’ils sont bien égaux, nous soustrayons les deux résultats et nous calculons cette différence en utilisant la fonction EVAL: Soustrayez le niveau 1 du niveau 2 µ Calculez en utilisant la fonction EVAL Le résultat est zéro (0.). Page 2-6 Note: Évitez de mélanger les entiers et les réels pour éviter les conflits dans vos calculs. Pour de nombreuses applications en sciences physiques et en ingénierie, et notamment la résolution numérique d’équations, les applications statistiques, etc., le mode d’approximation APPROX (voir Appendice C) fonctionne bien mieux. Pour les applications mathématiques, comme les calculs, l’analyse vectorielle, l’algèbre, etc., on préférera le mode EXACT. Essayez de vous familiariser avec les deux modes et entraînez-vous à passer de l’un à l’autre pour les différents types d’opérations (voir Appendice C). Editeur des expressions arithmétiques Supposons que nous saisissions l’expression suivante, entre apostrophes, avec la calculatrice en mode RPN et le système CAS en mode EXACT : 1 7.5 L’expression incorrecte a été plutôt que l’expression souhaitée : 5 ⋅ 3 − 23 1+ entrée en utilisant la combinaison : ³5*„Ü1+1/1.75™/„Ü R5-2Q3` Pour entrer dans la ligne d’édition, utilisez „˜. L’affichage est maintenant le suivant : Le curseur d’édition apparaît sous la forme d’une flèche vers la gauche qui clignote sur le premier caractère de la ligne éditée. Puisque dans le cas présent, nous souhaitons effacer des caractères et les remplacer par d’autres, nous allons utiliser les touches directionnelles vers la gauche et vers la droite, š™, pour déplacer le curseur à l’endroit approprié pour l’édition, et la touche effacer, ƒ, pour effacer les caractères. Page 2-7 Les touches suivantes permettront de terminer l’édition pour notre exemple : • Appuyez sur la touche directionnelle vers la droite, ™, jusqu’à ce que le curseur se trouve juste à droite du point décimal dans le terme 1.75 • Appuyez deux fois sur la touche effacer, ƒ, pour enlever le caractère 1. • Appuyez une fois sur la touche directionnelle vers la droite, ™, pour déplacer le curseur et le placer à la droite du 7 • Entrez un point décimal en tapant . • Appuyez sur la touche directionnelle vers la droite, ™, jusqu’à ce que le curseur arrive juste après le 5 • Appuyez une fois sur la touche effacer, ƒ, pour enlever le • • caractère 5 Entrez un 3 en tapant 3 Appuyez sur ` pour revenir à la pile L’expression ainsi entrée est maintenant disponible dans la pile. L’édition d’une ligne en mode Algébrique est exactement la même qu’en mode RPN. Vous pouvez vérifier ceci en répétant cet exemple en mode Algébrique. Créer des expressions algébriques Les expressions algébriques comportent non seulement des nombres, mais aussi des noms de variables. Comme exemple, nous allons entrer l’expression algébrique suivante : x R +2L R+ y b 2L 1 + Page 2-8 Nous plaçons la calculatrice en mode d’opérations Algébrique, le système CAS en mode Exact et l'affichage en mode Textbook. Pour entrer cette expression algébrique, nous utilisons la séquence de touches suivante : ³2*~l*R„Ü1+~„x/~r™/ „ Ü ~r+~„y™+2*~l/~„b Appuyez sur ` pour obtenir le résultat suivant : Entrer cette expression lorsque la calculatrice est en mode RPN revient exactement au même que d’utiliser le mode Algébrique dans cet exercice. Éditer des expressions algébriques Écrire une expression algébrique dans la ligne d’édition est semblable à l’écriture d’une expression arithmétique (se reporter aux exercices précédents). Supposons que nous voulions modifier l’expression entrée ci-dessous pour la remplacer par x2 2L 1 + R +2 L R+x b Pour écrire cette expression algébrique dans l’éditeur de ligne, utilisez „˜. Ceci active l’éditeur de ligne, et affiche l’expression à éditer de la façon suivante : Le curseur d’édition apparaît sous la forme d’une flèche vers la gauche qui clignote sur le premier caractère de la ligne éditée. Comme dans l’un des exercices précédents, nous allons utiliser les touches directionnelles vers la Page 2-9 gauche et vers la droite, š™, pour déplacer le curseur à l’endroit approprié pour l’édition, et la touche effacer, ƒ, pour effacer les caractères. Les touches suivantes permettront de terminer l’édition pour notre exemple : • • • • • • • • • • • • • Appuyez sur la touche directionnelle vers la droite, ™, jusqu’à ce que le curseur se trouve juste à la droite de x Tapez Q2 pour entrer la puissance 2 de x Appuyez sur la touche directionnelle vers la droite, ™, jusqu’à ce que le curseur arrive juste après le y Appuyez une fois sur la touche effacer, ƒ, pour enlever le caractère y. Tapez ~„x pour entrer un x Appuyez quatre fois sur la touche directionnelle vers la droite, ™, pour déplacer le curseur et le placer à la droite de * Tapez R pour entrer le symbole de la racine carrée Tapez „Ü pour entrer une paire de parenthèses (les deux parenthèses apparaissent simultanément) Appuyez une fois sur la touche directionnelle vers la droite, ™, et une fois sur la touche effacer, ƒ, pour enlever la parenthèse de droite de la paire qui vient d’être ajoutée Appuyez 4 fois sur la touche directionnelle vers la droite, ™, pour déplacer le curseur à la droite de b Tapez „Ü pour entrer une deuxième paire de parenthèses Appuyez une fois sur la touche effacer, ƒ, pour enlever la parenthèse de gauche de la paire qui vient d’être ajoutée Appuyer sur ` pour retourner en mode d’affichage normal. Le résultat est le suivant : Page 2-10 Vous remarquerez que l’expression a été complétée pour inclure des termes tels que |R|, la valeur absolue et SQ(b⋅R), le carré de b⋅R. Pour essayer de simplifier ce résultat, utilisez FACTOR(ANS(1)) en mode ALG : • Appuyez sur „˜ pour activer l’éditeur de ligne une fois de plus. Le résultat est maintenant : • En appuyant encore une fois sur ` on revient en mode d’affichage normal. Pour afficher la totalité de l’expression à l’écran, on peut changer l’option _Small Stack Disp dans la feuille d’entrée DISPLAY MODES voir Chapitre 1). Après avoir effectué ce changement, l'affichage est le suivant : Note: Pour utiliser des lettres grecques ou d’autres caractères dans les expressions algébriques, utilisez le menu CHARS. Ce menu peut être activé par la combinaison de touches …±. De plus amples détails sont présentés dans l’Appendice D. Page 2-11 Utiliser l’Editeur d’équations (Equation Writer - EQW) pour écrire des expressions L’Editeur d’équations est un outil extrêmement puissant, qui non seulement vous permet de saisir et de visualiser une équation mais aussi de modifier et de marcher/d’appliquer des fonctions à l’équation ou à une partie de l’équation. Ainsi, l’Editeur d’équations vous permet d’effectuer des opérations mathématiques compliquées, de façon directe ou en mode pas à pas, comme vous le feriez sur le papier lorsque vous résolvez un problème de calcul, par exemple. Le démarrage de l’Editeur d’équations se fait par la combinaison de touches … ‚O (troisième touche de la quatrième ligne du clavier). Vous obtenez l'affichage suivant : Ces deux touches de menu de l’Editeur d’équations activent les fonctions suivantes : @EDIT : permet à l’utilisateur d’éditer une entrée dans l’éditeur de ligne (voir exemples précédents) @CURS : surligne l’expression et y ajoute un curseur graphique @BIG : si activée (on peut vérifier l’activation par le caractère qui apparaît sur l’indicateur) la police d’écriture utilisée pour l’édition est de taille 8 (la plus grande police disponible) @EVAL : vous permet de calculer, de façon symbolique ou numérique, l’expression surlignée dans l’Editeur d’équations (de la même façon que la touche …µ) @FACTO : vous permet de factoriser l’expression surlignée dans l’Editeur d’équations (si une factorisation est possible) @SIMP : vous permet de simplifier l’expression surlignée dans l’Editeur d’équations (autant que possible suivant les règles algébriques du CAS) Si vous appuyez sur la touche L deux options de menu supplémentaires s’affichent, comme indiqué ci-dessous : Page 2-12 Ces deux touches de menu de l’Editeur d’équations activent les fonctions suivantes : @CMDS: permet d’accéder à l’ensemble des commandes du CAS ordonnées dans l’ordre alphabétique. Ceci est utile pour insérer des commandes de CAS dans une expression disponible dans l’Editeur d’équations. @HELP: active la fonction d’aide du CAS qui fournit des informations et des exemples pour les commandes du CAS. Des exemples d’utilisation de l’Editeur d’équations sont donnés ci-dessous. Créer des expressions arithmétiques La méthode pour saisir des expressions arithmétiques avec l’Editeur d’équations est très similaire à la façon dont on entre des expressions arithmétiques entre apostrophes dans la pile. Seule grande différence : les expressions produites avec l’Editeur d’équations apparaissent en style “textbook” au lieu d’apparaître comme une ligne d’écriture. Donc, quand un signe de division (par exemple : /) est utilisé dans l’Editeur d’équations, une fraction est créée et le curseur descend dans le numérateur. Pour déplacer le curseur, vous devez utiliser la touche directionnelle vers le bas. Par exemple, essayez la séquence de touches suivante dans l’Editeur d’équations : 5/5+2 Il en résulte l’expression suivante : Le curseur, prenant la forme d’un triangle qui pointe vers la gauche, indique la position d’écriture actuelle. Le fait de choisir un symbole, une fonction ou une opération écrira ce symbole sur le curseur. Par exemple, avec le curseur en position indiquée ci-dessus, tapez maintenant : *„Ü5+1/3 L’expression saisie apparaît comme suit : Page 2-13 Supposons que vous vouliez remplacer la quantité entre parenthèses dans le dénominateur (c’est-à-dire : 5+1/3) par (5+π2/2). Tout d’abord, nous utiliserons la touche effacer (ƒ) pour effacer l’expression 1/3, ensuite nous remplacerons cette fraction par π2/2, comme indiqué ci-dessous : ƒƒƒ„ìQ2 A ce moment-là, l’affichage est le suivant : Pour insérer le dénominateur 2 dans l’expression, nous devons surligner l’expression π2 dans sa totalité. Pour cela, nous appuyons une seule fois sur la touche directionnelle vers la droite (™). A ce moment-là, nous entrons la séquence suivante : /2 L’expression apparaît maintenant ainsi : Supposons alors que vous vouliez ajouter la fraction 1/3 à cette expression, c’est-à-dire entrer l’expression : 5 5 + 2 ⋅ (5 + 2 π ) 2 + 1 3 Page 2-14 Tout d’abord, nous devons surligner la totalité du premier terme en utilisant la touche directionnelle vers la droite (™) ou la touche directionnelle vers le haut (—) de façon répétée jusqu’à ce que toute l’expression soit surlignée, ce qui donne donc : NOTE: On peut aussi utiliser, à partir de la position initiale du curseur (à la droite du 2 dans le dénominateur de π2/2), la combinaison de touches suivante ‚—, qui sera interprétée comme (‚ ‘ ). Une fois que l’expression est surlignée comme indiqué ci-dessus, tapez +1/3 pour ajouter la fraction 1/3. Cela donne : Afficher l’expression en caractères plus petits Pour afficher l’expression en caractères de plus petite taille (ce qui peut être utile si l’expression est longue et compliquée), appuyez simplement sur la touche de menu @BIG C. Dans cet exemple, l’affichage sera alors le suivant : Pour revenir à un affichage en plus grands caractères, appuyez à nouveau sur la touche de menu @BIG C. Page 2-15 Évaluer l’expression Pour calculer l’expression (ou une partie de l’expression) avec l’Editeur d’équations, surlignez la partie que vous souhaitez calculer et appuyez sur la touche de menu @EVAL D. Par exemple, pour calculer la totalité de l’expression de cet exercice, surlignez tout d’abord l’expression dans son ensemble, en appuyant sur ‚ ‘. Ensuite, appuyez sur la touche de menu @EVAL D. Si votre calculatrice est en mode de CAS Exact (c’est-à-dire si le mode _Approx CAS n’est pas activé), alors vous obtenez le résultat symbolique suivant : Si vous voulez récupérer une expression non calculée à ce moment-là, utilisez la fonction UNDO, c’est-à-dire : …¯ (la première touche de la troisième ligne de touches en partant du haut du clavier). L’expression récupérée est maintenant surlignée comme auparavant : Si vous voulez effectuer une évaluation numérique décimale, utilisez la fonction NUM, (c’est-à-dire, …ï). Le résultat obtenu est le suivant : Page 2-16 Utiliser à nouveau la fonction UNDO ( …¯) pour revenir à l’expression de départ. Évaluer une expression en partie En supposant maintenant que vous ne vouliez évaluer que la partie de l’expression entre parenthèses dans le dénominateur de la première fraction de l’expression ci-dessus. Il faut utiliser les touches directionnelles pour sélectionner cette partie de l’expression. Voici comment procéder : ˜ Surligne seulement la première fraction ˜ Surligne le numérateur de la première fraction ™ Surligne le dénominateur de la première fraction ˜ Surligne le premier terme du dénominateur de la première fraction ™ Surligne le deuxième terme du dénominateur de la première fraction ˜ Surligne le premier facteur du deuxième terme du dénominateur de la première fraction ™ Surligne l’expression entre parenthèses du dénominateur de la première fraction Comme il s’agit de la partie de l’expression que nous souhaitons calculer, nous pouvons maintenant appuyer sur la touche de menu @EVAL D, ce qui donne : Page 2-17 Encore une fois, il s’agit d’une évaluation symbolique. Supposons qu’à ce moment-là, on souhaite évaluer uniquement la partie gauche de la fraction. Appuyez à trois reprises sur la touche directionnelle vers le haut (—) pour sélectionner cette fraction ; on obtient : Ensuite, appuyez sur la touche de menu @EVAL D pour obtenir : Essayons maintenant d’obtenir une évaluation numérique de ce terme. Utilisez …ï , ce qui donne : Surlignons la fraction à droite, pour obtenir également une évaluation numérique de ce terme et pour afficher la somme de ces deux valeurs décimales en police de petit format, en utilisant : ™ …ï C, on obtient : Pour surligner et évaluer l’expression avec l’Editeur d’équations, nous utilisons : — D, ce qui donne : Page 2-18 Éditer des expressions arithmétiques Nous allons expliquer certaines fonctionnalités de l’Editeur d’équations sous forme d’exercices. Nous commençons en entrant l’expression suivante utilisée dans les exercices précédents : Nous allons donc utiliser les fonctions d’édition de l’Editeur d’équations pour la transformer et obtenir la nouvelle expression suivante : Dans l’exercice précédent, nous avons utilisé les touches directionnelles pour surligner des parties d’expressions dans le but de les évaluer. Dans le cas présent, nous allons les utiliser pour lancer un curseur d’édition spécial. Après avoir entré l’expression de départ, le curseur d’origine (la flèche pointant vers la gauche) se trouvera à la droite du chiffre 3 dans le dénominateur de la deuxième fraction, comme indiqué ci-dessous : Page 2-19 Appuyez sur la touche directionnelle vers le bas (˜) pour afficher le curseur transparent d’édition. L’affichage est le suivant : En utilisant la touche directionnelle vers la gauche (š) vous pouvez déplacer le curseur globalement vers la gauche, mais il s’arrêtera sur chacune des composantes de l’expression. Par exemple, supposons que nous voulions d’abord transformer l’expression π 2/2 en LN(π5/3). Une fois activé, le curseur transparent, comme expliqué ci-dessus, appuyez deux fois sur la touche directionnelle vers la gauche (š) pour surligner le chiffre 2 dans le dénominateur de π 2/2. Ensuite, appuyez une seule fois sur la touche effacer (ƒ) pour changer la forme du curseur en curseur d’insertion. Appuyez à nouveau sur ƒ pour effacer le 2 et cliquez sur 3 pour entrer le chiffre 3. L’affichage est alors le suivant : Ensuite, appuyez sur la touche directionnelle vers le bas (˜) pour afficher le curseur transparent d’édition, pour surligner le 3 dans le dénominateur de π 2/3. Appuyez une fois sur la touche directionnelle vers la gauche (š) pour surligner l’exposant 2 dans l’expression π 2/3. Ensuite, appuyez une fois sur la touche effacer (ƒ) pour changer la forme du curseur en curseur d’insertion. Appuyez sur ƒ une fois de plus pour effacer le chiffre 2 et appuyez sur 5 pour entrer le chiffre 5. Appuyez trois fois sur la touche directionnelle vers le haut (—) pour surligner l’expression π 5/3. Ensuite, tapez ‚¹ pour appliquer la fonction LN à cette expression. L’affichage est le suivant : Page 2-20 Ensuite, nous allons transformer le 5 entre parenthèses en un ½ en utilisant les touches : šƒƒ1/2 Puis, nous surlignons l’ensemble de l’expression entre parenthèses et y insérons une racine carrée en utilisant : ————R Ensuite, nous allons convertir le chiffre 2 devant les parenthèses du dénominateur en 2/3 en utilisant : šƒƒ2/3 L’affichage est alors le suivant : La dernière étape consiste à enlever le 1/3 de la partie droite de l’expression. On effectue cela en utilisant : —————™ƒƒƒƒƒ Le résultat final donne : En résumé, pour éditer une expression avec l’Editeur d’équations, il faut utiliser les touches directionnelles LN (š™—˜) pour surligner l’expression à laquelle on va appliquer des fonctions (par exemple, le LN et la racine carrée dans l’expression précédente). Utilisez la touche directionnelle vers le bas (˜) à tout moment, de façon répétée, pour afficher le curseur transparent d’édition. Dans ce mode, utilisez les flèches vers la gauche ou vers la droite (š™) pour vous déplacer terme en terme dans une Page 2-21 expression. Quand vous arrivez à l’endroit à éditer, utilisez la touche effacer (ƒ) pour afficher le curseur d’insertion avant de procéder à l’édition de l’expression. Créer des expressions algébriques Une expression algébrique est très similaire à une expression arithmétique, mis à part le fait qu’elle peut inclure des lettres des alphabets latins et grecs. La procédure pour créer une expression algébrique suit donc la même idée que l’écriture d’une expression arithmétique, sauf qu’on utilise en plus le clavier alphabétique. Pour illustrer l’utilisation de l’Editeur d’équations pour entrer une expression algébrique, nous allons utiliser l’exemple suivant. Supposons que nous voulions entrer l’expression : x + 2 µ ⋅ ∆y λ + e − µ ⋅ LN 1/ 3 3 θ 2 On utilise la séquence de touches suivante : 2 / R3 ™™ * ~‚ n + „¸\ ~‚m ™™ * ‚¹ ~„x + 2 * ~‚m * ~‚c ~„y ——— / ~‚t Q1/3 Ce qui donne le résultat : Dans cet exemple, nous avons utilisé un certain nombre de minuscules latines, x (~„x), quelques lettres grecques, λ (~‚n) et même une combinaison de lettres latines et grecques, ∆y (~‚c ~„y). Souvenez--vous que pour entrer une lettre minuscule, il faut utiliser la combinaison : ~„ suivie de la lettre que vous voulez saisir. De plus, vous pouvez toujours écrire des caractères spéciaux en utilisant le menu Page 2-22 CHARS (…±) si vous ne voulez pas avoir à mémoriser la combinaison de touches qui permet de les obtenir. Une liste des combinaisons de touches ~‚les plus fréquemment utilisées se trouve dans un paragraphe précédent. L’arborescence d’expressions L’arborescence d’expressions est un diagramme représentant la manière selon laquelle l’Editeur d’équations interprète une expression. Un exemple détaillé d’arborescence est présenté dans l’Appendice E. La fonction CURS La fonction CURS (@CURS) du menu de l’Editeur d’équations (touche B) convertit l’affichage en un affichage graphique et crée un curseur graphique qui peut être commandé avec les touches directionnelles (š™—˜) pour sélectionner des parties d’expression. La partie d’expression sélectionnée avec @CURS apparaîtra dans le cadre de l’affichage graphique. Après avoir sélectionné une partie d’expression vous pouvez appuyer sur ` pour surligner la partie de l’expression sélectionnée dans l’Editeur d’équations. Les figures suivantes indiquent différentes parties d’expressions sélectionnées et l’écran de l’Editeur d’équations correspondant après avoir appuyé sur `. Page 2-23 Éditer des expressions algébriques L’édition d’équations algébriques suit les mêmes règles que l’édition d’expressions algébriques. C’est-à-dire : • Utiliser les touches directionnelles (š™—˜) pour surligner les expressions • Utiliser la touche directionnelle vers le bas (˜), de façon répétée, pour afficher le curseur transparent d’édition. Dans ce mode, utilisez les flèches vers la gauche ou vers la droite (š™) pour vous déplacer de termes en termes dans une expression. • Au point d’édition, utilisez la touche effacer (ƒ) pour afficher le curseur d’insertion et procédez à l’édition de l’expression. Pour voir le curseur transparent d’édition en action, commençons avec l’expression algébrique que nous avons saisie dans l’exercice précédent : Appuyez sur la touche directionnelle vers le bas, ˜, à la position actuelle du curseur pour afficher le curseur transparent d’édition. Le chiffre 3 de l’exposant de θ devient alors surligné. Utilisez la touche directionnelle vers la gauche, š, pour vous déplacer de terme en terme dans cette expression. Dans cet exemple, l’ordre de sélection du curseur transparent d’édition est le suivant (appuyez sur la flèche gauche, š, de façon répétée) : 1. Le chiffre 1 dans l’exposant 1/3 2. θ 3. ∆y 4. µ 5. 2 6. x 7. µ dans la fonction exponentielle 8. λ 9. 3 dans le terme √3 10. le chiffre 2 dans la fraction 2/√3 Page 2-24 A tout moment, nous pouvons passer du curseur transparent d’édition au curseur d’insertion en appuyant sur la touche effacer (ƒ). Essayons d’utiliser ces deux curseurs (le curseur transparent d’édition et le curseur d’insertion) pour transformer l’expression actuelle en l’expression suivante : Si vous avez suivi l’exercice présenté juste au-dessus, vous devriez avoir le curseur transparent d’édition sur le chiffre 2 du premier facteur de l’expression. Suivez cette séquence de touches pour éditer l’expression : ™ ~‚2 Entre la factorielle de 3 sous la racine carrée (le fait d’entrer la factorielle change le curseur en format de curseur de sélection) ˜˜™™ Sélectionne le µ dans la fonction exponentielle /3*~‚f Modifie l’argument de la fonction exponentielle ™™™™ Sélectionne ∆y R Ajoute une racine carrée sur ∆y (cette opération change également le curseur en format de curseur de sélection) ˜˜™—— S Sélectionne θ1/3 et entre la fonction SIN Vous obtenez l’écran suivant : Évaluer une expression en partie ( ) on peut Puisque la partie de l’expression est déjà surlignée, SIN θ 1/ 3 appuyer sur la touche de menu @EVAL D , pour évaluer cette partie de l’expression. Le résultat est : Page 2-25 Certaines des expressions ne peuvent pas être simplifiées davantage. Composez la combinaison de touches : —D. Vous constaterez que cela n’a aucun effet mis à part celui de surligner l’argument de la fonction LN. Cela se produit car l’expression ne peut pas être évaluée (ou simplifiée) davantage, selon les règles du CAS. Essayez encore cette combinaison : — D et vous n’obtiendrez aucun changement. Par contre, en appuyant encore une fois sur —D, on modifie l’expression comme indiqué cidessous : En appuyant encore une fois sur —D, on apporte des nouvelles modifications : Cette expression ne rentre pas dans l’écran de l’Editeur d’équations. Nous pouvons visualiser l’expression dans sa totalité en utilisant une police de petite taille. Appuyez sur la touche de menu @BIG C pour obtenir : Même avec la police de grande taille, il est possible de se déplacer dans l’expression dans son ensemble, en utilisant le curseur d’édition transparent. Vous pouvez essayer la séquence de touches suivante : C˜˜˜˜, pour placer le curseur d’édition transparent sur le facteur 3 du premier terme Page 2-26 du numérateur. Ensuite, appuyez sur la touche directionnelle droite, ™, pour vous déplacer dans l’expression. Simplifier une expression Appuyez sur la touche de menu @BIG C pour obtenir un écran similaire à celui de la figure précédente (voir ci-dessus). Ensuite, appuyez sur la touche de menu @SIMP C , pour voir s’il est possible de simplifier cette expression telle qu’elle apparaît dans l’Editeur d’équations. Vous obtenez l’écran suivant : Sur cet écran, on a l’argument de la fonction SIN, c’est-à-dire, 3 θ , qui a été LN (θ ) 3 . Ceci n’apparaît pas forcément comme une transformé en e simplification mais l’est toutefois dans le sens où la fonction racine cubique a été remplacée par les fonctions inverses exp et LN. Factoriser une expression Dans cet exercice, nous allons essayer de factoriser une expression polynomiale. Pour poursuivre l’exercice précédent, appuyez sur la touche ` . Ensuite, relancez l’Editeur d’équations en appuyant sur la touche ‚O . Entrez l’équation : XQ2™+2*X*~y+~y Q2™~‚a Q2™™+~‚b Q2 Ce qui nous donne : Sélectionnons les trois premiers termes de cette expression dans le but de factoriser cette sous-expression : ‚—˜‚™‚™ . On obtient : Appuyez maintenant sur la touche de menu @FACTO pour arriver à : Page 2-27 Appuyez sur ‚¯ pour revenir à l’expression de départ. Ensuite, entrez la séquence de touches suivante : ˜˜˜™™™™™™™—— —‚™ pour sélectionner les deux derniers termes de l’expression, c’està-dire : Appuyez sur la touche de menu @FACTO, pour obtenir : Appuyez sur ‚¯ pour revenir à l’expression de départ. Ensuite, sélectionnez la totalité de l’expression en appuyant une fois sur la touche directionnelle vers le haut (—). Et appuyez sur la touche de menu @FACTO, pour obtenir : Appuyez sur ‚¯ pour revenir à l’expression de départ. Note: Lorsque l’expression d’origine est sélectionnée, appuyer sur les touches de menus @EVAL ou @SIMP , simplifie l’expression de la manière suivante : Utiliser la touche de menu CMDS En considérant que l’expression polynomiale d’origine utilisée dans l’exercice précédent est toujours sélectionnée, appuyez sur la touche L pour afficher Page 2-28 les touches de menu @CMDS et @HELP. Ces deux commandes font partie de la deuxième partie du menu de l’Editeur d’équations. Essayons d’utiliser cet exemple, en tant qu’application de la touche de menu : @CMDS. Appuyez sur la touche de menu @CMDS pour obtenir la liste des commandes CAS : Ensuite, sélectionnez la commande DERVX (dérivation par rapport à la variable X, qui est la variable indépendante actuelle du CAS) en utilisant les touches : ~d˜˜˜. La commande DERVX est alors sélectionnée : Appuyez sur la touche de menu @@OK@@ (F), pour obtenir : Ensuite, appuyez sur la touche L pour revenir au menu d’origine de l’Editeur d’équations et appuyez sur la touche de menu @EVAL@ (D) pour calculer cette dérivée. Le résultat est : Utiliser le menu d’aide (HELP) Appuyez sur la touche L pour afficher les touches de menu @CMDS et @HELP . Appuyez sur la touche de menu @HELP pour obtenir la liste de commandes du CAS. Ensuite, composez ~ d ˜ ˜ ˜ pour sélectionner la Page 2-29 commande DERVX. Appuyez sur la touche de menu @@OK@@ (F), pour obtenir des informations sur la commande DERVX : Une explication détaillée de l’utilisation des fonctions d’aide pour le système CAS est donnée au Chapitre 1. Pour revenir à l’Editeur d’équations, appuyez sur la touche de menu @EXIT. Appuyez sur la touche ` pour sortir de l’Editeur d’équations. Utiliser les fonctions d’édition BEGIN (début), END (fin), COPY (copier), CUT (couper) et PASTE (coller) Pour faciliter l’édition, que ce soit dans l’Editeur d’équations ou dans la pile, la calculatrice fournit cinq fonctions d’édition : BEGIN (début), END (fin), COPY (copier), CUT (couper) et PASTE (coller), qu’on peut activer en combinant la touche majuscule de droite (‚) avec les touches respectives (2,1), (2,2), (3,1), (3,2) et (3,3). Ces touches sont situées à gauche des lignes 2 et 3. Les actions de ces fonctions d’édition sont les suivantes : BEGIN (début) : marque le début d’une chaîne de caractères à éditer END (fin) : marque la fin d’une chaîne de caractères à éditer COPY (copier) : copie la chaîne de caractères comprise entre BEGIN et END CUT (couper) : coupe la chaîne de caractères comprise entre BEGIN et END PASTE (coller) : colle la chaîne de caractères, qui vient d’être coupée ou collée, à la position du curseur Pour en voir un exemple, démarrons l’Editeur d’équations pour y saisir l’expression suivante (déjà utilisée dans un exercice précédent) : 2 / R3 ™™ * ~‚m + „¸\ ~‚m ™™ * ‚¹ ~„x + 2 * ~‚m * ~‚c ~„y ——— / ~‚t Q1/3 L’expression de départ est la suivante : Page 2-30 Nous souhaitons enlever la sous-expression x+2⋅λ⋅∆y de l’argument de la fonction LN et la déplacer à la droite du λ dans le premier terme. Une première possibilité est d’utiliser : ˜ššš———‚ªšš—*‚¬ L’expression modifiée est alors la suivante: Ensuite, nous allons copier la fraction 2/√3 du facteur le plus à gauche dans cette expression et la placer dans le numérateur de l’argument de la fonction LN. Composez la séquence de touches suivante : ˜˜šš———‚¨˜˜ ‚™ššš‚¬ Vous obtenez l’affichage suivant : Les fonctions BEGIN (début) et END (fin) ne sont pas utiles dans l’Editeur d’équations, puisque nous pouvons sélectionner les chaînes de caractères en utilisant les touches directionnelles. Les fonctions BEGIN (début) et END (fin) sont bien plus utiles lorsqu’il s’agit d’éditer une expression avec l’éditeur de ligne. Par exemple, sélectionnons l’expression x+2⋅λ⋅∆y de cette équation, mais, cette fois, en utilisant l’éditeur de ligne de l’Editeur d’équation, de la manière suivante : ‚—A Page 2-31 L'écran de rédacteur de ligne ressemblera à ceci (affichage disponible seulement si la calculatrice est en mode RPN): Pour sélectionner la sous-expression qui nous intéresse, utilisons : ™™™™™™™™‚¢ ™™™™™™™™™™‚¤ L’écran affiche la sous-expression surlignée : Nous pouvons maintenant copier cette expression et la placer dans le dénominateur de l’argument de la fonction LN, de la façon suivante : ‚¨™™… (27 fois) … ™ ƒƒ… (9 fois) … ƒ ‚¬ L’éditeur de lignes indique alors: En appuyant sur ` , on fait apparaître cette expression dans l’Editeur d’équations (en police de petit format, appuyez sur la touche de menu @BIG C): Appuyez sur ` pour quitter l’Editeur d’équations. Page 2-32 Créer et éditer des sommes, des dérives et des intégrales Les sommes, les dérivées et les intégrales sont utilisées couramment dans les calculs, pour les applications de probabilités et en calcul statistique. Dans cette section, nous présentons des exemples de telles opérations créées dans l’Editeur d’équations. Utilisez le mode ALG. Sommes Nous allons utiliser l’Editeur d’équations pour entrer la somme suivante : ∞ 1 ∑k k =1 2 Appuyez sur ‚O pour activer l’Editeur d’équations. Appuyez ensuite sur ‚½ pour entrer le signe de somme. Vous remarquerez que, lorsqu’il est entré à l’écran de l’Editeur d’équation, le signe fournit les places nécessaires pour entrer l’index de la somme ainsi que pour la quantité à calculer. Pour remplir ces espaces, utilisez les touches suivantes : ~„k™1™„è™1/~„kQ2 L’écran obtenu est comme suit : Pour afficher l’expression correspondante dans l’Editeur de ligne, appuyez sur ‚— et sur la touche de menu A, ce qui donne : Cette expression illustre le format général d’une somme entrée directement dans la pile ou dans l’éditeur de lignes : Σ(index = valeur_initiale, valeur_finale, expression à sommer) Appuyez sur ` pour revenir dans l’Editeur d’équations. Cependant, l’affichage obtenu n’est pas la somme que nous avons saisie mais la valeur symbolique suivante : Page 2-33 Pour revenir à la somme, composez ‚¯. Pour recalculer cette somme, vous pouvez utiliser la touche de menu D. Ce qui donne, à nouveau 1 π2 . = ∑ 2 6 k =1 k ∞ Vous pouvez utiliser l’Editeur d’équations pour prouver que ∞ 1 ∑ k = +∞ . k =1 Cette somme (qui représente une série infinie) est dite divergente. Il est également possible d’effectuer des sommes doubles, comme par exemple : Dérivées Nous allons utiliser l’Editeur d’équations pour entrer la dérivée suivante : d (α ⋅ t 2 + β ⋅ t + δ ) dt Appuyez sur ‚O pour activer l’Editeur d’équations. Appuyez ensuite sur ‚¿ pour entrer le signe de dérivation (partielle). Vous remarquerez que, lorsqu’il est entré à l’écran de l’Editeur d’équation, le signe fournit les emplacements nécessaires pour saisir l’expression à dériver ainsi que la variable de dérivation. Pour remplir ces espaces, utilisez les touches suivantes : ~„t™~‚a*~„tQ2 ™™+~‚b*~„t+~‚d Vous obtenez l’écran suivant : Page 2-34 Pour afficher l’expression correspondante dans l’éditeur de ligne, appuyez sur ‚— et sur la touche de menu A, ce qui donne : Cette expression illustre le format général d’une dérivation dans la pile ou dans l’éditeur de lignes : ∂variable (fonction de variables) Appuyez sur ` pour revenir dans l’Editeur d’équations. Cependant, l’affichage obtenu n’est pas la dérivée que nous avons saisie mais la valeur symbolique suivante : Pour retrouver l'expression dérivée, utilisez ‚¯. Pour recalculer cette intégrale, vous pouvez utiliser la touche de menu D. Ce qui donne, à nouveau d (α ⋅ t 2 − β ⋅ t + δ ) = 2α ⋅ t + β . dt Il est également possible d’effectuer des dérivées secondes, comme par exemple : ce qui donne : Page 2-35 Note: La notation ∂ ( ∂x ) est propre aux dérivées partielles. La notation correcte pour les dérivées standard (c’est-à-dire les dérivées à une variable) est : d ( ) . Cependant, la calculatrice ne fera pas de différence entre les dx dérivées partielles et standard. Intégrales définies Nous allons utiliser l’Editeur d’équations pour saisir l’intégrale suivante: ∫ τ 0 t ⋅ sin(t ) ⋅ dt . Appuyez sur ‚O pour activer l’Editeur d’équations. Appuyez ensuite sur ‚ Á pour entrer le signe intégral. Vous remarquerez que, lorsqu’il est entré à l’écran de l’Editeur d’équation, le signe fournit les emplacements nécessaires pour entrer les bornes d’intégration, l’expression à intégrer ainsi que la variable d’intégration. Pour remplir ces espaces, utilisez les touches suivantes : 0™~‚u™~ „ t*S~„t™~„t. Vous obtenez l’écran suivant : Pour afficher l’expression correspondante dans l’éditeur de ligne, appuyez sur —— et sur la touche de menu Ace qui donne : Cette expression illustre le format général d’une intégrale dans la pile ou dans l’éditeur de lignes : ∫(limite_basse, limite_haute, intégrant, variable_de_l'intégration) Page 2-36 Appuyez sur ` pour revenir dans l’Editeur d’équations. Cependant, l’affichage obtenu n’est pas l’intégrale que nous avons saisie mais la valeur symbolique suivante, Pour retrouver l'expression de la dérivée, utilisez ‚¯. Pour recalculer cette intégrale, vous pouvez utiliser la touche de menu D. Ce qui donne, à nouveau : ∫ τ 0 t ⋅ sin(t ) ⋅ dt = sin(τ ) − τ ⋅ cos(τ ) Les intégrales doubles sont aussi possible. Par exemple : ce qui donne 36. Un calcul partiel est également possible, par exemple : Le résultat de cette intégrale est 36. Organiser les données dans la calculatrice Vous avez la possibilité d’organiser les données dans votre calculatrice en mémorisant les variables dans une arborescence de répertoires. Pour mieux comprendre le fonctionnement de la mémoire de la calculatrice, observons tout d’abord le répertoire de fichiers. Composez la combinaison de touches „¡ (première touche de la deuxième ligne de touches depuis le haut du clavier) pour obtenir l’écran du gestionnaire de fichiers de la calculatrice : Page 2-37 Cet écran vous donne un aperçu de la mémoire de la calculatrice et de l’arborescence des répertoires. L’affichage indique que la calculatrice comprend trois ports mémoire (aussi appelés partitions), port 0:IRAM, port 1:ERAM et port 2:FLASH. Les ports mémoires sont utilisés pour le stockage des applications et des bibliothèques fournis par des tiers, ainsi que pour les sauvegardes de sécurité. La taille de ces différents ports est également indiquée. A partir de la quatrième ligne se trouve l’arborescence de répertoires de la calculatrice. Le répertoire du haut (qui est surligné) est le répertoire Home et contient un sous-répertoire par défaut appelé CASDIR. Il y a trois fonctions associées au gestionnaire de fichiers accessibles par les touches de menu : @CHDIR (A) : Entre dans le répertoire sélectionné @CANCL (E) : Annule l’action précédente @@OK@@ (F) : Approuve la sélection Par exemple, pour passer au répertoire CASDIR, appuyez sur la touche directionnelle vers le bas, ˜, et appuyez sur @CHDIR (A). Cette action ferme la fenêtre du gestionnaire de fichiers et retourne en mode d’affichage normal. Vous remarquerez que la deuxième ligne en partant du haut de l’affichage commence par les caractères { HOME CASDIR } qui indiquent que le répertoire actuel est CASDIR à l’intérieur du répertoire HOME. Fonctions de manipulation des variables Cet écran comprend 20 commandes associées aux touches de menu qui peuvent être utilisées pour créer, éditer et manipuler des variables. Les six premières fonctions sont les suivantes : @EDIT Pour éditer la variable surlignée @COPY Pour copier la variable surlignée @MOVE Pour déplacer la variable surlignée @@RCL@ Pour mémoriser le contenu de la variable surlignée Page 2-38 @EVAL @TREE Pour évaluer la variable surlignée Pour afficher l’arborescence de répertoires dans lequel se trouve la variable Si vous appuyez sur la touche L, la deuxième série de fonctions apparaît : @PURGE Pour effacer ou détruire une variable @RENAM Pour renommer une variable @NEW Pour créer une nouvelle variable @ORDER Pour classer un ensemble de variables dans un répertoire @SEND Pour envoyer une variable à une autre calculatrice ou à un ordinateur @RECV Pour recevoir une variable d’une autre calculatrice ou d’un ordinateur Si vous appuyez sur la touche L, la troisième série de fonctions apparaît : @HALT Pour revenir temporairement à la pile @VIEW Pour afficher le contenu d’une variable @EDITB Pour éditer le contenu d’une variable binaire (semblable à @EDIT) @HEADE Pour afficher le répertoire qui contient la variable dans son entête @LIST Fournit une liste de noms de variables et leur description @SORT Pour classer les variables selon un critère d’ordre Si vous appuyez sur la touche L, la dernière série de fonctions apparaît : @XSEND Pour envoyer une variable par le protocole X-modem @CHDIR Pour changer de répertoire Pour passer d’une commande du menu à une autre, vous pouvez utiliser la touche NEXT (suivant) (L), et également la touche PREV (précédent) („«). L’utilisateur est invité à se familiariser avec ces fonctions par lui-même. Leurs applications sont évidentes. Le répertoire HOME Comme indiqué précédemment, le répertoire HOME, est le répertoire de base pour les opérations de mémoire de la calculatrice. Pour atteindre le répertoire HOME, appuyez sur la fonction UPDIR („§) -- autant de fois que nécessaire, jusqu’à ce que le symbole {HOME} apparaisse sur la deuxième ligne de l’entête de l’afficheur. Sinon, vous pouvez utiliser „ (maintenir) Page 2-39 §, et appuyer sur ` en mode Algébrique. Dans cet exemple, le répertoire HOME contient uniquement le CASDIR. En appuyant sur J, les variables apparaissent sur les touches de menu : Sous-répertoires Pour enregistrer vos données dans une arborescence de répertoires bien organisée, vous pouvez créer des sous-répertoires dans le répertoire HOME et d’autres sous-répertoires à l’intérieur de ces sous-répertoires, construisant ainsi une hiérarchie de répertoires similaire à l’organisation des fichiers dans les ordinateurs modernes. Les sous-répertoires auront des noms qui, en général, sont représentatifs du contenu de chaque sous-répertoire, ou tout autre nom que vous désirerez.. Le sous-répertoire CASDIR Le sous-répertoire CASDIR contient un certain nombre de variables nécessaire au bon fonctionnement du CAS (Computer Algebraic System, voir Appendice C). Pour afficher le contenu du répertoire, vous pouvez utiliser la combinaison de touches : „¡qui ouvre une fois de plus le gestionnaire de fichiers : Cette fois, le CASDIR est surligné à l’écran. Pour afficher le contenu du répertoire, appuyez sur la touche de menu @@OK@@ (F) ou sur `, pour obtenir l’affichage suivant : Page 2-40 L’écran affiche un tableau qui décrit les variables contenues dans le répertoire CASDIR. Ce sont les variables prédéfinies de la mémoire de la calculatrice et elles contiennent certains paramètres d'utilisation du système CAS (voir Appendice C). Le tableau ci-dessus comporte 4 colonnes : • La première colonne indique le type de la variable (par exemple, ‘EQ’ signifie une variable de type équation, |R indique une variable réelle, { } signifie une liste, nam est ‘un nom global’ et le symbole représente une variable graphique. • La deuxième colonne contient le nom des variables, à savoir PRIMIT, CASINFO, MODULO, REALASSUME, PERIOD, VX et EPS. • La colonne 3 indique une autre spécification du type de variable : par exemple, ALG est utilisé pour une expression algébrique, GROB représente un objet graphique, INTG est utilisé pour une variable numérique entière, LIST représente une liste de données, GNAME représente un nom global et REAL signifie une variable réelle. • La quatrième et dernière colonne représente la taille, en octets, de la variable tronquée, sans décimales (c.a.d. demi-octet). Ainsi, par exemple, la variable PERIOD compte 12.5 octets, alors que la variable REALASSUME occupe 27.5 octets (1 octet=8 bits, 1 bit est la plus petite unité de la mémoire des ordinateurs et des calculatrices). Variables CASDIR dans la pile En appuyant sur la touche $, on ferme l’écran précédent et on revient en mode d’affichage normal de la calculatrice. Par défaut, nous revenons au menu TOOL : Nous pouvons afficher les variables continues dans le répertoire courant, CASDIR, en appuyant sur la touche J (première touche de la deuxième ligne du clavier). Cela donne : En appuyant sur la touche L, on peut afficher une variable supplémentaire de ce répertoire : Page 2-41 • • • Pour visualiser le contenu de la variable EPS, par exemple, utilisez ‚@EPS@. Ceci affiche la valeur de EPS qui est . 0000000001 Pour afficher la valeur d’une variable numérique, il suffit d’appuyer sur la touche de menu de cette variable. Par exemple, en appuyant sur cz puis sur `, affiche la même valeur de la variable dans la pile, si la calculatrice est en mode Algébrique.. Si la calculatrice est en mode RPN, il vous suffit d’appuyer sur la touche de menu `. Pour afficher le nom complet d’une variable, appuyez d’abord sur l’apostrophe ³, et ensuite sur la touche de menu correspondant à la variable. Par exemple, pour la variable PERIO affichée dans la pile, nous utiliserons ³@PERIO@, ce qui donnera : 'PERIOD'. Cette méthode s’applique aux modes d’opération Algébrique et RPN. Variables du CASDIR Les variables par défaut du répertoire CASDIR sont les suivantes : PRIMIT La dernière primitive (anti-dérivée) calculée, et non la variable par défaut, mais une primitive créée lors d’un exercice précédent CASINFO un graphe qui fournit l’information du CAS MODULO Modulo pour l’arithmétique des modules (par défaut = 13) REALASSUME Liste des noms de variables supposées réelles PERIOD Période pour les fonctions trigonométriques (par défaut = 2π) VX Nom de la variable indépendante par défaut (par défaut = X) EPS Valeur du petit incrément (epsilon), (par défaut = 10-10) Ces variables sont utilisées pour le fonctionnement du CAS. Taper des noms de répertoires et de variables Pour nommer les sous-répertoires, et de temps en temps les variables, vous devrez taper les chaînes de caractères en une fois, qu’elles soient ou non combinées avec des nombres. Plutôt que d’appuyer sur les combinaisons de Page 2-42 touches ~, ~„, ou ~‚ pour entrer chaque lettre, vous pouvez maintenir enfoncée la touche ~ et entrer les différentes lettres. Vous pouvez également bloquer temporairement le clavier en mode alphabétique et entrer un nom complet avant de le débloquer. Les combinaisons de touches suivantes bloqueront le clavier en mode alphabétique : ~~ bloque le clavier alphabétique en mode majuscule. Dans ce mode, appuyer sur „ avant une touche de caractère donne une lettre minuscule et appuyer sur la touche ‚ avant une touche de caractère crée un caractère spécial. Si le clavier alphabétique est déjà bloqué en position majuscule, pour le bloquer en position minuscule, tapez, „~ ~~„~ bloque le clavier alphabétique en mode minuscule. Dans ce mode, appuyer sur „ avant une touche de caractère donne une lettre majuscule. Pour désactiver le mode minuscule, appuyez sur „~ Pour désactiver le mode minuscule, appuyez sur ~ Pratiquons maintenant quelques exercices pour entrer des noms de répertoires/variables dans la pile. En supposant que la calculatrice est en mode Algébrique (bien que ces instructions fonctionnent également en mode RPN), composez les séquences de touches suivantes. Avec ces commandes, nous entrerons les mots ‘MATH’, ‘Math’ et ‘MatH’ ³~~math` ³~~m„a„t„h` ³~~m„~at„h` Sur l’écran de la calculatrice, on verra l’affichage suivant (à gauche pour le mode Algébrique, à droite pour le mode RPN) : Page 2-43 Note: si l’indicateur système 60 est actif, vous pouvez bloquer le clavier alphabétique en appuyant simplement sur ~. Reportez--vous au Chapitre 1 pour obtenir davantage d’informations sur les indicateurs système. Créer des sous-répertoires On peut créer des sous-répertoires dans l’environnement FILES ou en utilisant la commande CRDIR. Ces deux approches pour créer des sous-répertoires sont présentées ci-dessous. En utilisant le menu des fichiers FILES Quel que soit le mode d’opération de la calculatrice (Algébrique ou RPN), nous pouvons créer une arborescence de répertoires, à partir du répertoire HOME, en utilisant les fonctions actives du menu FILES. Appuyez sur „¡pour activer le menu FILES. Si le répertoire HOME n’est pas déjà surligné à l’écran, comme dans cet exemple : utilisez les touches directionnelles vers le haut et vers le bas (—˜) pour le surligner. Ensuite, appuyez sur la touche de menu @@OK@@ (F). L’écran doit ressembler à ceci : et indiquer qu’un seul objet existe dans ce répertoire HOME : il s’agit du sous-répertoire CASDIR. Créons un autre sous-répertoire appelé MANS (pour MANualS) dans lequel nous allons stocker les variables créées dans les exercices de ce manuel. Pour créer ce sous-répertoire, entrez d’abord : L @@NEW@@ (C). Ceci affiche le formulaire de saisie suivant : Page 2-44 Le champ Object, premier champ du formulaire de saisie, est surligné par défaut. Ce champ contiendra le contenu de la nouvelle variable qui va être créée. Puisqu’il n’y a pas de contenu pour le nouveau sous-répertoire pour le moment, nous allons simplement ignorer ce champ en appuyant une fois sur la touche directionnelle vers le bas, ˜. Le champ Name est maintenant surligné : C’est à cet endroit que nous allons entrer le nom du nouveau sous-répertoire (ou variable, suivant le cas), de la façon suivante : ~~mans` Le curseur se déplace alors dans le champ _Directory. Appuyez sur la touche de menu @@CHK@@ (C) pour préciser que vous créez un répertoire et appuyez sur @@OK@@ pour sortir du formulaire de saisie. La liste des variables du répertoire HOME s’affichera à l’écran de la manière suivante : L’écran indique qu’il y a maintenant un nouveau répertoire (MANS) à l’intérieur du répertoire HOME. Ensuite, nous allons créer un sous-répertoire appelé INTRO (pour INTROduction), à l’intérieur de MANS, pour contenir les variables créées lors des exercices des sections suivantes de ce manuel. Appuyez sur la touche Page 2-45 $ pour revenir en mode d’affichage normal (le menu TOOLS apparaîtra). Ensuite, appuyez sur J pour afficher contenu du répertoire HOME relatif aux indications des touches de menu. L’affichage est alors le suivant (si vous avez créé d’autres variables dans le répertoire HOME, elles apparaîtront également sur les indications des touches de menu) : Pour se déplacer dans le répertoire MANS, appuyez sur la touche de menu correspondante (A dans le cas présent) et appuyez sur ` si vous travaillez en mode Algébrique. L’arborescence des répertoires apparaîtra sur la deuxième ligne de l’écran, sous la forme {HOME MANS}. Cependant, il n’y aura pas d’indications associés aux touches de menu, comme indiqué cidessous, car il n’y a pas de variables définies dans ce répertoire. Créons le sous-répertoire INTRO en utilisant : „¡@@OK@@ L @@NEW@@ ˜ ~~intro` @@CHK@@ @@OK@@ Appuyez sur la touche $ puis sur la touche J, pour afficher le contenu du répertoire MANS de la façon suivante : Appuyez sur la touche de menu )!INTRO pour vous déplacer à l’intérieur du sous-répertoire INTRO. Ceci affichera un sous-répertoire vide. Par la suite, nous allons faire quelques exercices sur la création de variables. En utilisant la commande CRDIR La commande CRDIR peut être utilisée pour créer des répertoires. Cette commande est accessible en appuyant sur la touche de catalogue des commandes (c’est la touche ‚N deuxième touche de la quatrième ligne du clavier), sur les menus de programmation (la touche „° , même touche que ‚N) ou en tapant simplement cette commande. • Par la touche de catalogue Appuyez sur ‚N~c. Utilisez les touches directionnelles vers le bas et vers le haut (—˜) pour localiser la commande CRDIR. Appuyez sur la touche de menu @@OK@@ pour activer la commande. Page 2-46 • Par les menus de programmation Appuyez sur „°. Ceci affichera le menu déroulant suivant pour la programmation : Utilisez la touche directionnelle vers le bas (˜) pour sélectionner l’option 2. MEMORY… , ou appuyez simplement sur 2. Ensuite, appuyez sur @@OK@@. Ceci créera le menu déroulant suivant : Utilisez la touche directionnelle vers le bas (˜) pour sélectionner l’option 5. DIRECTORY ou appuyez simplement sur 5. Ensuite, appuyez sur @@OK@@. Ceci créera le menu déroulant suivant : Utilisez la touche directionnelle vers le bas (˜) pour sélectionner l’option 5. CRDIR et appuyez sur @@OK@@. Commande CRDIR en mode Algébrique Une fois que vous avez sélectionné le CRDIR par l’une des méthodes décrites ci-dessus, la commande sera disponible dans votre pile, comme indiqué cidessous : Page 2-47 A ce moment-là, vous devrez entrer un nom de répertoire, à savoir : chap1 : ~~„~chap1~` Le nom du nouveau répertoire apparaîtra sur les touches de menu, comme suit : Commande CRDIR en mode RPN Pour utiliser CRDIR en mode RPN, il faut que le nom du répertoire soit déjà disponible dans la pile avant d’accéder à la commande. Par exemple : ~~„~chap2~` Ensuite, essayez d’accéder à la commande CRDIR en utilisant l’une des méthodes présentées ci-dessus, par exemple, en utilisant la touche ‚N : Appuyez sur la touche de menu @@OK@ pour activer la commande, pour créer le sous-répertoire : Se déplacer parmi les sous-répertoires Pour redescendre dans l’arborescence des répertoires, il faut appuyer sur la touche de menu correspondant au sous-répertoire vers lequel vous voulez vous déplacer. On peut afficher la liste des variables d’un sous-répertoire en appuyant sur la touche J (VARiables). Pour remonter dans l’arborescence des répertoires, utilisez la fonction UPDIR, c’est-à-dire entrez „§. Sinon, vous pouvez aussi utiliser le menu FILES, c’est-à-dire en appuyant sur „¡. Utilisez les touches directionnelles vers le bas ou vers le haut (— Page 2-48 ˜) pour sélectionner le sous-répertoire vers lequel vous souhaitez vous déplacer, puis appuyez sur !CHDIR (CHange DIRectory) ou sur la touche de menu A. Ceci affichera le contenu du sous-répertoire que vous visez sur les indications des touches de menu. Effacer des sous-répertoires Pour effacer un sous-répertoire, utilisez l’une des méthodes suivantes : En utilisant le menu des fichiers FILES Appuyez sur la touche „¡ pour ouvrir le menu FILES. Sélectionnez le répertoire qui contient le sous-répertoire que vous voulez effacer et appuyez sur !CHDIR si nécessaire. Ceci fermera le menu FILES et affichera le contenu du répertoire sélectionné. Dans ce cas, il vous faudra appuyer sur `. Appuyez alors sur la touche de menu @@OK@@ pour afficher le contenu du répertoire à l’écran. Sélectionnez le sous-répertoire (ou la variable) que vous souhaitez effacer. Appuyer sur L@PURGE. L’écran ci-dessous apparaîtra : Sur cet écran, la chaîne de caractères ‘S2’ est le nom du sous-répertoire qui est en train d’être effacé. Les touches de menu vous offrent les options suivantes : @YES@ (A) Confirme la destruction du sous-répertoire (ou de la variable) @ALL@ (B) Confirme la destruction de tous les répertoires (ou de toutes les variables) !ABORT (E) N’efface pas le sous-répertoire (ou la variable) de la liste @@NO@@ (F) N’efface pas le sous-répertoire (ou la variable) Après avoir sélectionné l’une de ces quatre commandes, vous reviendrez à l’écran qui indique le contenu du sous-répertoire. Cependant, la commande !ABORT fera apparaître un message d’erreur : Page 2-49 Et il faudra alors appuyer sur @@OK@@, avant de revenir à la liste des variables. En utilisant la commande PGDIR La commande PGDIR peut être utilisée pour effacer le contenu d’un répertoire. De la même façon que pour la commande CRDIR, on accède à la commande PGDIR par la touche ‚N ou par la touche „° ou on peut également simplement taper la commande. • Par la touche de catalogue Appuyez sur ‚N~~pg. Ceci devrait surligner la commande PGDIR. Appuyez sur la touche de menu @@OK@@ pour activer la commande. • Par les menus de programmation Appuyez sur „°. Ceci affichera le menu déroulant suivant pour la programmation : Utilisez la touche directionnelle vers le bas (˜) pour sélectionner l’option 2. MEMORY… Ensuite, appuyez sur @@OK@@. Ceci créera le menu déroulant suivant : Utilisez la touche directionnelle vers le bas (˜) pour sélectionner l’option 5. DIRECTORY. Ensuite, appuyez sur @@OK@@. Ceci créera le menu déroulant suivant : Page 2-50 Utilisez la touche directionnelle vers le bas (˜) pour sélectionner l’option 6. PGDIR . Ensuite, appuyez sur @@OK@@. Commande PGDIR en mode Algébrique Une fois que vous avez sélectionné la commande PGDIR par l’une des méthodes décrites ci-dessus, la commande sera disponible dans votre pile, comme indiqué ci-dessous : A ce moment-là, vous devrez taper le nom d’un répertoire existant, par exemple S4 : ~s4` Il en résulte que le sous-répertoire )@@S4@@ est effacé : Plutôt que de taper le nom du répertoire, vous pouvez appuyer sur la touche menu correspondante dans le menu de la commande PGDIR(), de la façon suivante : Appuyez sur @@OK@@, pour obtenir : Page 2-51 Puis, appuyez sur )@@S3@@ pour entrer l’argument de PGDIR, ‘S3’. Appuyez sur ` pour effacer le sous-répertoire : Commande PGDIR en mode RPN Pour utiliser la commande PGDIR en mode RPN, vous devez placer le nom du répertoire, entre apostrophes, dans la pile avant d’accéder à la commande. Par exemple : ³~s2` Ensuite, accédez à la commande PGDIR par l’une des méthodes décrites cidessus, par exemple, en utilisant la touche ‚N : Appuyez sur la touche de menu @@OK@ pour activer la commande et effacer le sous-répertoire : Page 2-52 En utilisant la commande PURGE du menu TOOL On accède au menu d’outils TOOL en appuyant sur la touche I (les modes Algébrique et RPN sont indiqués) : On accède à la commande PURGE en appuyant sur la touche de menu @PURGE (E). Dans les exemples suivants, nous voulons effacer le sous-répertoire S1 : • Mode Algébrique : Entrez @PURGE J)@@S1@@` • Mode RPN : Entrez J³@S1@@ `I@PURGE J Les variables Les variables fonctionnent comme les fichiers sur le disque dur d’un ordinateur. Une variable peut contenir un objet (des valeurs numériques, des expressions algébriques, des listes, des vecteurs, des matrices, des programmes, etc.). Même des sous-directoires peuvent être considérés comme des variables (en fait, dans la calculatrice, un sous-directoire est aussi un type d'objet). On se réfère aux variables par leurs noms, qui peuvent être une combinaison de caractères alphanumériques, commençant toujours par une lettre (latine ou grecque). On peut utiliser certains symboles, comme la flèche (→) dans un nom de variable, à condition de les combiner avec un caractère alphabétique. Ainsi, ‘→A’ est un nom de variable valide, mais ‘→’ ne l’est pas. Comme exemples de noms de variables valides, on a : ‘A’, ‘B’, ‘a’, ‘b’, ‘α’, ‘β’, ‘A1’, ‘AB12’, ‘A12’,’Vel’,’Z0’,’z1’, etc. Une variable ne peut pas avoir le même nom qu’une fonction dans la calculatrice. Par exemple, il n'est pas possible d'avoir une variable SIN car il y a déjà une commande SIN dans la calculatrice. Les noms de variables réservés par la calculatrice sont les suivants : ALRMDAT, CST, EQ, EXPR, IERR, IOPAR, MAXR, MINR, PICT, PPAR, PRTPAR, VPAR, ZPAR, der_, e, i, n1,n2, …, s1, s2, …, ΣDAT, ΣPAR, π, ∞ Les variables peuvent être organisées dans des sous-répertoires. Page 2-53 Créer des variables Pour créer une variable, on peut utiliser le menu des fichiers FILES, de la même manière que les exemples illustrés ci-dessus pour la création d’un sousrépertoire. Par exemple, dans le sous-répertoire {HOME MANS INTRO}, qui a été créé dans un exemple précédent, nous voulons stocker les variables suivantes avec leurs valeurs, comme indiqué ci-dessous : Nom a α A12 Q R z1 p1 Contenu 12.5 -0.25 3×105 ‘r/(m+r)' [3,2,1] 3+5i << → r 'π*r^2' >> Type réel réel réel algébrique vecteur complexe programme En utilisant le menu des fichiers FILES Nous allons utiliser le menu FILES pour entrer la variable A. Supposons que nous nous trouvions dans le sous-répertoire {HOME MANS INTRO}. Pour arriver dans ce sous-répertoire, utilisez les touches : „¡ et sélectionnez le sous-répertoire INTRO comme indiqué sur cet écran : Appuyez sur @@OK@@ pour ouvrir le répertoire. Vous obtiendrez une liste de fichiers vide (le sous-répertoire INTRO est vide pour l’instant). Page 2-54 Appuyez sur la touche L pour arriver à la deuxième page des touches de menu et appuyez sur la touche de menu @@NEW@@. Ceci ouvrira le formulaire NEW VARIABLE (pour entrer une nouvelle variable) : Pour entrer la variable A (voir la table ci-dessus), nous allons d’abord entrer son contenu, c’est-à-dire le nombre 12.5, puis son nom, A, de la façon suivante : 12.5 @@OK@@ ~a@@OK@@. Ce qui donne l’affichage suivant : Appuyez une fois de plus sur @@OK@@ pour créer la variable. La nouvelle variable apparaît dans la liste suivante : La liste affiche une variable réelle (|R), qui s’appelle A, et qui occupe 10.5 octets de place mémoire. Pour afficher le contenu de cette variable à l’écran, appuyez sur L@VIEW@. • Appuyez sur la touche de menu @GRAPH (A) pour afficher le contenu en format graphique. Page 2-55 • • • Appuyez sur la touche de menu @TEXT (A) pour afficher le contenu en format texte. Appuyez sur @@OK@@ pour revenir à la liste des variables Appuyez sur $ pour revenir en mode d’affichage normal. La variable A devrait maintenant apparaître sur les indications des touches de menu : En utilisant la commande STO Une manière plus simple de créer une variable est d’utiliser la commande STO (c’est-à-dire la touche K ). Nous illustrons des exemples à la fois en mode Algébrique et en mode RPN, en créant le reste des variables suggérées ci-dessus, à savoir : Nom α A12 Q R z1 p1 • Contenu -0.25 3×105 ‘r/(m+r)' [3,2,1] 3+5i << → r 'π*r^2' >> Type réel réel algébrique vecteur complexe programme Mode Algébrique Utilisez la séquence de touches suivante pour enregistrer la valeur –0.25 dans la variable α: 0.25\K~‚a. L’écran est alors le suivant : Cette expression signifie que la valeur –0.25 est prête à être enregistrée dans α (le symbole représente l'opération. Appuyez sur Page 2-56 ` pour créer la variable. La variable apparaît maintenant sur les indications des touches de menu : Pour entrer les variables restantes, utilisez les séquences de touches suivantes : A12: 3V5K~a12` Q: ³~„r/„Ü ~„m+~„r™™ K~q` R: „Ô3‚í2‚í1™ K~r` z1: 3+5*„¥K~„z1` (acceptez le passage en mode Complex si le programme vous le demande). p1: ‚å‚é~„r³„ì* ~„rQ2™™™ K~„p1`.. L’affichage est alors le suivant : Vous verrez six des sept variables affichées en bas de l’écran : p1, z1, R, Q, A12, α. • Mode RPN Utilisez la séquence de touches suivante pour enregistrer la valeur – 0.25 dans la variable α: 0.25\` ~‚a`. L’écran est alors le suivant : Page 2-57 Cette expression signifie que la valeur –0.25 est prête à être enregistrée dans α. Appuyez sur K pour créer la variable. La variable apparaît maintenant sur les indications des touches de menu : Pour entrer la valeur 3×105 dans la variable A12, on peut utiliser une méthode plus rapide : 3V5³~a12` K Voici la séquence à suivre pour enregistrer le contenu de Q : Q: ³~„r/„Ü ~„m+~„r™™ ³~q` K Pour entrer la valeur de R, nous pouvons utiliser une méthode encore plus rapide : R: „Ô3#2#1™ ³~r `K Vous remarquerez que pour séparer les éléments d’un vecteur en mode RPN, on peut utiliser la touche espace (#), plutôt que la virgule (‚í) utilisée plus haut en mode Algébrique. z1: ³3+5*„¥ ³~„z1 K (Acceptez le passage en mode Complex si le programme vous le demande) p1: ‚å‚é~„r³„ì* ~„rQ2™™™ ³ ~„p1™` K. L’affichage est alors le suivant : Vous verrez six des sept variables affichées en bas de l’écran : p1, z1, R, Q, A12, α. Vérifier le contenu des variables A titre d’exercice sur la visualisation des variables, nous allons utiliser les sept variables enregistrées lors de l’exercice précédent. Lorsque nous avions créé la variable A, nous avions illustré l’utilisation du menu FILES pour l’affichage des variables. Dans cette section, nous allons présenter un moyen simple de visualiser le contenu d’une variable. Page 2-58 En appuyant sur la touche de menu associée à la variable Cette méthode affichera le contenu d’une variable, si cette variable contient une valeur numérique ou algébrique, ou un tableau. Par exemple, pour les variables affichées précédemment, appuyez sur les touches suivantes pour afficher le contenu des variables : Mode Algébrique Tapez ces séquences de touches : J@@z1@@ ` @@@R@@ `@@@Q@@@ `. L’affichage est alors le suivant : Ensuite, tapez les séquences de touches : @@A12@ ` @@@ª@@ ` L @@@A@@@ `. L’affichage est alors le suivant : Appuyer sur la touche de menu qui correspond à p1 fera apparaître un message d’erreur (essayez L @@@p1@@ `): Note: En appuyant sur @@@p1@@ ` nous essayons de lancer le programme p1. Cependant, ce programme attend une valeur numérique en entrée. Essayez d’entrer la séquence : $@@@p1@ „Ü5`. Le résultat est : Page 2-59 La structure du programme est la suivante : << → r 'π*r^2' >> Le symbole « »indique un programme écrit en langage User RPL (c’est le langage de programmation originel des calculatrices HP 28/48 qui est également disponible dans la série HP 49G). Les caractères → r indiquent qu’il faut fournir au programme une variable d’entrée, qui sera appelée r. L’action du programme est de prendre la valeur de cette variable r et de calculer l’expression algébrique 'π*r^2'. Dans l’exemple illustré ci-dessus, la valeur de r est 5 et ainsi, la valeur de πr2 = π⋅25 est affichée. Le programme calcule alors la surface d’un disque de rayon r. Mode RPN En mode RPN, il suffit d’appuyer sur la touche de menu correspondante pour obtenir le contenu d’une variable numérique ou algébrique. Dans le cas présent, on peut essayer d’afficher les variables z1, R, Q, A12, α et A, créées plus haut, de la façon suivante : J@@z1@@ @@@R@@ @@@Q@@ @@A12@@ @@ª@@ L’affichage est alors le suivant : Pour voir le contenu de A, utilisez : L @@@A@@@. Pour activer le programme p1 avec r = 5, utilisez : L5 @@@p1@@@. Page 2-60 Notez que pour utiliser le programme en mode RPN, vous devez seulement taper l'entrée (5) puis appuyer sur la touche de menu (en mode Algébrique, vous avez besoin d'utiliser les parenthèses pour taper l'argument). Utiliser la touche majuscule de droite right-shift ‚ suivie des touches de menu Cette méthode de visualisation des variables fonctionne de la même façon pour les modes algébrique et RPN. Essayez les exemples suivants dans l’un de ces modes : J‚@@p1@@ ‚ @@z1@@ ‚ @@@R@@ ‚@@@Q@@ ‚ @@A12@@ Cela donne le résultat suivant (mode Algébrique à gauche, mode RPN à droite) : Vous remarquerez que cette fois le contenu du programme p1 est affiché à l’écran. Pour visualiser les autres variables de ce répertoire, composez : @@@ª@@ L ‚ @@@A@@ Afficher le contenu de toutes les variables à l’écran Utilisez la combinaison de touches ‚˜ pour afficher le contenu de toutes les variables à l’écran. Par exemple : Appuyez sur $ pour retourner en mode d’affichage normal. Remplacer le contenu des variables On peut considérer que remplacer le contenu d’une variable revient à enregistrer une valeur différente pour un même nom de variable. Ainsi, on Page 2-61 peut illustrer le remplacement du contenu d’une variable, avec les exemples de création de variables présentés ci-dessus. En utilisant la commande STO En utilisant comme exemple les six variables créées précédemment, p1, z1, R, Q, A12, a, et A, nous allons modifier le contenu de la variable A12 (qui est pour l’instant une variable numérique) en la convertissant en l’expression algébrique ‘β/2’, grâce à la commande STO . Tout d’abord, si vous utilisez le mode Algébrique : ³~‚b/2™ K @@A12@@ ` Vérifiez le contenu de la nouvelle variable A12 en utilisant ‚@@A12@@ . Si vous utilisez le mode RPN : ³~‚b/2` ³@@A12@@ ` K ou, plus simplement, ³~‚b/2™ ³@@A12@@ K Utiliser la touche majuscule de gauche (left-shift) „ suivie de la touche de menu associée à la variable (RPN) C’est une façon très simple de modifier le contenu d’une variable mais exclusivement disponible en mode RPN. La méthode consiste à entrer la nouvelle valeur de la variable dans la pile, puis à appuyer sur la touche majuscule de gauche ("left-shift"), puis sur la touche de menu associée à la variable. Par exemple, en mode RPN, si nous voulons changer le contenu de la variable z1 en ‘a+b⋅i ’, nous utiliserons : ³~„a+~„b*„¥` Ceci entrera l’expression algébrique ‘a+b⋅i ’ dans le niveau 1: de la pile. Pour entrer ce résultat dans la variable z1, tapez : J„@@@z1@@ Pour vérifier le nouveau contenu de la variable z1, composez : ‚@@@z1@@ La méthode équivalente pour le mode Algébrique est la suivante : ~„a+~„b*„¥` K @@@z1@@ ` Pour vérifier le nouveau contenu de la variable z1, composez : ‚@@@z1@@ En utilisant la variable ANS(1) (Mode Algébrique) En mode Algébrique, on peut utiliser la variable ANS(1) pour remplacer le contenu d’une variable. Voici, par exemple, la méthode pour changer le Page 2-62 contenu de z1 en ‘a+bi’ : „î K @@@z1@@ `. Pour vérifier le nouveau contenu de la variable z1, composez : ‚@@@z1@@ Copier des variables Les exercices suivants illustrent diverses méthodes pour copier des variables d’un sous-répertoire à un autre. En utilisant le menu des fichiers FILES Pour copier une variable d’un répertoire à un autre, vous pouvez utiliser le menu FILES. Par exemple, à l’intérieur du sous-répertoire {HOME MANS INTRO}, nous avons les variables p1, z1, R, Q, A12, α et A. Supposons que nous voulions copier la variable A et placer sa copie dans le sous-répertoire {HOME MANS}. De plus, nous allons aussi copier la variable R et placer une copie dans le répertoire HOME. La manière de procéder est décrite cidessous : appuyez sur „¡@@OK@@ pour obtenir la liste de variables suivante : Utilisez la touche directionnelle vers le bas ˜pour sélectionner la variable A (la dernière de la liste), puis appuyez sur @@COPY@. L’affichage de la calculatrice propose l’écran PICK DESTINATION (choisissez une destination) : Utilisez la touche directionnelle vers le haut — pour sélectionner le sousrépertoire MANS et appuyez sur @@OK@@. Si vous appuyez alors sur „§, le contenu du sous-répertoire MANS s’affiche à l’écran (vous remarquerez que la variable A apparaît dans la liste, comme prévu) Page 2-63 Appuyez sur $ @INTRO@ `(en mode Algébrique) ou $ @INTRO@ (en mode RPN) pour revenir au répertoire INTRO. Appuyez sur „¡@@OK@@ pour créer la liste des variables de {HOME MANS INTRO}. Utilisez la touche directionnelle vers le bas (˜) pour sélectionner la variable R, puis appuyez sur @@COPY@. Utilisez la touche directionnelle vers le haut (—) pour sélectionner le répertoire HOME, et appuyez sur @@OK@@. Si vous appuyez maintenant deux fois sur „§, l’écran affiche le contenu du répertoire HOME, qui contient également une copie de la variable R : En utilisant l’historique en mode Algébrique Voici une manière d’utiliser l’historique (de la pile) pour copier une variable d’un répertoire à un autre en utilisant le mode de calcul algébrique. Supposons que nous nous trouvions dans le sous-répertoire {HOME MANS INTRO} et que nous voulions copier le contenu de la variable z1 dans le sousrépertoire {HOME MANS}. Utilisons la procédure suivante : ‚@@z1@ K@@z1@ `. Ceci mémorise simplement le contenu de la variable z1 en elle-même (aucun changement n’est effectué sur z1). Ensuite, nous utiliserons „§` pour atteindre le sous-répertoire {HOME MANS}. L’affichage est alors le suivant : Ensuite, appuyez trois fois sur la touche effacer, pour supprimer les trois dernières lignes de l’affichage : ƒ ƒ ƒ. A ce moment-là, la pile est Page 2-64 prête à exécuter la commande ANS(1)z1. Appuyez sur ` pour exécuter cette commande. Ensuite, utilisez la séquence ‚@@z1@, pour vérifier le contenu de la variable. En utilisant la pile en mode RPN Pour illustrer l’utilisation de la pile en mode RPN pour copier une variable d’un sous-répertoire à un autre, nous supposerons que vous vous trouvez dans le sous-répertoire {HOME MANS INTRO} et que vous devez copier le contenu de la variable z1 dans le répertoire HOME. Utilisez la procédure suivante : ‚@@z1@ `³@@z1@ ` Cette méthode crée une liste du contenu et du nom des variables dans la pile. L’affichage est alors le suivant : Maintenant, composez „§„§ pour atteindre le répertoire HOME et appuyez sur K pour terminer l’opération. Utilisez ‚@@z1@, pour vérifier le contenu de la variable. Copier deux variables ou plus en utilisant la pile en mode Algébrique L’exercice suivant explique comment copier deux variables ou plus en utilisant la pile lorsque la calculatrice est en mode Algébrique. Supposons, là encore, que nous nous trouvions dans le sous-répertoire {HOME MANS INTRO} et que nous voulions copier les variables R et Q dans le sous-répertoire {HOME MANS}. Les séquences de touches suivantes permettent d’effectuer cette opération : ‚@@ @R@@ K@@@R@@ ` ‚@@ @Q@@ K@@@Q@@ ` „§` ƒ ƒ ƒ` ƒƒƒƒ` Pour vérifier le contenu des variables, appuyez sur ‚@@ @R@ et ‚@@ @Q. Cette méthode peut être généralisée pour la copie de trois variables ou plus. Copier deux variables ou plus en utilisant la pile en mode RPN L’exercice suivant explique comment copier deux variables ou plus en utilisant la pile lorsque la calculatrice est en mode RPN. Supposons, là encore, que nous nous trouvions dans le sous-répertoire {HOME MANS INTRO} et que Page 2-65 nous voulions copier les variables R et Q dans le sous-répertoire {HOME MANS}. Les séquences de touches suivantes permettent d’effectuer cette opération : ‚@@ @R@@ ³@@@R@@ ` ‚@@ @Q@@ ³@@@Q@@ ` „§K K Pour vérifier le contenu des variables, appuyez sur ‚@@ @R@ et ‚@@ @Q. Cette méthode peut être généralisée pour la copie de trois variables ou plus. Réorganiser les variables dans un répertoire Dans cette section, nous allons présenter l’utilisation de la commande ORDER qui permet de réorganiser les variables dans un répertoire. Supposons que nous partions du sous-répertoire {HOME MANS} qui contient les variables, A12, R, Q, z1, A et le sous-répertoire INTRO, comme indiqué ci-dessous (copier A12 de l’INTRO dans MANS). Mode Algébrique Dans ce cas, la calculatrice se trouve en mode Algébrique. Supposons que nous voulions modifier l’ordre des variables pour les placer dans l'ordre suivant : INTRO, A, z1, Q, R, A12. Procédez comme indiqué ci-dessous pour activer la fonction ORDER : „°˜@@OK@@ Sélectionnez MEMORY dans le menu de programmation ˜˜˜˜ @@OK@@ Sélectionnez DIRECTORY dans le menu MEMORY —— @@OK@@ Sélectionnez ORDER dans le menu DIRECTORY L’écran affichera la ligne d’entrée suivante : Ensuite, nous allons entrer le nouvel ordre pour les variables en tapant leurs noms entre apostrophes : „ä ³)@INTRO ™‚í³@@@@A@@@ ™‚í³@@@z1@@™‚í³@@@Q@@@™ Page 2-66 ‚í³@@@@R@@@ ™‚í³@@A12@@ ` L’écran affiche maintenant les variables suivant le nouvel ordre : Mode RPN En mode RPN, on entre d’abord la liste des variables à réorganiser dans la pile avant d’appliquer la commande ORDER. Supposons que nous partions de la même situation que ci-dessus mais en mode RPN, c’est-à-dire : On crée la liste à réorganiser en tapant la séquence : „ä )@INTRO @@@@A@@@ @@@z1@@ @@@Q@@@ @@@@R@@@ @@A12@@ ` Ensuite, on entre la commande ORDER, comme précédemment, c’est-à-dire : „°˜@@OK@@ Sélectionnez MEMORY dans le menu de programmation ˜˜˜˜ @@OK@@ Sélectionnez DIRECTORY dans le menu MEMORY —— @@OK@@ Sélectionnez ORDER dans le menu DIRECTORY Vous obtenez l’écran suivant : Déplacer des variables en utilisant le menu des fichiers FILES Pour déplacer une variable d’un répertoire à un autre, vous pouvez utiliser le menu FILES. Par exemple, à l’intérieur du sous-répertoire {HOME MANS INTRO}, nous avons les variables p1, z1, R, Q, A12, α, et A. Supposons que nous voulions déplacer la variable A12 dans le sous-répertoire {HOME MANS}. Voici la manière de procéder : appuyez sur „¡@@OK@@ pour afficher la liste des variables. Utilisez la touche directionnelle vers le bas ˜ pour sélectionner la variable A12, puis appuyez sur @@MOVE@. La calculatrice produira alors un écran PICK DESTINATION (choisir une destination). Utilisez la touche directionnelle vers le haut — pour sélectionner le sous-répertoire MANS et appuyez sur @@OK@@. L’écran va maintenant afficher le contenu du sous-répertoire {HOME MANS INTRO} : Page 2-67 Vous remarquerez que la variable A12 a disparu. Si maintenant vous appuyez sur „§, l’écran affiche le contenu du sous-répertoire MANS, qui contient la variable A12 : Note: Vous pouvez utiliser la pile pour déplacer une variable en combinant les actions de copier et d’effacer une variable. La méthode pour effacer des variables est présentée dans la section suivante. Effacer des variables On peut effacer des variables, en utilisant la fonction PURGE. Cette fonction est directement accessible en utilisant le menu TOOLS (I), ou en utilisant le menu FILES „¡@@OK@@ . En utilisant la commande FILES On peut utiliser la commande FILES pour détruire une variable à la fois. Pour effacer une variable d’un répertoire donné, vous pouvez utiliser le menu FILES. Par exemple, à l’intérieur du sous-répertoire {HOME MANS INTRO}, il nous reste les variables p1, z1, R, Q, α, et A. Supposons que nous voulions effacer la variable A. Voici comment procéder : appuyez sur „¡@@OK@@ pour créer la liste des variables. Utilisez la touche directionnelle vers le bas ˜pour sélectionner la variable A (la dernière de la liste), puis appuyez sur L@PURGE@ @@@YES@@@. L’écran affiche le contenu du sous-répertoire INTRO sans la variable A. Page 2-68 Utiliser la fonction PURGE dans la pile en mode Algébrique Nous allons recommencer depuis le sous-répertoire {HOME MANS INTRO} qui contient maintenant uniquement les variables p1, z1, Q, R et α. Nous utiliserons la commande PURGE pour effacer la variable p1. Appuyez sur I @PURGE@ J@@p1@@ `. L’affichage indique maintenant que la variable p1 a été effacée : Vous pouvez utiliser la commande PURGE pour effacer plus d’une variable en plaçant leurs noms dans une liste dans l’argument de PURGE. Par exemple, si nous voulons maintenant effacer simultanément les variables R et Q, nous pouvons essayer la méthode suivante. Composez : I @PURGE@ „ä³ J@@@R!@@ ™ ‚í ³ J@@@Q!@@ L’écran indique alors la commande suivante, qui est prête à être exécutée : Pour terminer la destruction des variables, appuyez sur `. L’affichage indique maintenant les variables restantes : Utiliser la fonction PURGE dans la pile en mode RPN Nous allons recommencer depuis le sous-répertoire {HOME MANS INTRO} qui contient maintenant uniquement les variables p1, z1, Q, R, et α. Nous allons utiliser la commande PURGE pour effacer la variable p1. Appuyez sur Page 2-69 ³@@p1@@ ` I @PURGE@. L’affichage indique maintenant que la variable p1 a été effacée : Pour effacer deux variables simultanément, par exemple les variables R et Q, créez tout d’abord une liste (en mode RPN, il n’est pas nécessaire de séparer les éléments d’une liste par des virgules, contrairement au mode Algébrique) : J „ä³ @@@R!@@ ™ ³ @@@Q!@@ `. Ensuite, appuyez sur I@PURGE@ pour effacer les variables. Les fonctions UNDO et CMD Les fonctions UNDO et CMD sont utiles pour récupérer des commandes récentes, ou pour annuler une opération si une erreur a été commise. Ces fonctions sont associées à la touche HIST : la séquence de touches ‚¯, donne accès à la fonction UNDO, tandis que la commande CMD est accessible par la combinaison „®. Pour illustrer le fonctionnement de UNDO, essayez l’exercice suivant en mode Algébrique (ALG) : 5*4/3`. La commande UNDO (‚¯) va simplement effacer le résultat. Le même exercice en mode RPN utilise la séquence de touches : 5`4`*3`/. L’utilisation de ‚¯ à ce moment-là va permettre d’annuler l’opération la plus récente (20/3), ce qui replace les termes de départ dans la pile : Pour illustrer le fonctionnement de la commande CMD, entrons les données suivantes en mode ALG. Appuyez sur ` après chaque donnée. Ensuite, utilisez la fonction CMD („®) pour afficher les quatre commandes les plus récentes entrées par l’utilisateur, c’est-à-dire : Page 2-70 Vous pouvez utiliser les touches directionnelles vers le bas et vers le haut (— ˜) pour vous déplacer dans la liste de ces commandes et pour surligner celle qui vous intéresse. Une fois que vous avez sélectionné la commande, appuyez sur @@@OK@@@. La fonction CMD s’applique de la même façon en mode RPN, mis à part le fait que la liste des commandes affiche seulement les nombres ou les expressions algébriques. Les fonctions saisies n’apparaissent pas. A titre d’exemple, essayez l’exercice suivant en mode RPN : 5`2`3/*S ³ S5*2`. En appuyant sur „®, on obtient le cadre suivant : Comme vous pouvez le constater, les chiffres 3, 2 et 5, utilisés dans le premier calcul ci-dessus, sont affichés dans le cadre de sélection, de même que l’expression algébrique ‘SIN(5x2)’. Par contre, la fonction SIN saisie précédemment dans l’expression algébrique, n’apparaît pas. Indicateurs Un indicateur est une valeur booléenne, qui peut être activée ou désactivée et qui spécifie un paramètre donné de la calculatrice ou une option de programme. Les indicateurs de la calculatrice sont identifiés par des numéros. Il existe 256 indicateurs, numérotés de -128 à 128. Les indicateurs positifs sont appelés indicateurs de l’utilisateur et sont disponibles pour l’utilisateur pour des applications de programmation. Les indicateurs négatifs sont appelés indicateurs système et s’appliquent au fonctionnement de la calculatrice. Page 2-71 Pour afficher l’indicateur du système actuel, appuyez sur le bouton H puis sur la touche de menu @FLAGS! (c’est-à-dire F1). Vous obtiendrez un écran appelé SYSTEM FLAGS qui affiche la liste des numéros des indicateurs système et leur état respectif. (Note: Sur cet écran, puisque seuls les indicateurs système sont présents, c’est la valeur absolue de leur numéro qui est affichée). On dit qu’un indicateur est actif s’il présente une marque de validation () en face de son numéro. Sinon, l’indicateur n'est pas actif ou a été désactivé. Pour modifier l’état d’un indicateur système, appuyez sur la touche de menu @@CHK@@! lorsque l’indicateur que vous voulez modifier est surligné, ou bien utilisez la touche \. Vous pouvez utiliser les touches directionnelles vers le bas ou vers le haut (—˜) pour vous déplacer dans la liste des indicateurs système. Bien qu’il existe 128 indicateurs système, tous ne sont pas disponibles et certains d’entre eux sont utilisés pour la commande du système interne. Les indicateurs système auquel l’utilisateur n’a pas accès ne sont pas affichés à l’écran. La liste complète des indicateurs est présentée au Chapitre 24. Exemple d’activation d’un indicateur : solutions générales ou valeur principale Par exemple, la valeur par défaut de l’indicateur système 01 est General solutions (solutions générales). Ceci signifie que, lorsqu’une équation a plusieurs solutions, la calculatrice affichera toutes les solutions, la plupart du temps, sous la forme d’une liste. En appuyant sur la touche de menu @@CHK@@ vous pouvez modifier le paramètre de l’indicateur 01 en Principal value (valeur principale). Ce paramètre va commander à la calculatrice de ne retourner qu’une solution unique de l’équation, appelée valeur principale. Pour en voir un exemple, placez tout d’abord l’indicateur 01en position Principal Value). Appuyez à deux reprises sur @@OK@@ pour revenir en mode d’affichage normal. Nous allons essayer de résoudre une équation du second degré, par exemple, t2+5t+6 = 0, en utilisant la commande QUAD. Page 2-72 Mode Algébrique Utilisez la séquence de touches suivante : ‚N~q (utilisez les touches directionnelles vers le haut et vers le bas, —˜, pour sélectionner la commande QUAD) , appuyez sur @@OK@@ . Pour entrer l’équation en tant que premier argument de la fonction QUAD, utilisez la séquence suivante : ‚O~ „t Q2™+5*~ „t+6—— ‚Å0` ‚í ~ „t` Voici le résultat : Maintenant, remplacez le paramètre de l’indicateur 01 par General solutions: H@FLAGS@ @@CHK@@ @@OK@@ @@OK@@ . Et réessayez la résolution de l’équation : — —``. La solution contient maintenant deux valeurs : Mode RPN Placez tout d’abord l’indicateur 01 (en position Principal Value). Appuyer deux fois sur @@OK@@ pour revenir en mode d’affichage normal. Ensuite, entrez l’équation du second degré de la façon suivante : ‚O~ „t Q2™+5*~ „t+6—— ‚Å0` ` (en en gardant une deuxième copie dans la pile RPN) ³~ „t` Page 2-73 Composez la séquence de touches suivante pour entrer la commande QUAD : ‚N~q (utilisez les touches directionnelles vers le haut et vers le bas, —˜, pour sélectionner la commande QUAD), et appuyez sur @@OK@@ . L’écran affiche la solution principale : Maintenant, remplacez le paramètre de l’indicateur 01 par General solutions: H@FLAGS@ @@CHK@@ @@OK@@ @@OK@@ . Et réessayez la résolution de l’équation : ƒ³~ „t` ‚N~q (utilisez les touches directionnelles vers le haut et vers le bas, —˜ , pour sélectionner la commande QUAD) et appuyez sur @@OK@@ . La solution contient maintenant deux valeurs : Autres indicateurs utiles Affichez à nouveau le paramètre de l’indicateur actuel en appuyant sur le bouton H puis sur la touche de menu @FLAGS! Faites attention de libérer l’indicateur système 01, qui a été coché dans l’exercice précédent. Utilisez les touches directionnelles vers le bas et vers le haut (—˜) pour vous déplacer dans la liste des indicateurs système.. Voici la liste des indicateurs utiles et de leurs valeurs préférées pour effectuer les exercices suivants du manuel : 02 Constant → symb: Les valeurs constantes (par exemple π) sont affichées en tant que symboles. 03 Function → symb: Les fonctions ne sont pas calculées automatiquement mais sont entrées en tant qu’expressions symboliques. 27 ‘X+Y*i’ → (X,Y): Les nombres complexes sont représentés en tant que paires ordonnées 60 [α][α] locks: La séquence ~~ bloque le clavier alphabétique Appuyez deux fois sur @@OK@@ pour revenir en mode d’affichage normal. Page 2-74 CHOOSE boxes et Menu SOFT Dans un certain nombre d’exercices présentés dans ce chapitre nous avons pu voir des menus de commandes affichés à l’écran. Ces menus sont appelés CHOOSE boxes. Par exemple, pour utiliser la commande ORDER pour réorganiser des variables dans un directoire, nous utilisons : „°˜ Affiche le menu PROG et sélectionne MEMORY @@OK@@ ˜˜˜˜ @@OK@@ —— Affiche le menu MEMORY et sélectionne DIRECTORY Affiche le menu DIRECTORY et sélectionne ORDER @@OK@@ Active la commande ORDER Un autre moyen d’accéder à ces menus par les touches de MENU consiste à activer l’indicateur système 117. Pour activer cet indicateur, procédez comme suit : H @FLAGS! ——————— L’écran indique que l’indicateur 117 n’est pas activé (CHOOSE boxes), comme indiqué ci-dessous : Page 2-75 Appuyez sur la touche de menu @@CHK@@ pour activer l’indicateur 117 en mode MENU soft. L’écran indique que ce changement est effectif : Appuyez deux fois pour revenir en mode d’affichage normal. Maintenant, nous allons essayer de trouver la commande ORDER en utilisant les mêmes séquences de touches que précédemment, c’est-à-dire en commençant par „°. Vous remarquerez qu’à la place d’un menu, nous obtenons des indications de menu avec les différentes options du menu PROG, c’est-à-dire : Appuyez sur B pour sélectionner le menu MEMORY ()@@MEM@@). L’affichage est alors : Appuyez sur E pour sélectionner le menu DIRECTORY ()@@DIR@@) La commande ORDER apparaît maintenant à l’écran. Utilisons la touche L pour y accéder : Pour activer la commande ORDER, appuyez sur la touche de menu C(@ORDER). Page 2-76 Bien qu’il ne s’applique pas à un exemple particulier, l’exercice proposé présente les deux options de menus de la calculatrice (les CHOOSE boxes et les soft MENUs). CHOOSE boxes Certains menus servent uniquement à créer des CHOOSE boxes, par exemple : • APPS (menu APPlicationS), activé par la touche G, première touche de la deuxième ligne du clavier : • CAT (menu CATalog), activé par la touche ‚N, deuxième touche de la quatrième ligne du clavier : • Le menu HELP, activé avec I L @HELP • Le menu CMDS (CoMmanDS), activé dans l’Editeur d’équation, c’està-dire : ‚O L @CMDS Page 2-77 Chapitre 3 Calculs avec des nombres réels Ce chapitre explique comment utiliser la calculatrice pour effectuer des opérations ou pour utiliser des fonctions sur les nombres réels. Ce type d’opérations est utile pour la plupart des calculs en sciences physiques et en ingénierie. L’utilisateur devra être familier avec le clavier pour identifier certaines de ses fonctions (par exemple, SIN, COS, TAN, etc.). De plus, on suppose que le lecteur sait gérer les modes de fonctionnement de la calculatrice, c’est-à-dire sélectionner le mode opératoire (voir Chapitre 1), utiliser les menus et les CHOOSE boxes (voir Chapitre 1) et travailler avec les variables (voir Chapitre 2). Vérifier les paramètres de la calculatrice Pour vérifier les paramètres d’état de la calculatrice et les paramètres du CAS, il suffit de lire la première ligne en haut de l’écran en mode d’opération normal. Par exemple, vous pouvez lire les paramètres suivants : RAD XYZ DEC R = ‘X’ Cela signifie RADians pour les mesures d’angles, XYZ pour le système de coordonnées rectangulaires (cartésiennes), DECimale pour la base numérique, Réel pour le type de nombres privilégié, = signifie les résultats “exacts” et ‘X’ est la valeur par défaut de la variable indépendante. Une autre liste possible d’options pourrait être DEG R∠Z HEX C ~ ‘t’ Cela signifie : DEGrés pour les mesures d’angles, R∠Z pour les coordonnées polaires, HEXadécimale pour la base numérique; les nombres Complexes étant autorisés; ~ signifie que les résultats sont délivrés dans le mode d’“approximation” et ‘t’ est la variable indépendante par défaut. En général, cette partie de l’écran contient sept éléments. Chaque élément est numéroté ci-dessous de 1 à 7. Les valeurs possibles pour chaque élément sont indiquées entre parenthèses à la suite de la description de l’élément. On donne également une explication pour chacune de ces valeurs : Page 3-1 1. Spécification de mesure d’angle (DEG, RAD, GRD) DEG : degrés, 360 degrés dans un cercle complet RAD : radians, 2π radians dans un cercle complet GRD : grades, 400 grades dans un cercle complet 2. Spécification du système de coordonnées (XYZ, R∠Z, R∠∠). Le symbole ∠ indique une coordonnée angulaire XYZ : Cartésien ou rectangulaire (x,y,z) R∠Z : Coordonnées polaires cylindriques (r,θ,z) R∠∠ : Coordonnées sphériques (ρ,θ,φ) 3. Spécification de la base numérique (HEX, DEC, OCT, BIN) HEX : Nombres hexadécimaux (base 16) DEC : Nombres décimaux (base 10) OCT : Nombres octaux (base 8) BIN : Nombres binaires (base 2) 4. Spécification du mode Réel ou Complexe (R, C) R: Nombres réels C: Nombres complexes 5. Spécification du mode exact ou approximation (=, ~) = Mode (symbolique) exact ~ Mode (numérique) d’approximation 6. Variable indépendante par défaut du CAS (par exemple, ‘X’, ‘t’, etc.) Vérifier le mode de calcul En mode RPN les différents niveaux de la pile sont affichés sur la partie gauche de l’écran. Lorsque le mode ALGEBRIQUE est sélectionné, il n’y a pas de niveau de pile numéroté et le mot ALG apparaît sur la première ligne en haut de l’écran sur le côté droit. La différence entre ces deux modes d’opération est décrite en détail dans le Chapitre 1. Calculs sur les nombres réels Pour effectuer des calculs sur les nombres réels, il vaut mieux mettre le CAS en mode Real (et non Complex) . Dans certains cas, il se peut qu’un nombre complexe apparaisse et que la calculatrice vous propose de passer en mode Page 3-2 Complex. Le mode Exact est le mode par défaut pour la plupart des opérations. Et donc, vous pouvez commencer vos calculs dans ce mode. S’il est nécessaire de passer en mode Approx pour terminer une opération, la calculatrice en fera la proposition. Il n’y a pas de préférences pour le mode de mesure d’angle ni pour le choix de la base numérique. Les calculs sur les nombres réels vous seront expliqués dans le mode Algébrique (ALG) et dans le mode Reverse Polish Notation (RPN). Changer le signe d’un nombre, d’une variable ou d’une expression Utilisez la touche \. En mode ALG, vous pouvez appuyer sur \ avant d’entrer le nombre, par exemple : \2.5`. Le résultat est = -2.5. En mode RPN, il faut entrer d’abord au moins une partie du nombre et ensuite utiliser la touche \ par exemple : 2.5\. Le résultat est = -2.5. Si vous utilisez la fonction \ alors qu’il n’y a pas de ligne de commande, la calculatrice appliquera la fonction NEG (inversion de signe) à l’objet du premier niveau de la pile. Fonction inverse Utilisez la touche Y. En mode ALG, appuyez d’abord sur Y et tapez ensuite le nombre ou l’expression algébrique, par exemple : Y2. Le résultat est = ½ ou 0.5. En mode RPN, entrez d’abord le nombre, et utilisez ensuite la touche Y, par exemple : 4`Y. Le résultat est = ¼ ou 0.25. Addition, soustraction, multiplication, division Utilisez la touche d’opération appropriée, +-*/. En mode ALG, entrez un opérande, ensuite l’opérateur, puis un autre opérande, suivi d’un ` pour obtenir le résultat. Exemples : 3.7 + 5.2 ` 6.3 - 8.5 ` 4.2 * 2.5 ` 2.3 / 4.5 ` Les trois premières opérations ci-dessus sont affichées sur l’écran suivant : Page 3-3 En mode RPN, entrez les opérandes l’un après l’autre, séparés par un `, et appuyez ensuite sur la touche de l’opérateur. Exemples : 3.7` 5.2 + 6.3` 8.5 4.2` 2.5 * 2.3` 4.5 / En mode RPN, vous pouvez également séparer les opérandes avec un espace (#) avant d’appuyez sur la touche de l’opérateur. Exemples : 3.7#5.2 + 6.3#8.5 4.2#2.5 * 2.3#4.5 / Utiliser les parenthèses On utilise des parenthèses pour grouper des opérations, et aussi pour entrer les arguments des fonctions. Les parenthèses sont accessibles par la combinaison de touches „Ü. On entre toujours les parenthèses par paires. Par exemple : pour calculer (5+3.2)/(7-2.2) : En mode ALG : „Ü5+3.2™/„Ü7-2.2` En mode RPN, les parenthèses sont inutiles, le calcul est effectué directement sur la pile : 5`3.2`+7`2.2`-/ En mode RPN, vous pouvez entrer une expression comme dans le mode algébrique, en tapant l’expression entre apostrophes : ³„Ü5+3.2™/ „Ü7-2.2`µ Pour les deux modes ALG et RPN, et en utilisant l’Editeur d’équations : ‚O5+3.2™/7-2.2 L’expression peut être calculée dans l’Editeur d’équation, en utilisant : ————@EVAL@ ou, ‚—@EVAL@ Page 3-4 Fonction valeur absolue La fonction valeur absolue, ABS, est accessible par la combinaison de touches : „Ê. Lorsque vous effectuez le calcul dans la pile en mode ALG, entrez la fonction avant d’entrer l’argument, c’est-à-dire : „Ê \2.32` En mode RPN, entrez d’abord le nombre, et ensuite la fonction, c’est-à-dire : 2.32\„Ê Carrés et racines carrées La fonction carré, SQ, est accessible par la combinaison de touches : „º. Lorsque vous effectuez le calcul dans la pile en mode ALG, entrez la fonction avant d’entrer l’argument, c’est-à-dire: „º\2.3` En mode RPN, entrez d’abord le nombre, et ensuite la fonction, c’est-à-dire : 2.3\„º La fonction racine carrée, √, est accessible par la touche R. Lorsque vous effectuez le calcul dans la pile en mode ALG, entrez la fonction avant d’entrer l’argument, c’est-à-dire : R123.4` En mode RPN, entrez d’abord le nombre, et ensuite la fonction, c’est-à-dire : 123.4R Puissances et racines La fonction puissance, ^, est accessible par la touche Q. Lorsque vous effectuez le calcul dans la pile en mode ALG, entrez la base (y) suivie par la touche Q, et entrez ensuite l’exposant (x), c’est-à-dire : 5.2Q1.25 En mode RPN, entrez d’abord le nombre, et ensuite la fonction, c’est-à-dire : 5.2`1.25`Q La fonction racine, XROOT(y,x), est accessible par la combinaison de touches ‚». Lorsque vous effectuez le calcul dans la pile en mode ALG, entrez la fonction XROOT suivie des arguments (y,x), séparés par des virgules, c’està-dire : ‚»3‚í 27` Page 3-5 En mode RPN, entrez d’abord l’argument y, ensuite x, et enfin la fonction, c’est-à-dire : 27`3`‚» Logarithmes en base 10 et puissances de 10 Les logarithmes en base 10 sont calculés par la combinaison de touches ‚à (fonction LOG), alors que la fonction inverse (ALOG ou antilogarithme) est calculée en utilisant „Â. En mode ALG, on entre la fonction avant l’argument : ‚Ã2.45` „Â\2.3` En mode RPN, on entre l’argument avant la fonction : 2.45` ‚à 2.3\` „ Entrer des données avec des puissances de 10 On entre les puissances de dix, c’est-à-dire les nombres de la forme -4.5×10-2, etc., en utilisant la touche V. Par exemple : en mode ALG : \4.5V\2` Ou, en mode RPN : 4.5\V2\` Logarithmes népériens et fonction exponentielle Les logarithmes népériens (c’est-à-dire les logarithmes en base e = 2.7182818282) sont calculés avec la combinaison de touches ‚¹ (fonction LN) alors que leur fonction inverse, la fonction exponentielle (fonction EXP) est calculée en utilisant „¸. En mode ALG, on entre la fonction avant l’argument : ‚¹2.45` „¸\2.3` En mode RPN, on entre l’argument avant la fonction : 2.45` ‚¹ 2.3\` „¸ Fonctions trigonométriques Trois fonctions trigonométriques sont accessibles directement sur le clavier: le sinus (S), le cosinus (T), et la tangente (U). Les arguments de ces fonctions sont des angles et donc, ils peuvent être entrés dans l’un ou l’autre Page 3-6 des systèmes de mesure d’angle (degrés, radians, grades). Par exemple, avec l’option DEG sélectionnée, nous pouvons calculer les fonctions trigonométriques suivantes : En mode ALG: S30` T45` U135` En mode RPN: 30`S 45`T 135`U Fonctions trigonométriques inverses Les fonctions trigonométriques inverses disponibles sur le clavier sont arc sinus (ASIN), arc cosinus (ACOS) et arc tangente (ATAN) et elles sont accessibles respectivement par les combinaisons de touches „¼, „¾ et „À. Puisque les fonctions trigonométriques inverses représentent des angles, le résultat de ces fonctions sera donné dans l’unité de mesure d’angles sélectionnée (DEG, RAD, GRD). Des exemples sont donnés ci-dessous : En mode ALG: „¼0.25` „¾0.85` „À1.35` En mode RPN: 0.25`„¼ 0.85`„¾ 1.35`„À Toutes les fonctions décrites ci-dessus, ABS, SQ, √, ^, XROOT, LOG, ALOG, LN, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN, peuvent être combinées avec les opérateurs fondamentaux (+-*/) pour former des expressions plus complexes. L’Editeur d’équations, dont le fonctionnement est décrit au Chapitre 2, est l’outil idéal pour construire ce type d’expressions, quel que soit le mode d’opération de la calculatrice. Différences entre fonctions et opérateurs Les fonctions telles que, ABS, SQ, √, LOG, ALOG, LN, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN ne nécessitent qu’un argument. Ainsi, leur application en Page 3-7 mode ALG est directe, par exemple : ABS(x). Les fonctions telles que XROOT nécessitent deux arguments, par exemple : XROOT(x,y). Cette fonction correspond à la séquence de touches ‚». En revanche, les opérateurs sont placés après un argument unique ou entre deux arguments. L’opérateur factoriel (!), ainsi, est placé après un nombre, par exemple : 5~‚2`. Puisque cet opérateur nécessite un argument unique, on l’appelle opérateur unitaire. Les opérateurs qui requièrent deux arguments, comme + - * / Q, sont des opérateurs binaires, par exemple : 3*5, or 4Q2. Fonctions réelles dans le menu MTH Le menu MTH (MaTHématiques) contient un certain nombre de fonctions mathématiques, dont la plupart sont applicables à des nombres réels. Pour accéder au menu MTH, utilisez la combinaison de touches suivante „´. Avec le paramètre par défaut pour l’indicateur système 117 sur la position CHOOSE boxes (voir Chapitre 2), le menu MTH est affiché sous la forme du menu suivant : Comme la calculatrice contient un grand nombre de fonctions mathématiques, le menu MTH est classé par type d’objets auquel chaque fonction s’applique. Par exemple : les options 1. VECTOR.., 2. MATRIX., et 3. LIST.. s’appliquent aux types de données vecteurs, matrices et listes et seront détaillées dans les chapitres suivants. Les options 4. HYPERBOLIC et 5. REAL s’appliquent aux nombres réels et seront présentées en détail plus bas. L’option 6. BASE.. utilisée pour convertir des nombres entre différentes bases sera aussi présentée dans un autre chapitre. L’option 7. PROBABILITY. est utilisée dans les calculs de probabilités et sera présentée dans l’un des chapitres suivants. L’option 8. FFT.. (Fast Fourier Transform) est une application de traitement du signal et sera décrite dans un autre chapitre. L’option 9. COMPLEX.. contient des fonctions appropriées aux nombres complexes, qui seront décrites dans le Page 3-8 chapitre suivant. L’option 10. CONSTANTS donne accès aux constantes de la calculatrice. Cette option sera présentée plus loin dans ce paragraphe. Enfin, l’option 11. SPECIAL FUNCTIONS.. contient des fonctions de mathématiques avancées qui seront également présentées dans ce paragraphe. De façon générale, pour appliquer ces fonctions, vous devez connaître le nombre et l’ordre des arguments nécessaires, et vous souvenir que, en mode ALG vous devez d’abord sélectionner la fonction et ensuite entrer l’argument, alors qu’en mode RPN, vous devez d’abord entrer l’argument dans la pile avant de sélectionner la fonction. Utiliser les menus de la calculatrice: 1. Puisque le fonctionnement des différentes fonctions MTH (ainsi que de nombreux autres menus de la calculatrice) est identique, nous allons décrire en détail l’utilisation du menu 4. HYPERBOLIC dans le but de décrire le fonctionnement général des menus de la calculatrice. Faites bien attention à la méthode de sélection des différentes options. 2. Pour sélectionner rapidement l’une des nombreuses options dans un menu (ou dans une CHOOSE boxes), appuyez simplement sur le numéro de l’option au clavier. Par exemple, pour sélectionner l’option 4. HYPERBOLIC.. dans le menu MTH, appuyez simplement sur 4. Fonctions hyperboliques et leurs inverses En choisissant l’option 4. HYPERBOLIC.. dans le menu MTH et en appuyant sur @@OK@@, on obtient le menu de fonctions hyperboliques suivant : Les fonctions hyperboliques sont : Sinus hyperbolique, SINH, et son inverse, ASINH ou sinh-1 Cosinus hyperbolique, COSH, et son inverse, ACOSH ou cosh-1 Tangente hyperbolique, TANH, et son inverse, ATANH ou tanh-1 Ce menu contient également les fonctions : Page 3-9 EXPM(x) = exp(x) – 1, LNP1(x) = ln(x+1). Enfin, l’option 9. MATH, permet de revenir au menu MTH. Par exemple, en mode ALG, la séquence de touches qui permet de calculer tanh(2.5), est la suivante : „´ Sélectionnez le menu MTH. 4 @@OK@@ Sélectionnez le menu 4. HYPERBOLIC.. 5 @@OK@@ Sélectionnez la fonction 5. TANH 2.5` Calcule tanh(2.5) L’écran affiche le résultat suivant : En mode RPN, la séquence de touches qui permet ce calcul est la suivante : 2.5` Entre l’argument dans la pile „´ Sélectionnez le menu MTH. 4 @@OK@@ Sélectionnez le menu 4. HYPERBOLIC.. 5 @@OK@@ Sélectionnez la fonction 5. TANH Le résultat est : Les opérations décrites ci-dessus supposent que vous utilisiez le paramètre par défaut pour l’indicateur système 117 (CHOOSE boxes). Si vous avez changé l’état de cet indicateur (voir Chapitre 2) en menu SOFT, le menu MTH apparaîtra sous forme d’indicateurs des touches de menu, comme indiqué cidessous (en mode ALG à gauche et en mode RPN à droite) : En appuyant sur L, on affiche le reste des options : Page 3-10 Note: En appuyant sur „«on affichera la première partie des options MTH. De plus, en utilisant la combinaison ‚˜on affichera toutes les fonctions du menu à l’écran, comme indiqué ci-dessous. Ainsi, pour sélectionner, par exemple, le menu des fonctions hyperboliques, avec ce format de menu, appuyez sur )@@HYP@ , ce qui donne : Enfin, pour sélectionner, par exemple, la fonction tangente hyperbolique (tanh), appuyez simplement sur @@TANH@. Note: Pour afficher des options supplémentaires sur ces touches de menu, appuyez sur la touche L ou sur la combinaison de touches „«. Par exemple, pour calculer tanh(2.5), en mode ALG, en utilisant les Menus SOFT plutôt que les CHOOSE boxes, procédez ainsi : „´ )@@HYP@ @@TANH@ 2.5` Sélectionnez le menu MTH Sélectionne le menu HYPERBOLIC. Sélectionne la fonction TANH. Calcule tanh(2.5) En mode RPN, on calcule la même valeur en utilisant : 2.5` Entre l’argument dans la pile „´ Sélectionnez le menu MTH )@@HYP@ Sélectionne le menu HYPERBOLIC. Page 3-11 @@TANH@ Sélectionne la fonction TANH A titre d’exercice d’application des fonctions hyperboliques, vérifiez les valeurs suivantes : SINH (2.5) = 6.05020.. SINH-1(2.0) = 1.4436… COSH (2.5) = 6.13228.. ACOSH-1(2.0) = 1.3169… TANH (2.5) = 0.98661.. TANH-1(0.2) = 0.2027… EXPM (2.0) = 6.38905…. LNP1(1) = 0.69314…. Encore une fois, le processus général expliqué dans ce paragraphe peut s’appliquer à toute sélection d’options dans n’importe lequel des menus de calcul. Fonctions réelles Choisir l'option 5. REAL.. dans le menu MTH, avec l’ indicateur système 117 paramétré sur CHOOSE boxes, produit la liste de menu suivant : L’option 19. MATH.. permet de revenir au menu MTH. Les autres fonctions sont groupées en six différents groupes décrits ci-dessous. Si l’indicateur système 117 est en position Menus SOFT, le menu des fonctions réelles REAL apparaîtra comme suit (si, comme ici, on utilise le mode ALG, mais les mêmes touches de menu seront également accessibles en mode RPN): Page 3-12 La toute dernière option, )@@MTH@, permet de revenir au menu, MTH. Fonctions pourcentage On utilise ces fonctions pour calculer des pourcentages et d’autres valeurs qui leurs sont associées de la façon suivante : % (y,x) : calcule x pour cent de y %CH(y,x) : calcule 100(y-x)/x, c'est-à-dire le changement de pourcentage, la différence entre deux nombres. %T(y,x) : calcule 100 x/y, c'est-à-dire le total du pourcentage, la partie qu'un nombre (x) est d'un autre nombre (y). Ces fonctions requièrent deux arguments. Nous illustrons le calcul de %T(15,45), c’est-à-dire le calcul de 15% de 45, plus loin. Nous supposons que le mode de calcul est ALG, et que l’indicateur système 117 est en position CHOOSE boxes. La procédure est la suivante : „´ Sélectionnez le menu MTH 5 @@OK@@ Sélectionnez le menu 5. REAL.. 3 @@OK@@ Sélectionnez la fonction 5. %T 15 Entrez le premier argument ‚í Entrez une virgule pour séparer les arguments 45 Entrez le deuxième argument ` Calculez la fonction Le résultat est le suivant : En mode RPN, souvenez-vous que l’argument y se trouve dans le deuxième niveau de la pile, alors que l’argument x se trouve dans le premier niveau de la pile. Cela signifie que vous devez d’abord entrer x et ensuite y, comme en mode ALG. Ainsi, pour calculer %T(15,45), en mode RPN, et avec l’indicateur système 117 en position CHOOSE boxes, nous procéderons comme suit : 15` Entrez le premier argument Page 3-13 45` „´ 5 @@OK@@ 3 @@OK@@ Entrez le deuxième argument Sélectionnez le menu MTH Sélectionnez le menu 5. REAL.. Sélectionnez la fonction 5. %T Note: Les exercices de cette section illustrent l’utilisation générale des fonctions à deux arguments. On peut généraliser le fonctionnement des fonctions de 3 arguments ou plus à partir de ces exemples. A titre d’exercice utilisant les fonctions associées aux pourcentages, vérifiez le calcul des valeurs suivantes : %(5,20) = 1, %CH(22,25) = 13.6363, %T(500,20) = 4 Minimum et maximum Utilisez ces fonctions pour déterminer le minimum ou le maximum de deux arguments. MIN(x,y) : valeur minimale de x et y MAX(x,y) : valeur maximale de x et y A titre d’exercice, vérifiez que MIN(-2,2) = -2, MAX(-2,2) = 2 Modulo MOD: y mod x = reste de y/x, c’est-à-dire que, si x et y sont deux nombres entiers, y/x = d + r/x, où d = quotient, r = reste. On a alors, r = y mod x. Veuillez noter que MOD n’est pas une fonction, mais un opérateur, et donc, en mode ALG, MOD devra être utilisé en tant que y MOD x et non pas en tant que MOD(y,x). Ainsi, l’utilisation de MOD est identique à celle de +, -, *, /. A titre d’exercice, vérifiez que 15 MOD 4 = 15 mod 4 = reste de 15/4 = 3 Valeur absolue, signe, mantisse, exposant, entier et parties décimales ABS(x) : calcule la valeur absolue, |x| SIGN(x) : détermine le signe de x, qui est, -1, 0, ou 1. MANT(x) : détermine la mantisse d’un nombre en log10. XPON(x) : détermine la puissance d’un nombre réel Page 3-14 IP(x) : détermine la partie entière d’un nombre réel FP(x) : détermine la partie fractionelle d’un nombre réel A titre d’exercice, vérifiez que ABS(-3) = |-3| = 3, SIGN(-5) = -1, MANT(2540) = 2.540, XPON(2540) = 3, IP(2.35) = 2, FP(2.35) = 0.35. Fonctions d’arrondi, de troncage, par défaut (floor), et par excès (ceiling) RND(x,y) : arrondit y avec x décimales TRNC(x,y) : tronque y avec x décimales FLOOR(x) : entier immédiatement inférieur ou égal à x CEIL(x) : entier immédiatement supérieur ou égal à x A titre d’exercice, vérifiez que RND(1.4567,2) = 1.46, TRNC(1.4567,2) = 1.45, FLOOR(2.3) = 2, CEIL(2,3) = 3 Fonctions de conversions de radians en degrés et de degrés en radians D→R (x) : convertit des degrés en radians R→D (x) : convertit des radians en degrés. A titre d’exercice, vérifiez que DR(45) = 0.78539 (i.e., 45o = 0.78539rad), RD(1.5) = 85.943669.. (i.e., 1.5rad = 85.943669..o). Fonctions spéciales Option 11. Special functions… dans le menu MTH contient les fonctions suivantes : GAMMA: PSI: Psi: La fonction Gamma Γ(α) N-ième dérivée de la fonction digamma Fonction digamma, dérivée de ln(Gamma) La fonction Gamma est définie par Γ (α ) = ∫ ∞ 0 x α −1e − x dx . Cette fonction trouve des applications en mathématiques appliquées aux sciences et à l’ingénierie, ainsi qu’en probabilités et en statistiques. Page 3-15 Factorial of a number La factorielle d’un nombre entier positif n est définie par n!=n⋅(n-1)⋅(n2) …3⋅2⋅1, avec 0! = 1. La fonction factorielle est accessible en utilisant ~‚2. Dans l’un des deux modes ALG et RPN, entrez d’abord le nombre, et ensuite la séquence ~‚2. Exemple: 5~‚2`. La fonction Gamma, définie ci-dessus, a la propriété suivante : Γ(α) = (α−1) Γ(α−1), pour α > 1. Et donc, elle est liée à la factorielle d’un nombre, par la relation Γ(α) = (α−1)!, si α est un entier positif. Nous pouvons également utiliser la fonction factorielle pour calculer la fonction Gamma, et inversement. Par exemple : Γ(5) = 4! ou, 4~‚2`. La fonction factorielle est accessible par le menu MTH, par le menu 7. PROBABILITY.. La fonction PSI, Ψ(x,y), représente la yième dérivée de la fonction digamma, dn ψ ( x) , où ψ(x) est la fonction digamma, encore c’est-à-dire : Ψ ( n, x) = dx n appelée fonction Psi. Pour cette fonction, y doit être un nombre positif. La fonction Psi, ψ(x), ou fonction digamma, est définie par ψ ( x ) = ln[Γ( x)] . Des exemples de ces fonctions spéciales sont illustrés ici en modes ALG et RPN. A titre d’exercice, vérifiez que GAMMA(2.3) = 1.166711…, PSI(1.5,3) = 1.40909.. et Psi(1.5) = 3.64899739..E-2. Ces calculs sont indiqués sur l’affichage suivant : Page 3-16 Les constantes de la calculatrice Les valeurs suivantes sont les constantes mathématiques de votre calculatrice : • e: base des logarithmes népériens. • i: unité imaginaire complexe, ii 2 = -1. • π: rapport du périmètre d’un cercle et de son diamètre. • MINR: le plus petit nombre réel de la calculatrice. • MAXR: le plus grand nombre réel de la calculatrice. Pour accéder à ces constantes, sélectionner l’option 11. CONSTANTS dans le menu MTH, La liste des constantes est affichée ainsi : Sélectionner l’un de ces objets aura pour effet de placer cet objet, que ce soit un symbole (ex. : e, i, π, MINR, ou MAXR) ou une valeur (2.71.., (0,1), 3.14.., 1E-499, 9.99..E499) dans la pile. Veuillez noter que e est également accessible par le clavier en tant que exp(1), c’est-à-dire „¸1`, en mode ALG, ou 1` „¸, en mode RPN. La valeur π est également accessible directement depuis le clavier, en tant que „ì. Et enfin, i est accessible en utilisant „¥. Page 3-17 Opérations sur les unités Il est possible d’associer des unités aux nombres de la calculatrice. Ainsi, il est possible de calculer des résultats qui impliquent un système d’unités cohérent et de produire un résultat avec la combinaison d’unités appropriée. Le menu des unités (UNITS) On lance le menu des unités par la combinaison de touches ‚Û(associée à la touche 6). Avec l’indicateur système 117 paramétré sur CHOOSE boxes, vous obtenez le menu suivant : Option 1. Tools.. contient des fonctions d’opérations sur les unités (sera présenté plus loin). Options 3. Length.. jusqu'à 17. Viscosity.. contiennent des menus avec un certain nombre d’unités pour chacune des quantités décrites. Par exemple, choisir l'option 8. Force.. affiche le menu des unités suivant : L’utilisateur reconnaîtra la plupart de ces unités (certaines d’entre elles, comme la dyne, ne sont plus très utilisées de nos jours) vues en cours de physique : N = newtons, dyn = dynes, gf = grammes – force (pour les Page 3-18 distinguer des grammes-masse, une unité de masse), kip = kilo-livres (1000 livres), lbf = livre-force (pour les distinguer des livres-masse),pdl = poundal. Pour affecter une unité à un nombre, le nombre doit être suivi d’un symbole ‘souligné’. Ainsi, une force de 5 N sera entrée en tant que 5_N. Pour effectuer des opérations plus complètes sur les unités, les touches menu SOFT permettent d’associer des unités de façon plus pratique. Changez l’indicateur système 117 en menu SOFT (voir Chapitre 1) et utilisez la combinaison de touches ‚Û pour obtenir les menus suivants. Appuyer sur L pour afficher la page de menu suivante : En appuyant sur les touches de menu, on pourra ouvrir des sous-menus d’unités de la section en question. Par exemple, pour le sous-menu @)SPEED, les unités suivantes sont disponibles : En appuyant sur les touches de menu @)UNITS, on revient au menu des unités (UNITS). Souvenez-vous que vous pouvez à tout moment afficher tous les composants du menu à l’écran en tapant ‚˜, et ainsi, pour l’ensemble des unités @)ENRG les indicateurs suivants apparaîtront : Page 3-19 Note: Utilisez la touche L ou la combinaison de touches „« pour naviguer dans les menus. Unités disponibles La liste des unités disponibles dans le menu des unités (UNITS) est donnée cidessous. Le symbole de l’unité est indiqué, suivi par le nom de l’unité entre parenthèses : LENGTH (LONGUEUR) m (mètre), cm (centimètre), mm (millimètre), yd (yard), ft (pied), in (pouce), Mpc (Mega parsec), pc (parsec), lyr (année lumière), au (unité astronomique), km (kilomètre), mi (mile international), nmi (mile nautique), miUS (mile américain), chain (chaîne), rd (perche), fath (brasse), ftUS (pied américain), Mil (Mil), µ (micron), Å (Angstrom), fermi (fermi) AREA (SURFACE) m^2 (mètre carré), cm^2 (centimètre carré), b (barn), yd^2 (yard carré), ft^2 (pied carré), in^2 (pouce carré), km^2 (kilomètre carré), ha (hectare), a (are), mi^2 (mile carré), miUS^2 (mile américain carré), acre (acre) VOLUME m^3 (mètre cube), st (stère), cm^3 (centimètre cube), yd^3 (yard cube), ft^3 (pied cube), in^3 (pouce cube), l (litre), galUK (gallon britannique), galC (gallon canadien), gal (gallon américain), qt (quart), pt (pinte), ml (millilitre), cu (tasse américaine), ozfl (once fluide américain), ozUK (once fluide britannique), tbsp (cuillère à soupe), tsp (cuillère à café), bbl (baril), bu (boisseau), pk (pincée), fbm (board foot) TIME (TEMPS) yr (année), d (jour), h (heure), min (minute), s (seconde), Hz (hertz) SPEED (VITESSE) m/s (mètre par seconde), cm/s (centimètre par seconde), ft/s (pieds par seconde), kph (kilomètre heure), mph (mile heure), knot (noeud), c (vitesse de la lumière), ga (constante de gravité) Page 3-20 MASS (MASSE) kg (kilogramme), g (gramme), Lb (livre), oz (once), slug (balle), lbt (livre Troy), ton (short ton), tonUK (long ton), t (tonne), ozt (Troy once), ct (carat), grain (grain), u (unité de masse atomique), mol (mole) FORCE N (newton), dyn (dyne), gf (gramme-force), kip (kilolivre-force), lbf (livre-force) ENERGY (ENERGIE) J (joule), erg (erg), Kcal (kilocalorie), Cal (calorie), Btu (International table btu), ft×lbf (pied-livre), therm (EEC therm), MeV (mega electron-volt), eV (electronvolt) POWER (PUISSANCE) W (watt), hp (cheval vapeur), PRESSURE (PRESSION) Pa (pascal), atm (atmosphère), bar (bar), psi (livres par pouce carré), torr (torr), mmHg (millimètres de mercure), inHg (pouces de mercure), inH20 (pouces d’eau), TEMPERATURE C (degré Celsius), o F (degré Fahrenheit), K (Kelvin), o R (degré Rankine), o ELECTRIC CURRENT (MESURES ELECTRIQUES) V (volt), A (ampère), C (coulomb), Ω (ohm), F (farad), W (watt), Fdy (faraday), H (henry), mho (mho), S (siemens), T (tesla), Wb (weber) ANGLE (mesures d'angles plans et solides) (degré), r (radian), grad (grade), arcmin (minute d’arc), arcs (second d’arc), sr (stéradian) o LIGHT (LUMIERE-Mesures d’illumination) fc (footcandle), flam (footlambert), lx (lux), ph (phot), sb (stilb), lm (lumem), cd (candela), lam (lambert) Page 3-21 RADIATION Gy (gray), rad (rad), rem (rem), Sv (sievert), Bq (becquerel), Ci (curie), R (roentgen) VISCOSITY (VISCOSITE) P (poise), St (stokes) Unités non énumérées Les unités qui ne sont pas énumérées dans le menu des unités mais sont disponibles dans la calculatrice sont les suivantes :gmol (gramme-mole), lbmol (livre-mole), rpm (tours par minute), dB (décibels). On peut accéder à ces unités par le menu 117.02, en utilisant MENU(117.02) en mode ALG, ou 117.02 ` MENU en mode RPN. Le menu suivant apparait sur l'écran (utilisez ‚˜ pour montrer les noms) : On peut aussi accéder à ces unités dans le catalogue, et, par exemple : gmol: lbmol: rpm: dB: ‚N~„g ‚N~„l ‚N~„r ‚N~„d Convertir en unités de base Pour convertir l’une de ces unités en une unité par défaut du Système International, utilisez la fonction UBASE. Par exemple, pour trouver la valeur de 1 poise (unité de viscosité) en unités SI, faites : En mode ALG, avec l’indicateur système 117 en position CHOOSE boxes : ‚Û Sélectionnez le menu unités (UNITS) Page 3-22 @@OK@@ ˜ @@OK@@ 1 ‚Ý ‚Û — @@OK@@ @@OK@@ ` Sélectionnez le menu outils (TOOLS) Sélectionnez la fonction UBASE Entrez 1 et souligner Sélectionnez le menu unités (UNITS) Sélectionnez l’option viscosité (VISCOSITY) Sélectionnez le menu unités (UNITS) Convertissez les unités Ceci produit l’affichage suivant (à savoir : 1 poise = 0.1 kg/(m⋅s)): En mode RPN, avec l’indicateur système 117 en position CHOOSE boxes : 1 Entrez 1 (sans souligner) ‚Û Sélectionnez le menu unités (UNITS) — @@OK@@ Sélectionnez l’option viscosité (VISCOSITY) @@OK@@ Sélectionnez l’unité P (poise) ‚Û Sélectionnez le menu unités (UNITS) @@OK@@ Sélectionnez le menu outils (TOOLS) ˜ @@OK@@ Sélectionnez la fonction UBASE En mode ALG, avec l’indicateur ‚Û )@TOOLS @UBASE 1 ‚Ý ‚Û „« @)VISC @@@P@@ ` système 117 en position menus SOFT : Sélectionnez le menu unités (UNITS) Sélectionnez le menu outils (TOOLS) Sélectionnez la fonction UBASE Entrez 1 et souligner Sélectionnez le menu unités (UNITS) Sélectionnez l’option viscosité (VISCOSITY) Sélectionnez l’unité P (poise) Convertissez les unités En mode RPN, avec l’indicateur système 117 en position menus SOFT : 1 Entrez 1 (sans souligner) ‚Û Sélectionnez le menu unités (UNITS) Page 3-23 „« @)VISC @@@P@@ ‚Û )@TOOLS @UBASE Sélectionnez Sélectionnez Sélectionnez Sélectionnez Sélectionnez l’option viscosité (VISCOSITY) l’unité P (poise) le menu unités (UNITS) le menu outils (TOOLS) la fonction UBASE Associer des unités à des nombres Pour affecter une unité à un nombre, le nombre doit être suivi d’un symbole ‘souligné (‚Ý, key(8,5)). Ainsi, une force de 5 N sera entrée en tant que 5_N. Voici la séquence à suivre pour entrer ce nombre en mode ALG, avec l’indicateur système en position CHOOSE boxes. 5‚Ý ‚Û 8@@OK@@ @@OK@@ ` Entrez le nombre et le symbole souligné Sélectionnez le menu unités (UNITS) Sélectionnez les unités de force (8. Force..) Sélectionnez Newtons (N) Entrez la quantité avec les unités dans la pile L’affichage est alors le suivant : Note: Si vous oubliez le symbole souligné, le résultat est l’expression 5*N, et N représente ici un nom de variable et non des Newtons. Pour entrer la même quantité, en mode RPN, utiliser la séquence de touches suivante : 5 Entrez le nombre (pas de symbole souligné) ‚Û Sélectionnez le menu unités (UNITS) 8@@OK@@ Sélectionnez les unités de force (8. Force..) @@OK@@ Sélectionnez Newtons (N) Page 3-24 Vous remarquerez que le symbole souligné apparaît automatiquement, lorsque le mode RPN est actif. On obtient l’affichage suivant : Comme cela est expliqué plus haut, si l’indicateur système 117 est en position menus SOFT, le menu des unités (UNITS) apparaîtra sous la forme d’indications des touches de menu. Cette option est très pratique si vous souhaitez effectuer des opérations avec des unités de façon répétée. Les séquences de touches utilisées pour entrer les unités, lorsque l’option menu SOFT est sélectionnée, sont décrites ci-dessous, pour les modes ALG et RPN. Par exemple, en mode ALG, pour entrer la quantité 5_N, utilisez la séquence suivante : 5‚Ý ‚Û L @)@FORCE @ @@N@@ ` Entrez le nombre et le symbole souligné Sélectionnez le menu unités (UNITS) Sélectionnez les unités de force Sélectionnez Newtons (N) Entrez la quantité avec les unités dans la pile Pour la même quantité, en mode RPN, utilisez la séquence suivante : 5 Entrez le nombre (pas de symbole souligné) ‚Û Sélectionnez le menu unités (UNITS) L @)@FORCE Sélectionnez les unités de force @ @@N@@ Sélectionnez Newtons (N) Note: Vous pouvez entrer une quantité avec ses unités en entrant le symbole souligné et les unités avec le ~ du clavier. Par exemple, 5‚Ý~n donnera le résultat : 5_N Les préfixes d’unités Vous pouvez utiliser les préfixes d’unités selon la table des préfixes du Système International qui suit. Page 3-25 L’abréviation du préfixe est indiquée et est suivie du nom et de l’exposant x de la puissance de 10x correspondant à chaque préfixe : ___________________________________________________ Préfixe Nom x Préfixe Nom x ____________________________________________________ Y iotta +24 d deci -1 Z zetta +21 c centi -2 E exa +18 m milli -3 P peta +15 µ micro -6 T tera +12 n nano -9 G giga +9 p pico -12 M mega +6 f femto -15 k,K kilo +3 a atto -18 h,H hecto +2 z zepto -21 D(*) deca +1 y yocto -24 _____________________________________________________ (*) Dans le système international, ce préfixe est da et non D. Cependant, dans la calculatrice, on utilisera D pour deca. Pour entrer ces préfixes, tapez simplement le préfixe en utilisant la touche ~ sur le clavier. Par exemple, pour entrer 123 pm (123 picomètres), utilisez la séquence : 123‚Ý~„p~„m En utilisant UBASE pour convertir ce nombre en unités par défaut (1 m), on obtient : Opérations sur les unités Une fois qu’une quantité et ses unités sont entrés dans la pile, on peut les utiliser pour effectuer des opérations comme pour des nombres normaux, mis à part le fait que les quantités avec unités ne peuvent pas être des arguments Page 3-26 de fonctions (par exemple : SQ ou SIN). Ainsi, si vous essayez de calculer LN(10_m), un message d’erreur apparaît : Error: Bad Argument Type. Voici quelques exemples de calculs en mode ALG. Faites attention lorsque vous multipliez ou divisez des quantités avec unités, vous devez entrer chaque quantité et ses unités entre parenthèses. Ainsi, pour entrer le produit 12.5m × 5.2_yd, par exemple, tapez (12.5_m)*(5.2_yd) `: ce qui donne 65_(m⋅yd). Pour convertir en unités du SI, utilisez la fonction UBASE: Note: Souvenez-vous que la variable ANS(1) est accessible par la combinaison de touches „î(associée à la touche `). Pour effectuer une division, par exemple, 3250 mi / 50 h, entrez, (3250_mi)/(50_h) `: ce qui, une fois transformé en unités SI avec la fonction UBASE, donne : Les additions et les soustractions peuvent être effectuées en mode ALG sans utiliser les parenthèses, et par exemple, on peut entrer 5 m + 3200 mm, simplement sous la forme 5_m + 3200_mm `: Page 3-27 Une expression plus compliquée nécessiterait des parenthèses, comme dans le cas de, (12_mm)*(1_cm^2)/(2_s) `: Les calculs de pile en mode RPN ne nécessitent pas de parenthèses, et on a, par exemple : 12_m ` 1.5_yd ` * 3250_mi ` 50_h ` / Ces opérations donnent les résultats suivants : Essayez également les opérations suivantes : 5_m ` 3200_mm ` + 12_mm ` 1_cm^2 `* 2_s ` / Ces deux dernières opérations donnent : Page 3-28 Note: Les unités ne sont pas acceptées dans les expressions écrites avec l’Editeur d’équation. Outils de manipulation d’unités Le menu UNITS a un sous-menu TOOLS (outils), qui contient les fonctions suivantes : CONVERT(x,y) : convertit un objet à unités x en un objet à unités y UBASE(x) : convertit un objet à unités x en unités du SI UVAL(x) : extrait la valeur de l’objet à unités x UFACT(x,y) : factorise l’unité y de l’objet à unités x UNIT(x,y) : combine la valeur de x avec les unités de y La fonction UBASE a été décrite en détail dans un paragraphe précédent de ce chapitre. Pour accéder à l’une de ces fonctions, reportez--vous aux exemples donnés plus haut pour la fonction UBASE. Vous remarquerez que la fonction UVAL ne requiert qu’un argument, mais que les fonctions CONVERT, UFACT et UNIT nécessitent deux arguments. Essayez les exercices suivants, dans votre mode de calcul préféré. Le résultat ci-dessous a été produit en mode ALG avec le systeme flag 117 paramétré sur menu SOFT : Exemples pour la fonction CONVERT Ces exemples donnent le même résultat, qui est la conversion de 33 watts en btu CONVERT(33_W,1_hp) ` CONVERT(33_W,11_hp) ` Ces opérations apparaissent ainsi à l’écran : Page 3-29 Exemples pour la fonction UVAL : UVAL(25_ft/s) ` UVAL(0.021_cm^3) ` Exemples pour la fonction UFACT : UFACT(1_ha,18_km^2) ` UFACT(1_mm,15.1_cm) ` Exemples pour la fonction UNIT : UNIT(25,1_m) ` UNIT(11.3,1_mph) ` Constantes physiques de la calculatrice Après l’utilisation des unités, nous allons maintenant présenter les constantes physiques disponibles dans la mémoire de la calculatrice. Ces constantes physiques sont mémorisées dans une bibliothèque des constantes accessible avec la commande CONLIB. Pour ouvrir cette bibliothèque, tapez simplement cette commande dans la pile : ~~conlib~` Page 3-30 ou bien encore, vous pouvez sélectionner la commande CONLIB depuis le catalogue des commandes, comme suit : D’abord, ouvrez le catalogue en utilisant : ‚N~c. Utilisez ensuite les flèches vers le haut et vers le bas —˜ pour sélectionner CONLIB. Enfin, appuyez sur la touche de menu F(@@OK@@) Appuyez sur `, si nécessaire. La bibliothèque des constantes s’affichera ainsi (utilisez la flèche vers le bas pour vous déplacer dans la bibliothèque) : Les touches de menu correspondant à cette bibliothèque de constantes (CONSTANTS LIBRARY) contiennent les fonctions suivantes : SI lorsqu’elle est active, les constantes sont affichées en unités du SI ENGL lorsqu’elle est active, les constantes sont affichées en unités impériales (*) UNIT lorsqu’elle est active, les constantes sont affichées avec leurs unités (*) VALUE lorsqu’elle est active, les constantes sont affichées sans unités STK copie la valeur (avec ou sans unité) dans la pile Page 3-31 QUIT sort de la bibliothèque des constantes (*) Actif uniquement si la fonction VALUE a été choisie. Lorsque l’option VALUE est active (unités du SI), le haut de la bibliothèque des constantes s’affiche ainsi : Pour afficher les valeurs des constantes en unités impériales, appuyez sur l’option @ENGL : Si nous désactivons l’option UNITS (en appuyant sur @UNITS ), seules les valeurs seront affichées (les unités impériales étant sélectionnées dans ce cas) : Pour copier la valeur de Vm dans la pile, sélectionner le nom de la variable, avant d’appuyer sur !²STK, appuyez ensuite sur @QUIT@. Si le mode de calcul est ALG, l’affichage est le suivant : L’affichage montre ce que l’on appelle une valeur étiquetée, Vm:359.0394. Dans ce cas, Vm, est l’étiquette de ce résultat. Toute opération arithmétique Page 3-32 utilisant ce nombre ignorera l’étiquette. Essayez par exemple : ‚¹2*„î`, qui donne : La même opération en mode RPN s’effectue par la combinaison de touches suivante (une fois la valeur de Vm extraite de la bibliothèque de constantes) : 2`*‚ ¹ Fonctions de physiques particulières Le menu 117, accessible par MENU(117) en mode ALG, ou par 117 ` MENU en mode RPN, affiche le menu suivant (les indicateurs sont affichés à l’écran en utilisant ‚˜) : Les fonctions sont : ZFACTOR : Fonction Z pour la compressibilité des gaz FANNING : Facteur de friction Fanning pour les débits liquides DARCY : Facteur de friction Darcy-Weisbach pour les débits liquides F0λ : Fonction de puissance émise par un corps noir SIDENS : Densité intrinsèque du silicium TDELTA : Fonction Delta pour les températures Sur la deuxième page de ce menu (appuyez sur L) se trouvent les éléments suivants : Dans le menu de cette page, se trouvent une fonction (TINC) et un certain nombre d’unités décrites dans un paragraphe précédent sur les unités (voir plus haut). La fonction en question est : Page 3-33 TINC: Commande d’incrémentation de la température Parmi toutes les fonctions disponibles dans ce MENU (menu UTILITY), c’est-àdire les fonctions ZFACTOR, FANNING, DARCY, F0λ, SIDENS, TDELTA et TINC, les fonctions FANNING et DARCY sont décrites au Chapitre 6 dans le cadre de la résolution d’équations pour le débit d’un pipeline. Les autres fonctions sont décrites ci-dessous. Fonction ZFACTOR La fonction ZFACTOR calcule le facteur de correction pour la compressibilité des gaz non parfaits type hydrocarbures. Cette fonction est accessible par ZFACTOR(xT, yP), où xT est la température normalisée, c’est-à-dire le rapport de la température réelle et de la température pseudo-critique, et où yP est la pression normalisée, c’est-à-dire le rapport le la pression réelle et de la pression pseudo-critique. La valeur de xT doit être entre 1.05 et 3.0, alors que la valeur de yP doit être entre 0 et 30. Par exemple, en mode ALG : Fonction F0λ La fonction F0λ (T, λ) calcule la fraction (sans dimension) de la puissance totale émise par le corps noir à la température T entre les longueurs d’onde 0 et λ. Si aucune unité n’est affectée à T et à λ, on suppose que T est en K et que λ est en mm. Par exemple, en mode ALG : Fonction SIDENS La fonction SIDENS(T) calcule la densité intrinsèque du silicium (en unités par 1/cm3) en fonction de la température T (T en K), pour T comprise entre 0 et 1685 K. Par exemple : Page 3-34 Fonction TDELTA La fonction TDELTA(T0,Tf) retourne l’incrément en température Tf – T0. Le résultat est donné dans les mêmes unités que T0, si elle en a. Sinon, elle renvoie simplement la différence entre ces deux nombres. Par exemple : L’utilité de cette fonction est de faciliter le calcul des différences de températures dans les différents systèmes d’unités. Sinon, il s’agit simplement d’une soustraction, et ainsi, on a : Fonction TINC La fonction TINC(T0,∆T) calcule T0+DT. Le principe de cette fonction est le même que celui de la fonction TDELTA dans le sens qu’elle renvoie le résultat dans les unités de T0. Sinon, elle renvoie simplement le résultat de l’addition des deux valeurs, c’est-à-dire : Définir et utiliser des fonctions Les utilisateurs peuvent définir leurs propres fonctions en utilisant la commande DEF accessible par la séquence de touches „à (associée à la touche 2). La fonction doit être entrée dans le format suivant : Page 3-35 Nom_de_la_fonction(arguments) = expression_qui_contient_les_argumenteurs. Par exemple, on peut définir une fonction simple H(x) = ln(x+1) + exp(-x). Supposons que vous ayez besoin de calculer cette fonction pour un certain nombre de valeurs discrètes et que, par conséquent, vous souhaitiez n’appuyer que sur une seule touche pour obtenir le résultat sans devoir retaper l’expression pour chacune des valeurs. Dans l’exemple suivant, nous supposons que vous êtes en mode ALG. Composez la combinaison de touches suivante : „à³~h„Ü~„x™‚Å ‚¹~„x+1™+„¸~„x` L’affichage est le suivant : Appuyez sur la touche J, et vous remarquerez qu’une nouvelle variable apparaît sur la touche de menu (@@@H@@). Pour afficher le contenu de cette variable, appuyez sur ‚@@@H@@. Cela donne alors : Ainsi, la variable H contient un programme défini par : << x ‘LN(x+1) + EXP(x)’ >> Ceci est un programme simple qui est écrit dans le langage de programmation par défaut de la série HP 48 G et est également inclus dans la série HP 49 G. Ce langage de programmation est appelé UserRPL. Le programme ci-dessus est relativement simple et est constitué de deux parties, incluses entre les délimiteurs du programme << >>: • Entrées : x x • Calcul : ‘LN(x+1) + EXP(x) ‘ Page 3-36 Ceci est interprété de la façon suivante : on entre une valeur qui est temporairement affectée à la variable x (appelée variable locale), on calcule l’expression entre guillemets qui contient la variable locale et on affiche l’expression calculée. Pour activer la fonction en mode ALG, tapez le nom de la fonction suivi de l’argument entre parenthèses, par exemple : @@@H@@@ „Ü2`. Des exemples sont affichés ci-dessous : En mode RPN, pour activer la fonction, entrez d’abord l’argument, et appuyez ensuite sur la touche de menu correspondant au nom de la variable @@@H@@@ . Par exemple, vous pouvez essayer d’entrer : 2`@@@H@@@ . Les autres exemples ci-dessus peuvent être entrés en utilisant : 1.2`@@@H@@@ , 2/3`@@@H@@@ . Les fonctions peuvent comporter plus de 2 arguments. Par exemple, l’affichage ci-dessous indique la définition de la fonction K(α,β) = α+β, et son calcul pour les arguments K(√2,π), et K(1.2,2.3): Le contenu de la variable K est : << α β ‘α+β’ >>. Fonctions définies par plus d’une expression Dans cette section, nous nous intéressons aux fonctions qui sont définies par deux expressions ou plus. Un exemple d’une telle fonction serait : Page 3-37 2 ⋅ x − 1, f (x) = 2 x − 1, x < 0 x > 0 La HP 49 G comporte la fonction IFTE (IF-Then-Else) qui permet de décrire de telles fonctions. Fonction IFTE La fonction ITFE s’écrit IFTE(condition, opération_si_vrai, opération_si_faux) Si la condition est vraie alors l’opération_si_vrai est appliquée, sinon opération_si_faux est appliquée. Par exemple, on peut écrire ‘f(x) = IFTE(x>0, x^2-1, 2*x-1)’, pour exprimer la fonction décrite plus haut. La fonction ITFE est accessible dans le catalogue des fonctions (‚N). On peut accéder au symbole ‘>’ (supérieur à) par (associée à la touche Y). Pour définir cette fonction en mode ALG, utilisez la commande : DEF(f(x) = IFTE(x>0, x^2-1, 2*x-1)) puis appuyez sur `. En mode RPN, entrez la fonction entre apostrophes : ‘f(x) = IFTE(x>0, x^2-1, 2*x-1)’ puis appuyez sur „à. Appuyez sur J pour retourner au menu des variables. La fonction @@@f@@@ est alors accessible par les touches de menu. Appuyez sur ‚@@@f@@@ pour afficher le programme ainsi produit : << x ‘IFTE(x>0, x^2-1, 2*x-1)’ >> Pour appliquer la fonction en mode ALG, tapez le nom de la fonction, f, suivi du nombre auquel vous souhaitez l’appliquer, par exemple, f(2), puis appuyez sur `. En mode RPN, entrez le nombre et appuyez sur @@@f@@@. Vérifiez par exemple que f(2) = 3, et que f(-2) = -5. Fonctions IFTE combinées Pour programmer des fonctions plus compliquées telles que Page 3-38 − x, x < −2 x + 1, − 2 ≤ x < 0 g ( x) = x − 1, 0 ≤ x < 2 x2 , x ≥ 2 vous pouvez combiner plusieurs niveaux de fonctions IFTE, de la façon suivante : ‘g(x) = IFTE(x<-2, -x, IFTE(x<0, x+1, IFTE(x<2, x-1, x^2)))’, Trouvez cette fonction en utilisant n'importe quelle méthode ci-dessus et vérifiez que : g(-3) = 3, g(-1) = 0, g(1) = 0, g(3) = 9. Page 3-39 Chapitre 4 Calculs avec des nombres complexes Ce chapitre montre des exemples de calculs et d’applications de fonctions à des nombres complexes. Définitions Un nombre complexe z s’écrits z = x + iy, où x et y sont des nombres réels et i est l'unité imaginaire définie par i2 = -1. Le nombre complexe x+iy a une partie réelle, x = Re(z) et une partie imaginaire, y = Im(z). Nous pouvons imaginer un nombre complexe comme un point P(x,y) dans le plan x-y, avec l'axe x appelé l'axe réel et l'axe y appelé l'axe imaginaire. Et donc, on dit qu'un nombre complexe écrit sous sa forme x+iy est sous sa représentation Cartésienne. Une autre manière d'écrire la représentation polaire est la paire z = (x,y). La représentation polaire d’un nombre complexe est z = re iθ = r⋅cosθ + i r⋅sinθ, où r = |z| = x 2 + y 2 est la magnitude du nombre complexe z et θ = Arg(z) = arctan(y/x) représente l'argument du nombre complexe z. La relation entre la représentation polaire et cartésienne d'un nombre complexe est donnée par la formule d'Euler : e iθ = cos θ + i sin θ. Le complexe conjugué d’un nombre complexe z = x + iy = re iθ, estz = x – iy = re -iθ . Le complexe conjugué de i peut être imaginé comme la projection de z par l'axe réel (x). L'opposé de z, –z = -x-iy = - re iθ peut être considéré comme la réflexion de z sur l’origine. Paramétrer la calculatrice en mode COMPLEX Si vous travaillez avec des nombres complexes, il est préférable de mettre la calculatrice en mode complexe ; utilisez la séquence des touches suivantes : H)@@CAS@ 2˜˜™ @@CHK@@ Le mode COMPLEX sera sélectionné si l’écran des MODES CAS affiche l’option _Complex cochée, c'est-à-dire : Page 4-1 Appuyez deux fois sur @@OK@@ afin de retourner à la pile. Saisie de nombres complexes On peut saisir des nombres complexes dans la calculatrice dans l’une des deux représentations cartésiennes, à savoir : x+iy ou (x,y). Les résultats seront affichés sur la calculatrice sous le format d'une paire ordonnée, c’est-à-dire, (x,y). Par exemple, si la calculatrice est en mode ALG, le nombre complexe (3.5,-1.2) est saisi de la façon suivante : „Ü3.5‚í\1.2` Un nombre complexe peut aussi être saisi sous la forme x+iy. Par exemple, en mode ALG, 3.5-1.2i est saisi de la façon suivante : 3.5 -1.2*„¥` L’écran suivant apparaît, après avoir saisi les nombres complexes. En mode RPN, ces nombres seront saisis en appuyant successivement sur les touches suivantes : „Ü3.5‚í1.2\` (Remarquez que l’on appuie sur la touche de changement de signe après avoir saisi le nombre 1.2, dans l’ordre opposé à celui employé pour l’exercice en mode ALG) et ³3.5 -1.2*‚¥` (Remarquez la nécessité de saisir une apostrophe avant de taper le nombre 3.5-1.2i en mode RPN). L’écran RPN correspondant est présenté ci-dessous : Page 4-2 Notez que la dernière entrée indique un nombre complexe de la forme x+iy. Ceci car le nombre est entré entre deux apostrophes, ce qui indique une expression algébrique. Pour faire l'opération, nous utilisons la touche EVAL (µ). Une fois que l'expression algébrique est évaluée, vous obtenez le nombre complexe (3.5,1.2). Représentation polaire d’un nombre complexe Le résultat illustré ci-dessus montre une représentation Cartésienne (rectangulaire) du nombre complexe 3.5-1.2i. La représentation polaire peut être obtenue en changeant le système coordonné en cylindrique ou polaire, en utilisant la fonction CYLIN. Vous pouvez trouver cette fonction dans le catalogue (‚N). Le passage en représentation polaire produit le résultat suivant : Pour ce résultat, la mesure angulaire est paramétrée sur radians (vous pouvez toujours choisir le mode radian avec la fonction RAD). Le résultat illustré cidessus représente une magnitude, 3.7, et un angle 0.33029…. Le symbole angulaire (∠) s’affiche devant la mesure d’angle. Retourner aux coordonnées cartésiennes ou rectangulaires en utilisant la fonction RECT (présente dans le catalogue ‚N). Un nombre complexe en représentation polaire s’écrit z = r⋅eiθ. Vous pouvez saisir ce nombre dans la calculatrice en utilisant une paire ordonnée sous la forme (r, ∠θ). Le symbole angulaire (∠) est saisi de la façon suivante ~‚6. Par exemple, le Page 4-3 nombre complexe z = 5.2e1.5i peut être saisi comme suit (les illustrations montrent la pile RPN avant et après avoir saisi le nombre) : Parce que le système coordonné est configuré sur rectangulaire (ou cartésien) la calculatrice convertit automatiquement le nombre saisi en coordonnées cartésiennes, c'est-à-dire: x = r cos θ, y = r sin θ, égal, dans ce cas, à (0.3678…, 5.18…). D’un autre côté, si le système coordonné est paramétré sur coordonnées cylindriques (utiliser CYLIN), la saisie d’un nombre complexe (x,y), où x et y sont des nombres réels, produira une représentation polaire. Par exemple, en coordonnées polaires, saisir le nombre (3.,2.). Les illustrations montrent la pile RPN avant et après avoir saisi le nombre : Opérations simples avec des nombres complexes Les nombres complexes peuvent être combinés en utilisant les quatre opérations de base (+-*/). Les résultats suivent les règles de l’algèbre avec l’avertissement suivant : i2= -1. Les opérations avec des nombres complexes sont similaires à celles avec des nombres réels. Par exemple, lorsque la calculatrice est en mode ALG et le CAS est paramétré sur Complex, essayez les opérations suivantes : (3+5i) + (6-3i) : Notez que la partie réelle (3+6) et la partie imaginaire (5-3) sont combinées ensemble et que le résultat est une paire avec une partie réelle 9 et une partie imaginaire 2. Essayez d’effectuer tout seul les opérations suivantes : (5-2i) - (3+4i) = (2,-6) Page 4-4 (3-i)(2-4i) = (2,-14) (5-2i)/(3+4i) = (0.28,-1.04) 1/(3+4i) = (0.12, -0.16) Notes: Le produit de deux nombres est représenté par : (x1+iy1)(x2+iy2) = (x1x2 - y1y2) + i (x1y2 + x2y1). La division de deux nombres complexes se fait en multipliant le numérateur et le dénominateur par le conjugué complexe du dénominateur, par exemple : x y −x y x1 + iy1 x + iy1 x 2 − iy 2 x1 x 2 + y1 y 2 = 1 ⋅ = + i ⋅ 2 21 12 2 2 2 x 2 + iy 2 x 2 + iy 2 x 2 − iy 2 x2 + y 2 x2 + y 2 Et donc, la fonction inverse INV (accessible avec la touche Y) est définie comme : x − iy x 1 1 y = ⋅ = 2 +i⋅ 2 2 x + iy x + iy x − iy x + y x + y2 Changer le signe d’un nombre complexe Pour changer le signe d'un nombre complexe, utilisez la touche \, par exemple : -(5-3i) = -5 + 3i Saisir le nombre imaginaire unitaire Pour saisir le nombre imaginaire unitaire, appuyez sur : „¥ Vous remarquerez que le nombre i est saisi en tapant la paire (0,1) si le CAS est paramétré en mode APPROX. En mode EXACT, le nombre imaginaire de l’unité est saisi comme i. Page 4-5 Autres opérations Les opérations telles que la magnitude, l'argument, les parties réelle et imaginaire et le conjugué complexe sont accessibles avec les menus CMPLX décrits ci-dessous. Les menus CMPLX Il existe deux menus CMPLX (Nombres CoMPLeXes) sur la calculatrice. L’un est disponible en passant par le menu MTH (expliqué au Chapitre 3) et l’autre reste directement accessible par le clavier (‚ß). Les deux menus CMPLX sont présentés ci-dessous. Le menu CMPLX en passant par le menu MTH Supposant l’indicateur système 117 paramétré sur CHOOSE bxoes (voir Chapitre 2), on accède au sous-menu CMPLX au sein du menu MTH en utilisant : „´9 @@OK@@. Les écrans suivants expliquent ces étapes : Le premier menu (options 1 à 6) indique les fonctions suivantes : RE(z) : Partie réelle d’un nombre complexe IM(z) : Partie imaginaire d’un nombre complexe C→R(z) : Sépare un nombre complexe (x,y) en sa partie réelle et sa partie imaginaire R→C(x,y) : Forme le nombre complexe (x,y) à partir des nombres réels x et y ABS(z) : Calcule la magnitude d’un nombre complexe ou la valeur absolue d'un nombre réel. ARG(z) : Calcule l’argument d’un nombre complexe Les dernières options (options 7 à 10) sont les suivantes : Page 4-6 SIGN(z) : Calcule un nombre complexe de magnitude unitaire z/|z|. NEG : Change le signe de z CONJ(z) : Produit le complexe conjugué de z Des exemples d’applications de ces fonctions sont illustrés ci-dessous. Se souvenir que pour le mode ALG, la fonction doit précéder l’argument, alors qu’en mode RPN, vous devez d’abord saisir l’argument avant de sélectionner la fonction. N’oubliez pas non plus que vous pouvez afficher ces fonctions dans le menu en changeant les paramètres de l’indicateur système 117 (Voir le Chapitre 3). Ce premier écran indique les fonctions RE, IM et CR. Notez que la dernière fonction retourne une liste {3. 5.} correspondant aux parties réelle et imaginaire du nombre complexe: La figure ci-dessous présente les fonctions RC, ABS et ARG. Notez que la fonction ABS est traduite comme |3.+5.i|, ce qui est la notation de la valeur absolue. De plus, le résultat de la fonction ARG, représentant un angle, sera donné dans l’unité de mesure d’angles sélectionnée. Dans cet exemple, ARG(3.+5.i) = 1.0303… est en radians. Dans la figure suivante, nous vous présentons des exemples des fonctions SIGN, NEG (qui s'affiche en signe négatif -) et CONJ. Page 4-7 Menu CMPLX accessible sur le clavier On peut accéder à un second menu CMPLX en utilisant l’option de la touche shift de droite associée à la touche 1, c’est-à-dire : ‚ß. En paramétrant l’indicateur de système 117 sur CHOOSE boxes, le menu CMPLX accessible par le clavier s’affiche comme sur les écrans suivants : Le menu qui en résulte comprend certaines fonctions déjà introduites dans les sections précédentes, à savoir ARG, ABS, CONJ, IM, NEG, RE et SIGN. Il comprend aussi la fonction i qui sert à la même fonction que la combinaison de touches „¥, pour saisir le nombre imaginaire de l’unité (= i) dans une expression. Le menu CMPLX accessible par le clavier constitue une autre méthode similaire au menu accessible par le MTH, contenant les fonctions basiques des nombres complexes. Essayez, pour vous exercer, d’appliquer les exemples précédents, en utilisant le menu CMPLX accessible par le clavier. Fonctions appliquées aux nombres complexes La plupart des fonctions pour nombres réels accessibles avec le clavier et expliquées au Chapitre 3, telles que, SQ, ,LN, ex, LOG, 10X, SIN, COS, TAN, ASIN, ACOS, ATAN, peuvent aussi être appliquées aux nombres complexes. Le résultat est un autre nombre complexe, comme l’illustrent les exemples suivants. Pour utiliser cette fonction, suivez la même méthode que pour les nombres réels (voir Chapitre 3). Page 4-8 Note : Lorsque l’on utilise des fonctions trigonométriques et leurs inverses avec des nombres complexes, les arguments ne sont plus des angles. Par conséquent, la mesure angulaire sélectionnée pour la calculatrice n’a pas d’incidence sur le calcul de ces fonctions avec des arguments complexes. Pour comprendre la manière dont les fonctions trigonométriques et les autres fonctions s’appliquent aux nombres complexes, veuillez vous référer à un livre sur les variables complexes. Fonctions du menu MTH Les fonctions hyperboliques et leurs inverses, aussi bien que les fonctions Gamma, PSI et Psi (fonctions uniques) ont été introduites et appliquées aux nombres complexes au Chapitre 3. Ces fonctions peuvent être appliquées aux nombres complexes en suivant la méthode du Chapitre 3. Des exemples sont affichés ci-dessous : L'écran suivant indique que les fonctions EXPM et LNP1 ne peuvent pas être appliquées aux nombres complexes. En revanche, les fonctions GAMMA, PSI et Psi peuvent être appliquées aux nombres complexes : Page 4-9 Fonction DROITE: équation d’une ligne droite La fonction DROITE prend pour argument deux nombres complexes (par ex. : x1+iy1 et x2+iy2) et retourne l’équation de la ligne droite (par ex. : y = a+bx), qui contient les points (x1,y1) et (x2,y2). Ainsi, la ligne passant entre les points A(5,-3) et B(6,2) peut être trouvée en procédant comme suit (en mode algébrique) : La fonction DROITE se trouve dans le catalogue de commandes (‚N). En utilisant EVAL(ANS(1)), le résultat se simplifie : Page 4-10 Chapitre 5 L’algèbre et les opérations mathématiques Un objet algébrique, ou plus simplement un élément d’algèbre, est n’importe quel nombre, n’importe quelle variable ou n’importe quelle expression algébrique sur lesquels on peut effectuer des opérations, des manipulations et des combinaisons suivant les règles de l’algèbre. Voici ci-dessous quelques exemples d’objets algébriques : • Un nombre : 12.3, 15.2_m, ‘π’, ‘e’, ‘i’ • Un nom de variable : ‘a’, ‘ux’, ‘largeur’, etc. • Une expression : ‘p*D^2/4’,’f*(L/D)*(V^2/(2*g))’ • Une équation : ‘Q=(Cu/n)*A(y)*R(y)^(2/3)*So^0.5’ Saisie des objets algébriques Les objets algébriques peuvent être saisis en tapant l’objet entre guillemets directement dans la pile niveau 1 ou en utilisant l’Editeur d’équations ‚O. Par exemple, pour entrer l’objet algébrique ‘π*D^2/4’ directement dans la pile, utilisez : ³„ì*~dQ2/4 `. L'écran est illustré ci-dessous pour les modes ALG (côté gauche) et RPN (côté droit) : Un objet algébrique peut aussi être construit dans l'Editeur d'équations (equation writer) et renvoyé à la pile. Le fonctionnement de l’Editeur d’équations est décrit au Chapitre 2. En guise d’exercice, construire l’objet algébrique suivant dans l’Editeur d’équation : Après avoir construit l’objet, valider pour l’afficher dans la pile (l’affichage en mode ALG et RPN est illustré ci-dessous) : Page 5-1 Opérations simples avec les objets algébriques Les objets algébriques peuvent être additionnés, soustraits, multipliés ou divisés (sauf par zéro), élevés à une puissance, utilisés comme arguments dans de nombreuses fonctions courantes (fonctions exponentielles, logarithmiques, trigonométriques, hyperboliques etc.), comme on peut le faire avec n’importe quel nombre réel ou complexe. Afin de faire une démonstration des opérations de base avec des objets algébriques, nous allons créer deux objets, par ex. : ‘π*R^2’ et ‘g*t^2/4’ et les enregistrer dans les variables A1 et A2 (Voir le Chapitre 2 pour apprendre comment créer des variables et y enregistrer des valeurs). Voici la combinaison de touches permettant de stocker les variables A1 en mode ALG : ³„ì*~rQ2™ K ~a1 `, ce qui donne : La combinaison de touches correspondante en mode RPN est la suivante : ³„ì*~r Q2`~a1 K Après avoir stocké la variable A2 et appuyé sur la touche, l’écran affiche les variables comme suit : En mode ALG, la combinaison de touches suivante affichera une série d’opérations avec les éléments algébriques contenus dans les variables @@A1@@ et @@A2@@ (appuyer sur J pour retourner au menu variable) : Page 5-2 @@A1@@ + @@A2@@ ` @@A1@@ - @@A2@@ ` @@A1@@ * @@A2@@ ` @@A1@@ / @@A2@@ ` ‚¹@@A1@@ „¸@@A2@@ On peut obtenir le même résultat en mode RPN en utilisant la combinaison de touches suivante : @@A1@@ ` @@A2@@ + @@A1@@ `@@A2@@ @@A1@@ ` @@A2@@ * @@A1@@ `@@A2@@ / @@A1@@ ` ‚¹ @@A2@@ `„¸ Fonctions du menu ALG Le menu ALG (Algébrique) est accessible en utilisant la séquence de touches, ‚× (associé à la touche ‚ ). En paramétrant l’indicateur système 117 sur CHOOSE boxes, le menu ALG affiche les fonctions suivantes : Page 5-3 Plutôt que de faire une description détaillée de chaque fonction dans ce manuel, nous invitons l’utilisateur à consulter la description en utilisant la fonction d’aide de la calculatrice : I L @)HELP@ `. Afin de localiser une fonction particulière, saisir d’abord la première lettre de la fonction. Par exemple, pour la fonction COLLECT, nous saisissons ~c, puis utilisons les flèches haut et bas, —˜, pour localiser COLLECT dans la fenêtre d’aide. Pour terminer l’opération, appuyez sur @@OK@@. Voici le menu d’aide pour la fonction COLLECT: Remarquez que, en bas de l’écran, la ligne See: EXPAND FACTOR suggère des liens vers d’autres entrées de la fonction d’aide, ici les fonctions EXPAND et FACTOR. Pour aller directement à ces entrées, appuyez sur l’onglet du menu logiciel @SEE1! pour EXPAND, et @SEE2! pour FACTOR. En appuyant sur @SEE1!, par exemple, l’information suivante sur EXPAND, s’affiche : La fonction d'aide donne un exemple de son utilisation, en addition à des informations sur chaque commande. Cet exemple peut être copié dans votre pile en appuyant sur la touche de menu @ECHO!. Par exemple, pour l’entrée EXPAND illustrée ci-dessus, appuyez sur l’onglet du menu logiciel @ECHO! pour copier l’exemple suivant dans la pile (appuyez sur ` pour exécuter) : Page 5-4 Par la suite, nous laissons le lecteur explorer les applications des fonctions dans le menu ALG (ou ALGB). Voici une liste des commandes : La fonction d'aide affichera les informations suivantes sur les commandes : COLLECT : EXPAND: FACTOR : LNCOLLECT: LIN : PARTFRAC: Page 5-5 SOLVE : SUBST : TEXPAND : Note: Rappelez-vous que, pour utiliser ces fonctions ou n’importe quelle autre fonction dans le mode RPN, vous devez d’abord saisir l’argument avant la fonction. Ainsi, l’exemple pour TEXPAND sera saisi en mode RPN comme suit : ³„¸+~x+~y` A ce stade, sélectionnez la fonction TEXPAND du menu ALG (ou directement dans le catalogue ‚N), pour terminer l’opération. Autres formes de substitution en expressions algébriques La fonction SUBST, présentée ci-dessus, est utilisée pour substituer une variable dans une expression. Une seconde forme de substitution peut être effectuée en utilisant ‚¦(associées avec la touche I). Par exemple, en mode ALG, l’entrée suivante substituera la valeur x = 2 dans l'expression x+x2. L’illustration de gauche montre la façon de saisir l’expression (la valeur à substituer, x=2, doit être comprise entre parenthèses) avant d’appuyer sur `. Après avoir appuyé sur `, le résultat s’affiche comme dans l’illustration de droite : Page 5-6 En mode RPN, on peut effectuer la même chose en saisissant d’abord l’expression dans laquelle la substitution doit être effectuée (x+x2), suivie par une liste (voir Chapitre 8) contenant la variable de substitution, un espace, et la valeur à substituer, c’est-à-dire {x 2}. L’étape finale consiste à appuyer sur la combinaison de touches suivante : ‚¦. La séquence de touches nécessaire est la suivante : ³~„x+~„xQ2` „ä~„x#2` ‚¦` En mode ALG, la substitution de plus d’une variable est possible, comme illustré dans l’exemple suivant (illustré avant et après avoir appuyé sur `) En mode RPN, il est aussi possible de substituer plus d’une variable à la fois, comme illustré dans l’exemple ci-dessous. Souvenez-vous que le mode RPN utilise une liste de noms de variables et de valeurs pour la substitution. Une approche différente de la substitution consiste à définir les expressions de substitution dans les variables de la calculatrice et à placer le nom des Page 5-7 variables dans l’expression originale. Par exemple, en mode ALG, enregistrez les variables suivantes : Ensuite, saisissez l’expression A+B: La dernière expression saisie est automatiquement évaluée après avoir appuyé sur la touche ` ,ce qui produit le résultat montré ci-dessus. Opérations avec les fonctions transcendantes La calculatrice offre plusieurs fonctions qui peuvent être utilisées pour remplacer les expressions contenant des logarithmes, les fonctions exponentielles, trigonométriques ou hyperboliques en termes d’identités trigonométriques ou en termes de fonctions exponentielles. Les menus contenant les fonctions pour remplacer les fonctions trigonométriques peuvent être obtenus en appuyant sur la touche shift de droite suivie de la touche 8, c’est-à-dire ‚Ñ. La combinaison de cette touche avec la touche shift de gauche, c’est-à-dire ‚ Ð, fait s’afficher un menu qui vous permet de remplacer des expressions en termes de fonctions exponentielles ou de logarithmes naturels. Dans les sections suivantes, nous présentons ces menus de manière plus détaillée. Développement et mise en facteur en utilisant les fonctions logexp La commande „Ð affiche le menu suivant : Page 5-8 Des informations et des exemples sur ces commandes sont disponibles dans la fonction d’aide de la calculatrice. Certaines des commandes listées dans le menu EXP&LN, c’est-à-dire LIN, LNCOLLECT et TEXPAND sont aussi contenues dans le menu ALG présenté précédemment. Les fonctions LNP1 et EXPM ont été introduites dans le menu HYPERBOLIC, dans le menu MTH (voir Chapitre 2). La seule fonction restante est EXPLN. Ainsi, sa description est illustrée ici dans la colonne de gauche, et l’exemple extrait de la fonction d’aide à droite : Développement et mise en facteur en utilisant les fonctions trigonométriques Le menu TRIG, auquel on accède en utilisant ‚Ñ, affiche les fonctions suivantes : Page 5-9 Ces fonctions permettent de simplifier des expressions en remplaçant certaines catégories de fonctions trigonométriques par d’autres. Par exemple, la fonction ACOS2S permet de remplacer la fonction arccosine (acos(x)) par son expression en termes de arcsine (asin(x)). La description de ces commandes ainsi que des exemples de leurs applications sont disponibles dans la fonction d’aide de la calculatrice (IL@HELP). Nous invitons l’utilisateur à explorer cette fonction pour trouver des informations sur les commandes du menu TRIG. Notez que la premiere commande du menu TRIG est le menu HYPERBOLIC, dont les fonctions ont été expliquées au Chapitre 2. Fonctions du menu ARITHMETIC Le menu ARITHMETIC contient plusieurs sous-menus pour des applications spécifiques en théorie des nombres (intégrées, polynômes, etc.), ainsi que plusieurs fonctions qui s’appliquent aux opérations arithmétiques générales. Le menu ARITHMETIC est accessible en utilisant la séquence de touches „Þ (associée à la touche 1 ). Une fois l’indicateur système 117 paramétré sur CHOOSE boxes, „Þ affiche le menu suivant : Dans cette liste du menu, les options 5 à 9 (DIVIS, FACTORS, LGCD, PROPFRAC, SIMP2) correspondent aux fonctions habituelles qui s’appliquent aux nombres entiers ou aux polynômes. Les options restantes (1. INTEGER, 2. POLYNOMIAL, 3. MODULO, et 4. PERMUTATION) sont en fait des sousmenus de fonctions qui s’appliquent à des objets mathématiques spécifiques. La distinction entre les sous-menus (options 1 à 4) et les fonctions simples (options 5 à 9) est évidente quand l’indicateur système 117 est paramétré sur menus SOFT. En activant le menu ARITHMETIC („Þ ), dans ces circonstances, on affiche : Page 5-10 Nous présentons ensuite ci-dessous les entrées de la fonction d’aide pour les options 5 à 9 du menu ARITHMETIC : DIVIS: FACTORS: LGCD (Plus Grand Dénominateur Commun): PROPFRAC (fraction correcte): SIMP2: Les fonctions associées aux sous-menus de ARITHMETIC : INTEGER, POLYNOMIAL, MODULO et PERMUTATION sont les suivantes : Menu INTEGER EULER IABCUV IBERNOULLI ICHINREM IDIV2 IEGCD Nombre d’entiers o < n, copremiers avec n Résout au + bv = c, avec a,b,c = entiers nième nombre de Bernoulli Reste chinois pour les nombres entiers Division euclidienne de deux entiers Renvoie u,v, tels que au + bv = gcd(a,b) Page 5-11 IQUOT IREMAINDER ISPRIME? NEXTPRIME PA2B2 PREVPRIME Quotient euclidien de deux entiers Reste euclidien de deux entiers Teste si un nombre entier est un nombre premier Prochain nombre premier pour un entier donné Nombre premier comme norme au carré d’un nombre complexe Nombre premier précédant un entier donné Menu POLYNOMIAL ABCUV CHINREM CYCLOTOMIC DIV2 EGDC FACTOR FCOEF FROOTS GCD HERMITE HORNER LAGRANGE LCM LEGENDRE PARTFRAC PCOEF PTAYL QUOT RESULTANT REMAINDER STURM STURMAB Equation polynomiale de Bézout (au+bv=c) Reste chinois pour les polynômes nième polynôme cyclothymique Division euclidienne de deux polynômes Renvoie u,v à partir de au+bv=gcd(a,b) Factorise un nombre entier ou un polynôme Génère une fraction à partir des racines et de la multiplicité Renvoie les racines et la multiplicité à partir d’une fraction donnée Plus grand diviseur commun de 2 nombres ou polynômes Polynôme Hermite de nième degré Evaluation de Horner d’un polynôme Interpolation du polynôme de Lagrange Plus petit multiple commun de 2 nombres ou polynômes Polynôme de Legendre de nième degré Décomposition partielle-fraction d’une fraction donnée (Aucune entrée disponible dans la fonction d’aide) Renvoie Q(x-a) dans Q(x-a) = P(x), polynôme de Taylor Quotient euclidien de deux polynômes Déterminant de la matrice Sylvester de 2 polynômes Reste euclidien de deux polynômes Séquences de Sturm pour un polynôme Signe à lien bas et nombre de zéros entre les liens Menu MODULO ADDTMOD DIVMOD Ajoute deux d’expressions modulo le module actuel Divise deux polynômes modulo le module actuel Page 5-12 DIV2MOD EXPANDMOD FACTORMOD GCDMOD INVMOD MOD MODSTO MULTMOD POWMOD SUBTMOD Division euclidienne de 2 polynômes avec des coefficients modulaires Développe/simplifie un polynôme modulo le module actuel Factorise un polynôme modulo le module actuel GCD de 2 modules polynomiaux modulo le module actuel Inverse d'un entier modulo le module actuel (Aucune entrée disponible dans la fonction d’aide) Modifie les paramètres du module à la valeur spécifiée Multiplication de deux polynômes modulo le module actuel Elève un polynôme à une puissance modulo le module actuel Soustraction de 2 polynômes modulo le module actuel Applications du menu ARITHMETIC Le but de cette section est de présenter quelques informations de base nécessaires pour l’application des fonctions du menu ARITHMETIC. Des définitions sont présentées ci-dessous au sujet des polynômes, des fractions polynomiales et de l’arithmétique modulaire. Les exemples présentés cidessous sont présentés indépendamment du paramétrage de la calculatrice (ALG ou RPN) Arithmétique Modulaire Considérons un système de comptage de nombres entiers qui effectue un cycle sur lui-même et recommence périodiquement, comme les heures d’une horloge. Un tel système de comptage s’appelle un anneau. Parce que le nombre d’entiers utilisé dans un anneau est fini, l’arithmétique dans cet anneau est appelée arithmétique finie. Supposons que notre système de nombres entiers finis consiste dans les nombres 0, 1, 2, 3, …, n-1, n. Nous pouvons aussi nous référer à l’arithmétique de ce système de comptage comme arithmétique modulaire de module n. Dans le cas des heures d’une horloge, le module est 12. (si vous travaillez avec une arithmétique modulaire utilisant les heures d’une horloge, cependant, nous devrions utiliser les nombres entiers 0, 1, 2, 3, …, 10, 11, plutôt que 1, 2, 3,…,11, 12). Opérations en arithmétique modulaire L’addition en arithmétique modulaire de module n, qui est un entier positif, suit les règles suivantes : j et k sont deux nombres entiers non négatifs Page 5-13 quelconques, tous deux inférieurs à n, si j+k≥ n, alors j+k est définie comme j+k-n. Par exemple, dans le cas d’une horloge, à savoir pour n = 12, 6+9 “=” 3. Pour distinguer cette égalité des égalités arithmétiques infinies, le symbole ≡ est utilisé à la place du signe “=“ (égale) et la relation entre les nombres est appelée congruence plutôt qu’égalité. Par conséquent, pour l’exemple précédent nous écrirons 6+9 ≡ 3 (mod 12) et lirons cette expression ainsi “six plus neuf est congru à trois, modulo douze.” Si les nombres représentent les heures depuis minuit, par exemple, la congruence 6+9 ≡ 3 (mod 12) peut être interprétée comme voulant dire “six heures après la neuvième heure après minuit sont trois heures après midi.” D’autres sommes qui peuvent être définies en module 12 arithmétique sont : 2+5 ≡ 7 (mod 12); 2+10 ≡ 0 (mod 12); 7+5 ≡ 0 (mod 12) etc. La règle pour la soustraction est telle que si j – k < 0, alors j-k est défini comme j-k+n. Par conséquent, 8-10 ≡ 2 (mod 12), se lit “huit moins dix est congru à deux, modulo douze.” D’autres exemples de soustraction en module 12 seraient 10-5 ≡ 5 (mod 12); 6-9 ≡ 9 (mod 12); 5 – 8 ≡ 9 (mod 12); 5 – 10 ≡ 7 (mod 12) etc. La multiplication suit la règle suivante : si j⋅k > n, de telle sorte que j⋅k = m⋅n + r, où m et r sont des entiers non négatifs, tous deux inférieurs à n, alors j⋅k ≡ r (mod n). Le résultat de la multiplication fois j fois k en module n arithmétique est, par essence, le reste entier de j⋅k/n en arithmétique infinie, si j⋅k>n. Par exemple, en module 12 arithmétique nous avons 7⋅3 = 21 = 12 + 9, (ou, 7⋅3/12 = 21/12 = 1 + 9/12, est le reste entier. Nous pouvons maintenant écrire 7⋅3 ≡ 9 (mod 12) et lire ce résultat “sept fois trois est congru à neuf, modulo trois.” L’opération de division peut être définie en termes de multiplication comme suit , r/k ≡ j (mod n), si, j⋅k ≡ r (mod n). Cela signifie que r doit être le reste de j⋅k/n. Par exemple, 9/7 ≡ 3 (mod 12), parce que 7⋅3 ≡ 9 (mod 12). Certaines divisions ne sont pas permises en arithmétique modulaire. Par exemple, en arithmétique module 12, vous ne pouvez pas définir 5/6 (mod 12) parce que la table de multiplication de 6 ne montre pas le résultat 5 en arithmétique module 12. Cette table de multiplication est donnée ci-dessous : Page 5-14 6*0 6*1 6*2 6*3 6*4 6*5 (mod (mod (mod (mod (mod (mod 12) 12) 12) 12) 12) 12) 0 6 0 6 0 6 6*6 (mod 12) 6*7 (mod 12) 6*8 (mod 12) 6*9 (mod 12) 6*10 (mod 12) 6*11 (mod 12) 0 6 0 6 0 6 Définition formelle d’un anneau arithmétique fini L’expression a ≡ b (mod n) est interprétée comme “a est congru à b, modulo n,” et est valable si (b-a) est un multiple de n. Avec cette définition, les règles de l’arithmétique se simplifient comme suit : Si alors a ≡ b (mod n) et c ≡ d (mod n), a+c ≡ b+d (mod n), a-c ≡ b - d (mod n), a×c ≡ b×d (mod n). Pour les divisions, suivez les règles précédentes. Par exemple, 17 ≡ 5 (mod 6), et 21 ≡ 3 (mod 6). En utilisant ce principe, nous pouvons écrire : 17 + 21 ≡ 5 + 3 (mod 6) => 38 ≡ 8 (mod 6) => 38 ≡ 2 (mod 6) 17 – 21 ≡ 5 - 3 (mod 6) => -4 ≡ 2 (mod 6) 17 × 21 ≡ 5 × 3 (mod 6) => 357 ≡ 15 (mod 6) => 357 ≡ 3 (mod 6) Notez que chaque fois qu’un résultat dans la partie à droite du symbole de “congruence” est supérieur au module (dans ce cas, n = 6), vous pouvez toujours soustraire un multiple du module de ce résultat et le simplifier en un nombre inférieur au module. Par conséquent, le résultat dans le premier cas 8 (mod 6) se simplifie en 2 (mod 6) et le résultat du troisième cas, 15 (mod 6) se simplifie en 3 (mod 6). Un peu perdu? Cela ira mieux si vous laissez la calculatrice se charger de ces opérations. Par conséquent, lisez la section suivante pour comprendre comment la calculatrice fonctionne avec les anneaux arithmétiques finis. Page 5-15 Anneaux arithmétiques finis dans la calculatrice Depuis le début, nous avons défini nos opérations arithmétiques finies de telle sorte que les résultats soient toujours positifs. Le système arithmétique modulaire dans la calculatrice est paramétré de telle sorte que l’anneau de module n inclue les nombres -n/2+1, …,-1, 0, 1,…,n/2-1, n/2, si n est pair, et –(n-1)/2, -(n-3)/2,…,-1,0,1,…,(n-3)/2, (n-1)/2, si n est impair. Par exemple, pour n = 8 (pair), l’anneau arithmétique fini dans la calculatrice comprend les nombres : (-3,-2,-1,0,1,3,4), tandis que pour n = 7 (impair), l’anneau arithmétique fini de la calculatrice correspondant est donné par (-3,2,-1,0,1,2,3). Arithmétique modulaire dans la calculatrice Pour lancer le menu arithmétique modulaire dans la calculatrice, sélectionner le sous-menu MODULO dans le menu ARITHMETIC („Þ). Le menu disponible propose les fonctions suivantes : ADDTMOD, DIVMOD, DIV2MOD, EXPANDMOD, FACTORMOD, GCDMOD, INVMOD, MOD, MODSTO, MULTMOD, POWMOD, et SUBTMOD. De brèves descriptions de ces fonctions ont été données dans une section précédente. Nous allons présenter par la suite quelques applications de ces fonctions. Paramétrer le module (ou MODULO) La calculatrice contient une variable appelée MODULO qui est placée dans le répertoire {HOME CASDIR} et va enregistrer la magnitude du module à utiliser dans l’arithmétique modulaire. La valeur par défaut du MODULO est 13. Pour changer la valeur du MODULO, vous pouvez soit enregistrer la nouvelle valeur directement dans la variable MODULO du sous-répertoire {HOME CASDIR} Sinon, vous pouvez enregistrer une nouvelle valeur de MODULO en utilisant la fonction MODSTO. Opération d’arithmétique modulaire avec des nombres Pour ajouter, soustraire, multiplier, diviser et élever à une puissance en arithmétique modulaire vous utiliserez les fonctions ADDTMOD, SUBTMOD, MULTMOD, DIV2MOD et DIVMOD (pour la division), et POWMOD. En mode RPN, vous devez saisir les deux nombres sur lequel le calcul doit être Page 5-16 effectué, en les séparant par [ENTER] ou [SPC], puis appuyez sur la fonction d’arithmétique modulaire correspondante. Par exemple, en module 12, essayer les opérations suivantes : Exemples de ADDTMOD 6+5 ≡ -1 (mod 12) 6+6 ≡ 0 (mod 12) 11+5 ≡ 4 (mod 12) 8+10 ≡ -6 (mod 12) 6+7 ≡ 1 (mod 12) Exemples de SUBTMOD 5 – 7 ≡ -2 (mod 12) 8 – 4 ≡ 4 (mod 12) 11 – 8 ≡ 3 (mod 12) 8 – 12 ≡ -4 (mod 12) 5 –10 ≡ -5 (mod 12) Exemples de MULTMOD 6⋅8 ≡ 0 (mod 12) 9⋅8 ≡ 0 (mod 12) 5⋅6 ≡ 6 (mod 12) 11⋅3 ≡ -3 (mod 12) 3⋅2 ≡ 6 (mod 12) Exemples de DIVMOD 12/3 ≡ 4 (mod 12) 12/8 (mod 12) n'existe pas 25/5 ≡ 5 (mod 12) 64/13 ≡ 4 (mod 12) 66/6 ≡ -1 (mod 12) Exemples de DIV2MOD 2/3 (mod 12) n'existe pas 26/12 (mod 12) n'existe pas 125/17 (mod 12) ≡ 1 avec reste = 0 68/7 ≡ -4 (mod 12) avec reste = 0 7/5 ≡ -1 (mod 12) avec reste = 0 Note: DIVMOD donne le quotient de la division modulaire j/k (mod n), tandis que DIMV2MOD fournit non seulement le quotient mais aussi le reste de la division modulaire j/k (mod n). Exemples de POWMOD 35≡ 3 (mod 12) 23≡ -4 (mod 12) 8 11 ≡ 1 (mod 12) 62 ≡ 0 (mod 12) 510≡ 1 (mod 12) 99 ≡ -3 (mod 12) Page 5-17 Dans les exemples d’opérations d’arithmétique modulaire présentés ci-dessus, nous avons utilisé des nombres qui n’appartiennent pas nécessairement à l’anneau, c’est-à-dire des nombres tels que 66, 125, 17, etc. La calculatrice convertit ces nombres en nombres de l’anneau avant de procéder au calcul. Vous pouvez aussi convertir n’importe quel nombre en nombre de l’anneau en utilisant la fonction EXPANDMOD. Par exemple, EXPANDMOD(125) ≡ 5 (mod 12) EXPANDMOD(17) ≡ 5 (mod 12) EXPANDMOD(6) ≡ 6 (mod 12) L’inverse modulaire d’un nombre Supposons qu’un nombre k appartienne à un anneau arithmétique fini de module n, alors l’inverse modulaire de k, c’est-à-dire 1/k (mod n), est le nombre j, tel que j⋅k ≡ 1(mod n). L’inverse modulaire d’un nombre peut être obtenu en utilisant la fonction INVMOD dans le sous-menu MODULO du sousmenu ARITHMETIC. Par exemple, en arithmétique module 12 : 1/6 (mod 12) n'existe pas 1/7 ≡ -5 (mod 12) 1/11 ≡ -1 (mod 12) 1/5 ≡ 5 (mod 12) 1/3 (mod 12) n'existe pas L’opérateur MOD L’opérateur MOD est utilisé pour obtenir le nombre de l’anneau d’un module donné correspondant à un entier donné. Sur le papier, cette opération s’écrit m mod n = p et se lit “m modulo n est égal à p”. Par exemple, pour calculer 15 mod 8, saisir : • • mode ALG : mode RPN : 15 MOD 8` 15`8` MOD Le résultat est 7, c'est-à-dire 15 mod 8 = 7. Essayez les exercices suivants : 18 mod 11 = 7 23 mod 2 =1 40 mod 13 = 1 23 mod 17 = 6 34 mod 6 = 4 Page 5-18 Une application pratique de la fonction MOD à des fins de programmation est de déterminer quand un nombre entier est pair ou impair, puisque si n mod 2 = 0, si n est pair, et n mode 2 = 1, si n est impair. Elle peut aussi être utilisée pour déterminer quand un entier m est un multiple d’un autre entier n, car si tel est le cas m mod n = 0. Note: Se référer à l’option d’aide de la calculatrice pour la description et des exemples d’autres éléments d'arithmétique modulaire. Plusieurs de ces fonctions sont applicables aux polynômes. Pour des informations sur l’arithmétique modulaire avec des polynômes, veuillez vous référer à un manuel sur la théorie des nombres. Polynômes Les polynômes sont des expressions algébriques consistant en un ou plusieurs termes contenant des puissances décroissantes d’une variable donnée. Par exemple, ‘X^3+2*X^2-3*X+2’ est un polynôme de troisième degré de X, tandis que ‘SIN(X)^2-2’ est un polynôme de deuxième degré de SIN(X). Une liste des fonctions du menu ARITHMETIC liées aux polynômes a été présentée plus tôt. Quelques définitions générales sur les polynômes sont proposées ciaprès. Dans ces définitions, A(X), B(X), C(X), P(X), Q(X), U(X), V(X), etc., sont des polynômes. • Fraction polynomiale : une fraction dont le numérateur et le dénominateur sont des polynômes, disons C(X) = A(X)/B(X) • Racines ou zéros, d’un polynôme : valeurs de X pour lesquelles P(X) = 0 • Pôles d’une fraction : racines du dénominateur • Multiplicité des racines ou des pôles : nombre de fois qu’une racine apparaît, c’est-à-dire P(X) = (X+1)2(X-3) a les racines {-1, 3} avec des multiplicités {2,1} • Polynôme cyclothymique (Pn(X)): un polynôme d’ordre d’EULER(n) dont les racines sont les primitives nièmes racines de l’unité, à savoir, P2(X) = X+1, P2 4(X) = X +1 • Equation du polynôme de Bézout : A(X) U(X) + B(X)V(X) = C(X) Des exemples d’applications de ces fonctions sont illustrés ci-dessous. Page 5-19 Arithmétique modulaire avec des polynômes De la même façon que nous avons défini un anneau arithmétique fini pour les nombres dans une section précédente, nous pouvons définir un anneau arithmétique fini pour les polynômes avec un polynôme donné comme module. Par exemple, nous pouvons écrire un certain polynôme P(X) comme P(X) = X (mod X2) ou un autre polynôme Q(X) = X + 1 (mod X-2). Un polynôme P(X) appartient à un anneau arithmétique fini de modules polynomiaux M(X), s’il existe un troisième polynôme Q(X), tel que (P(X) – Q(X)) est un multiple de M(X). Nous pourrions alors écrire : P(X) ≡ Q(X) (mod M(X)). Cette dernière expression est interprétée comme “P(X) est congru à Q(X), modulo M(X)”. Fonction CHINREM CHINREM signifie CHINese REMainder (théorème Chinois). L’opération encodée dans cette commande résout un système de deux congruences utilisant le Théorème Chinois. Cette commande peut être utilisée avec des polynômes, de même qu’avec des nombres entiers (fonction ICHINREM). Les données d’entrée’ consistent en deux vecteurs [expression_1, modulo_1] et [expression_2, modulo_2]. Les données de sortie sont un vecteur contenant [expression_3, modulo_3], où modulo_3 est lié au produit (modulo_1)⋅(modulo_2). Exemple: CHINREM([‘X+1’, ‘X^2-1’],[‘X+1’,’X^2’]) = [‘X+1’,-(X^4-X^2)] Déclaration du Théorème Chinois pour les entiers Si m1, m2,…,mr sont des nombres naturels dont chaque paire est un nombre premier relatif et : a1, a2, …, ar sont des entiers quelconques, alors il existe un entier x qui satisfait simultanément les congruences : x ≡ a1 (mod m1), x ≡ a2 (mod m2), …, x ≡ ar (mod mr). De plus, si x = a est une solution quelconque, alors toutes les autres solutions sont congruentes à un modulo égal au produit m1⋅m2⋅ … mr. Fonction EGCD EGCD signifie Extended Greatest Common Divisor (Plus grand diviseur commun étendu). Etant donné deux polynômes, A(X) et B(X), la fonction EGCD produit les polynômes C(X), U(X), et V(X), de telle sorte que C(X) = U(X)*A(X) Page 5-20 + V(X)*B(X). Par exemple, pour A(X) = X^2+1, B(X) = X^2-1, EGCD(A(X),B(X)) = {2, 1, -1}. c’est-à-dire 2 = 1*( X^2+1’)-1*( X^2-1). De même, EGCD(‘X^32*X+5’,’X’) = { 5, ‘-(X^2-2)’, 1}, c’est-à-dire 5 = – (X^2-2)*X + 1*(X^32*X+5). Fonction GCD La fonction GCD (Greatest Common Denominator, Plus grand dénominateur commun) peut être utilisée pour obtenir le plus grand dénominateur commun de deux polynômes ou de deux listes de polynômes de la même longueur. Les deux polynômes ou listes de polynômes seront placés dans la pile de niveau 2 et 1 avant d’utiliser GCD. Les résultats seront un polynôme ou une liste représentant le plus grand dénominateur commun des deux polynômes ou de chaque liste de polynômes. Des exemples en mode RPN sont présentés cidessous (la calculatrice est paramétrée sur mode Exact) : ‘X^3-1’`’X^2-1’`GCD donne comme résultat : ‘X-1’ {‘X^2+2*X+1’,’X^3+X^2’} ` {‘X^3+1’,’X^2+1’} ` GCD donne comme résultat {‘X+1’ 1} Fonction HERMITE La fonction HERMITE [HERMI] utilise comme argument un nombre entier, k, et retourne le polynôme de Hermite d’ordre k. Un polynôme d’Hermite, Hek(x), est défini comme He0 = 1, Hen ( x) = (−1) n e x 2 /2 d n −x2 / 2 (e ), n = 1,2,... dx n Une définition alternative des polynômes de Hermite est H 0 * = 1, H n * ( x) = (−1) n e x 2 d n −x2 (e ), n = 1,2,... dx n où dn/dxn = dérivée nième par rapport à x. Il s’agit de la définition utilisée par la calculatrice. Exemple: Les polynômes de Hermite d’ordre 3 et 5 sont donnés par : HERMITE(3) = ‘8*X^3-12*X’ , Et HERMITE(5) = ‘32*x^5-160*X^3+120*X’. Page 5-21 Fonction HORNER La fonction HORNER effectue la division de Horner, ou division artificielle, d’un polynôme P(X) par le facteur (X-a). Les données d’entrée de la fonction sont les polynômes P(X) et le nombre a. La fonction retourne le quotient polynomial Q(X) qui résulte de la division de P(X) par (X-a), la valeur de a, et la valeur de P(a), dans cet ordre. En d’autres termes, P(X) = Q(X)(X-a)+P(a). Par exemple, HORNER(‘X^3+2*X^2-3*X+1’,2) = {‘X^2+4*X+5’, 2, 11}. Nous pourrions, par conséquent, écrire X3+2X2-3X+1 = (X2+4X+5)(X-2)+11. Deuxième exemple : HORNER(‘X^6-1’,-5)= {’X^5-5*X^4+25*X^3125*X^2+625*X-3125’,-5, 15624} c’est-à-dire X6-1 = (X5-5*X4+25X3-125X2 +625X-3125)(X+5)+15624. La variable VX Une variable appelée VX existe dans le répertoire de la calculatrice {HOME CASDIR}. Elle prend, par défaut, la valeur de ‘X’. Il s’agit du nom de la variable indépendante la plus fréquemment utilisée pour les applications algébriques et infinitésimales. Evitez d’utiliser la variable VX dans vos programmes ou équations afin de ne pas confondre avec le CAS’ VX. Si vous avez besoin de vous référer à la composante x de la vélocité, par exemple, vous pouvez utiliser vx ou Vx. Pour plus d'information sur la variable CAS, voir Appendice C. Fonction LAGRANGE La fonction LAGRANGE nécessite comme données d’entrée une matrice de deux lignes et n colonnes. La matrice enregistre les points de données de forme [[x1,x2, …, xn] [y1, y2, …, yn]]. L’application de la fonction LAGRANGE produit le polynôme développé de n n pn −1 ( x) = ∑ j =1 ∏(x − x ) k k =1, k ≠ j n ∏(x k =1, k ≠ j j − xk ) ⋅ y j. Par exemple, pour n = 2, nous allons écrire : Page 5-22 p1 ( x) = x − x2 x − x1 ( y − y2 ) ⋅ x + ( y2 ⋅ x1 − y1 ⋅ x2 ) ⋅ y1 + ⋅ y2 = 1 x1 − x2 x2 − x1 x1 − x2 Vérifiez ce résultat avec la calculatrice : LAGRANGE([[ x1,x2],[y1,y2]]) = ‘((y1-y2)*X+(y2*x1-y1*x2))/(x1-x2)’. D’autres exemples : LAGRANGE([[1, 2, 3][2, 8, 15]]) = ‘(X^2+9*X-6)/2’ LAGRANGE([[0.5,1.5,2.5,3.5,4.5][12.2,13.5,19.2,27.3,32.5]]) = ‘-(.1375*X^4+ -.7666666666667*X^3+ - .74375*X^2 = 1.991666666667*X-12.92265625)’. Note: les matrices sont introduites au Chapitre 10. Fonction LCM La fonction LCM (Least Common Multiple, plus petit commun multiple) obtient le plus petit commun multiple de deux polynômes ou d’une liste de polynômes de même longueur. Exemple : LCM(‘2*X^2+4*X+2’ ,‘X^2-1’ ) = ‘(2*X^2+4*X+2)*(X-1)’. LCM(‘X^3-1’,‘X^2+2*X’) = ‘(X^3-1)*( X^2+2*X)’ Fonction LEGENDRE Un polynôme de Legendre d’ordre n est une fonction polynomiale qui résout l’équation différentielle suivante : (1 − x 2 ) ⋅ dy d2y − 2 ⋅ x ⋅ + n ⋅ (n + 1) ⋅ y = 0 2 dx dx Pour obtenir le polynôme de Legendre d’ordre n, utilisez LEGENDRE(n), par exemple, LEGENDRE(3) = ‘(5*X^3-3*X)/2’ LEGENDRE(5) = ‘(63*X ^5-70*X^3+15*X)/8’ Page 5-23 Fonction PCOEF Dans une série contenant les racines d’un polynôme, la fonction PCOEF génère une série contenant les coefficients du polynôme correspondant. Les coefficients correspondent à la valeur, dans l’ordre décroissant, de la variable indépendante. Par exemple : PCOEF([-2,–1,0,1,1,2]) = [1. –1. –5. 5. 4. –4. 0.], qui représente le polynôme X6-X5-5X4+5X3+4X2-4X. Fonction PROOT Dans une série contenant les coefficients d’un polynôme, dans l’ordre décroissant, la fonction PROOT fournit les racines du polynôme. Par exemple, à partir de X2+5X-6 =0, PROOT([1 –5 6]) = [2.3.]. Fonction PTAYL Etant donné un polynôme P(X) et un nombre a, la fonction PTAYL est utilisée pour obtenir une expression Q(X-a) = P(X), c’est-à-dire pour développer un polynôme en puissances de (X- a). Ceci est également connu comme le polynôme de Taylor, d’où le nom de la fonction, Polynôme & TAYLor, poursuivre. Par exemple, PTAYL(‘X^3-2*X+2’,2) = ‘X^3+6*X^2+10*X+6’. En fait, vous devez interpréter ce résultat comme signifiant ‘(X-2) ^3+6*(X-2) ^2+10*(X-2) +6’. Vérifions en utilisant la substitution : ‘X = x – 2’. Nous retrouvons le polynôme original, mais en terme de x minuscule plutôt que de x majuscule. Les fonctions QUOT et REMAINDER Les fonctions QUOT et REMAINDER fournissent, respectivement, le quotient Q(X) et le reste R(X) résultant de la division de deux polynômes, P1(X) and P2(X). En d’autres termes, elles fournissent les valeurs de Q(X) et R(X) à partir de P1(X)/P2(X) = Q(X) + R(X)/P2(X). Par exemple : QUOT(X^3-2*X+2, X-1) = X^2+X-1 REMAINDER(X^3-2*X+2, X-1) = 1. Page 5-24 Par conséquent, nous pouvons écrire : (X3-2X+2)/(X-1) = X2+X-1 + 1/(X-1). Note : Vous pourriez obtenir le même résultat en utilisant PROPFRAC: PROPFRAC(‘(X^3-2*X+2)/(X-1)’) = ‘X^2+X-1 + 1/(X-1)’. Fonction EPSX0 et la variable du CAS EPS La variable ε (epsilon) est généralement utilisée dans les manuels de mathématiques pour représenter un très petit nombre. Le CAS de la calculatrice crée une variable EPS avec une valeur par défaut de 0.0000000001 = 10-10, quand vous utilisez la fonction EPSX0. Vous pouvez changer cette valeur, une fois qu’elle a été créée, si vous préférez une valeur différente de EPS. La fonction EPSX0, lorsqu’elle est appliquée à un polynôme, remplace tous les coefficients dont la valeur absolue est inférieure à EPS avec un zéro. La fonction EPSX0 n’est pas disponible dans le menu ARITHMETIC, il faut y accéder à travers le catalogue de fonctions (N). Exemple: EPSX0(‘X^3-1.2E-12*X^2+1.2E-6*X+6.2E-11)= ‘X^3-0*X^2+.0000012*X+0’. Avec µ: ‘X^3+.0000012*X’. Fonction PEVAL La fonctionPEVAL (Polynomial EVALuation) peut être utilisée pour évaluer un polynome p(x) = an⋅xn+an-1⋅x n-1+ …+ a2⋅x2+a1⋅x+ a0, étant donné la série de coefficients [an, an-1, … a2, a1, a0] et une valeur pour x0. Le résultat est l'évaluation p(x0). La fonction PEVAL n’est pas disponible dans le menu ARITHMETIC, il faut y accéder à travers le catalogue de fonctions (‚N). Exemple : PEVAL([1,5,6,1],5) = 281. Fonction TCHEBYCHEFF La fonction TCHEBYCHEFF(n) génère le polynôme de Tchebychev ou Tchebycheff de premier type, d’ordre n, étant donnée une valeur de Tn(X) = cos(n⋅arccos(X)). Si l’entier n est négatif (n < 0), la fonction TCHEBYCHEFF(n) Page 5-25 génère un polynôme de deuxième type d’ordre n dont la définition est Tn(X) = sin(n⋅arccos(X))/sin(arccos(X)). Exemple : TCHEBYCHEFF(3) = 4*X^3-3*X TCHEBYCHEFF(-3) = 4*X^2-1 Fractions Les fractions peuvent être développées et mises en facteur commun en utilisant les fonctions EXPAND et FACTOR dans le menu ALG (‚×). Par exemple : EXPAND(‘(1+X)^3/((X-1)(X+3))’) = ‘(X^3+3*X^2+3*X+1)/(X^2+2*X-3)’ EXPAND(‘(X^2*(X+Y)/(2*X-X^2)^2’) = ‘(X+Y)/(X^2-4*X+4)’ EXPAND(‘X*(X+Y)/(X^2-1)’) = ‘(X^2+Y*X)/(X^2-1)’ EXPAND(‘4+2*(X-1)+3/((X-2)*(X+3))-5/X^2’) = ‘(2*X^5+4*X^4-10*X^3-14*X^2-5*X)/(X^4+X^3-6*X^2)’ FACTOR(‘(3*X^3-2*X^2)/(X^2-5*X+6)’) = ‘X^2*(3*X-2)/((X-2)*(X-3))’ FACTOR(‘(X^3-9*X)/(X^2-5*X+6)’ ) = ‘X*(X+3)/(X-2)’ FACTOR(‘(X^2-1)/(X^3*Y-Y)’) = ‘(X+1)/((X^2+X+1)*Y)’ Fonction SIMP2 Les fonctions SIMP2 et PROPFRAC sont utilisées respectivement pour simplifier une fraction et pour obtenir une fraction correcte. La fonction SIMP2 prend pour argument deux nombres ou polynômes représentant le numérateur et le dénominateur d’une fraction rationnelle et calcule le numérateur et le dénominateur simplifiés. Exemple : SIMP2(‘X^3-1’,’X^2-4*X+3’) = { ‘X^2+X+1’,‘X-3’}. Fonction PROPFRAC La fonction PROPFRAC convertit une fraction rationnelle en fraction “correcte“, c'est-à-dire en un entier additionné à une fraction, si une telle décomposition est possible. Exemple : PROPFRAC(‘5/4’) = ‘1+1/4’ PROPFRAC(‘(x^2+1)/x^2’) = ‘1+1/x^2’ Page 5-26 Fonction PARTFRAC La fonction PARTFRAC décompose une fraction rationnelle en fractions partielles qui produisent la fraction originale. Par exemple : PARTFRAC(‘(2*X^6-14*X^5+29*X^4-37*X^3+41*X^2-16*X+5)/(X^57*X^4+11*X^3-7*X^2+10*X)’) = ‘2*X+(1/2/(X-2)+5/(X-5)+1/2/X+X/(X^2+1))’ Cette technique est utile pour calculer les intégrales (voir chapitre sur les calculs) des fractions rationnelles. Si vous êtes en mode Complexe, le résultat sera : ‘2*X+(1/2/(X+i)+1/2/(X-2)+5/(X-5)+1/2/X+1/2/(X-i))’ Fonction FCOEF La fonction FCOEF est utilisée pour obtenir une fraction rationnelle à partir des racines et des pôles de la fraction. Note: Si une fraction rationnelle est produite sous forme F(X) = N(X)/D(X), les racines de la fraction sont données par la résolution de l’équation N(X) = 0, tandis que les pôles sont donnés par la résolution de l’équation D(X) = 0. La base de la fonction est un vecteur faisant la liste des racines suivies de leur multiplicité (c’est-à-dire, combien de fois une racine donnée est répétée), et les pôles suivis de leur multiplicité représentée comme un nombre négatif. Par exemple, si vous voulez créer une fraction de racines 2 avec multiplicité 1, 0 de multiplicité 3, et -5 de multiplicité 2, et des pôles 1 de multiplicité 2 et –3 de multiplicité 5, utilisez : FCOEF([2 1 0 3 –5 2 1 -2 -3 -5]) = ‘(X--5)^2*X^3*(X-2)/(X--3)^5*(X-1)^2’ Si vous appuyez sur µ vous obtenez : Page 5-27 ‘(X^6+8*X^5+5*X^4-50*X^3)/(X^7+13*X^6+61*X^5+105*X^4-45*X^3297*X^2-81*X+243)’ Fonction FROOTS La fonction FROOTS calcule les racines et les pôles d’une fraction. A titre d’exemple, si l’on applique la fonction FROOTS au résultat obtenu ci-dessus, on obtient : [1 -2 . -3 -5. 0 3. 2 1. -5 2.]. Le résultat indique les pôles suivis de leur multiplicité sous forme de nombre négatif et les racines suivies de leur multiplicité sous forme de nombre positif. Dans ce cas, les pôles sont (1, -3) avec les multiplicités respectives (2,5) et les racines sont (0, 2, -5) avec les multiplicités respectives (3, 1, 2). Autre exemple : FROOTS(‘(X^2-5*X+6)/(X^5-X^2)’)= [0 –2.1 –1.3 1.2 1.]., c’est-à-dire pôles = 0 (2), 1(1) et racines = 3(1), 2(1). Si vous sélectionniez le mode Complex, le résultat serait le suivant : [0 –2. 1 –1. ‘-((1+i*√3)/2’ –1. ‘((1-i*√3)/2’ –1.]. Opérations étape par étape avec des polynômes et des fractions En paramétrant les modes du CAS sur étape par étape, la calculatrice affiche les simplifications des fractions ou les opérations avec des polynômes étape par étape. Cela est très utile pour visualiser les étapes d’une division synthétique. L’exemple de la division X 3 − 5X 2 + 3X − 2 X −2 est expliqué en détail dans l'appendice C. L’exemple suivant illustre une division synthétique plus longue : X 9 −1 X 2 −1 Page 5-28 Le menu CONVERT et les opérations algébriques Le menu logiciel CONVERT peut être activé en utilisant la touche „Ú (la touche 6). Ce menu résume tous les menus de conversion de la calculatrice. La liste de ces menus est présentée ci-dessous : Les fonctions acessibles dans les sous-menus sont également présentées cidessous. Page 5-29 Menu de conversion UNITS (Option 1) Ce menu est le même que le menu UNITS obtenu en utilisant ‚Û. Les applications de ce menu sont discutées en détail au Chapitre 3. Menu de conversion BASE (Option 2) Ce menu est le même que le menu BASE obtenu en utilisant ‚ã. Les applications de ce menu sont discutées en détail dans le Chapitre 19. Menu de conversion TRIGONOMETRIC (Option 3) Ce menu est le même que le menu TRIG obtenu en utilisant ‚Ñ. Les applications de ce menu sont discutées en détail dans le présent Chapitre. Menu de conversion MATRICES (Option 5) Ce menu contient également les fonctions suivantes : Ces fonctions sont discutées en détails au Chapitre 10. Menu de conversion REWRITE (Option 4) Ce menu contient également les fonctions suivantes : Page 5-30 Les fonctions IR et RI sont utilisées pour convertir un nombre d’entier (I) à réel (R), ou vice versa. Les nombres entiers sont affichés sans point décimal, tandis que les nombres réels représentant des entiers seront affectés d’un point décimal, c'est-à-dire La fonction NUM a le même effet que la combinaison de touches ‚ï (associée à la touche ` ). La fonction NUM convertit un résultat symbolique en sa valeur à virgule flottante. La fonction Q convertit une valeur à virgule flottante en une fraction. La fonction Qπ convertit la valeur à virgule flottante en une fraction de π, si une fraction de π peut être trouvée pour ce nombre, sinon la fonction convertit le nombre en fraction. Des exemples d’applications de ces trois fonctions sont illustrés ci-dessous. Parmi les fonctions du menu REWRITE, les fonctions DISTRIB, EXPLN, EXP2POW, FDISTRIB, LIN, LNCOLLECT, POWEREXPAND et SIMPLIFY s’appliquent aux expressions algébriques. Plusieurs de ces fonctions sont présentées dans le présent Chapitre. Cependant, dans un souci d’exhaustivité, nous présentons ici les entrées de la fonction Aide pour ces fonctions : DISTRIB EXPLN Page 5-31 EXP2POW FDISTRIB LIN LNCOLLECT POWEREXPAND SIMPLIFY Page 5-32 Chapitre 6 Résolution d’équations singulières Dans ce chapitre, nous introduisons les fonctions de la calculatrice utiles pour résoudre des équations singulières du type f(X) = 0. Deux menus de fonctions de résolution d’équations sont associés à la touche 7, le menu de résolution symbolique “Symbolic SOLVer“ („Î) et le menu de résolution numérique “NUMerical SoLVer“ (‚Ï). Nous vous présentons ci-dessous certaines des fonctions contenues dans ces menus. Basculez du mode CAS au mode Complex pour mettre en pratique cet exercice (voir Chapitre 2). Résolution symbolique des équations algébriques Nous décrivons ici certaines des fonctions du menu de résolution symbolique “Symbolic Solver“. Activer le menu en utilisant la combinaison de touches appropriée. Si l’indicateur système 117 est paramétré sur CHOOSE boxes, les listes de menu suivantes s’affichent : Les fonctions DESOLVE et LDEC sont utilisées pour trouver la solution d'équations différentielles; elles font l'objet d'un autre chapitre, et donc ne seront pas présentées ici. De même, la fonction LINSOLVE est utilisée pour trouver la solution d'équations linéaires multiples et donc sera, elle aussi, présentée dans un autre chapitre. Les fonctions ISOL et SOLVE peuvent être utilisées pour toute inconnue dans une équation polynomiale. La fonction SOLVZVX résout une équation polynomiale où l’inconnue est la variable par défaut du CAS VX (paramétré généralement comme ‘X’). Finalement, la fonction ZEROS calcule les zéros, ou racines, des polynômes. Les entrées de toutes les fonctions du menu S.SLV, sauf la fonction ISOL, sont accessibles par l’intermédiaire de la fonction d'aide du CAS (IL@HELP ). Page 6-1 Fonction ISOL La fonction ISOL (Equation, variable) donnera la ou les solutions à une Equation en isolant une variable. Par exemple, avec la calculatrice paramétrée en mode ALG, pour trouver t dans l’équation at3-bt = 0 nous pouvons procéder comme suit : En utilisant le mode RPN, on trouvera la solution en saisissant l’équation dans la pile, suivie de la variable, avant d’entrer dans la fonction ISOL. Juste avant d’exécuter la fonction ISOL, la pile RPN doit ressembler à l’illustration de gauche. Après avoir appliqué la fonction ISOL, le résultat s’affiche comme dans l’illustration de droite : Le premier argument dans ISOL peut être une expression, comme illustré cidessus, ou une équation. Par exemple, en mode ALG, essayez : Note: Pour saisir le signe égale (=) dans une équation, utiliser ‚Å (associée à la touche \ ). Le même problème peut être résolu en mode RPN de la façon présentée cidessous (les illustrations montrent la pile RPN avant et après l’application de la fonction ISOL) : Page 6-2 Fonction SOLVE La fonction SOLVE utilise la même syntaxe que la fonction ISOL, sauf que SOLVE peut aussi être utilisée pour résoudre des équations polynomiales. L’entrée de la fonction d’aide de la calculatrice pour la fonction SOLVE, présentant la solution de l’équation X^4 – 1 = 3, est illustrée ci-dessous : Les exemples suivants montrent comment utiliser la fonction SOLVE en mode ALG et RPN : La saisie d’écran ci-dessus affiche deux solutions. Pour la première, β4-5β =125, SOLVE n’a pas trouvé de solution { }. Pour la seconde, β4 - 5β = 6, SOLVE a trouvé quatre solutions, affichées à la dernière ligne. La toute dernière solution n’est pas visible car l’affichage du résultat nécessite plus de caractères que la largeur d’écran ne le permet. Cependant, vous pouvez toujours voir toutes les solutions en utilisant la flèche directionnelle vers le bas (˜), qui enclenche l’éditeur de ligne (cette opération peut être utilisée pour accéder à n’importe quelle ligne de résultat dépassant la largeur de la calculatrice) : Page 6-3 Les écrans RPN correspondants à ces deux exemples, avant et après application de la fonction SOLVE, sont illustrés ci-dessous : Utiliser la flèches vers le bas (˜) en ce mode lancera l'éditeur de ligne : Fonction SOLVEVX La fonction SOLVEVX résout une équation avec la variable par défaut du CAS contenue dans la variable réservée nommée VX. Par défaut, cette variable est paramétrée comme ‘X’. Des exemples utilisant le mode ALG avec VX = ‘X’ sont présentés ci-dessous : Dans le premier cas, SOLVEVX n’a pas trouvé de solution. Dans le deuxième cas, SOLVEVX a trouvé une seule solution, X = 2. Les écrans suivants montrent la pile RPN pour la résolution des deux exemples ci-dessus (avant et après application de la fonction SOLVEVX): Page 6-4 L'équation qui tient lieu d'argument pour la fonction SOLVEVX doit être simplifiable en une expression rationelle. Par exemple, l'équation suivante ne sera pas acceptée par SOLVEVX : Fonction ZEROS La fonction ZEROS trouve les solutions d’équations polynomiales sans indiquer leur multiplicité. Cette fonction nécessite de saisir l’expression de l’équation et le nom de la variable qui doit être trouvée. Des exemples en mode ALG sont présentés ci-dessous : Pour utiliser la fonction ZEROS en mode RPN, saisir d’abord l’expression polynomiale, puis la variable à trouver, puis la fonction ZEROS. Les saisies d’écran suivantes montrent la pile RPN avant et après application de la fonction ZEROS aux deux exemples ci-dessus : Les fonctions du menu de résolution symbolique “Symbolic Solver“ présentées ci-dessus donnent des solutions à des équations rationnelles (essentiellement des équations polynomiales). Si l’équation à résoudre est affectée de coefficients numériques, il est possible de trouver une solution numérique en utilisant les options de résolution numérique de la calculatrice. Page 6-5 Menu de Résolution numérique La calculatrice offre un environnement très puissant pour résoudre des équations algébriques simples ou des équations transcendantes. Pour accéder à cet environnement, vous devez lancer le calculateur numérique " numerical solver" (NUM.SLV) en utilisant ‚Ï. Cela affiche un menu déroulant qui présente les options suivantes : L'option 2. Solve diff eq.. sera présentée dans un autre chapitre, avec les équations différentielles. L'option 4. Solve lin sys.. sera présentée dans un autre chapitre, avec les matrices. L’option 6. MSLV (Multiple equation SoLVer) sera présentée dans le chapitre suivant. Nous vous présentons ci-dessous les applications des options 3. Solve poly.., 5. Solve finance, et 1. Solve equation .., dans cet ordre. L’Annexe 1-A, à la fin du Chapitre 1, contient des instructions sur la façon d’utiliser les formulaires de saisie avec des exemples d'application du calculateur numérique. Notes: 1. Chaque fois que vous résolvez une équation pour une valeur donnée dans les applications NUM.SLV, la valeur trouvée est placée dans la pile. Ceci est pratique si vous avez besoin de conserver cette valeur pour d’autres opérations. 2. Une ou plusieurs variables seront créées chaque fois que vous activez certaines des applications du menu NUM.SLV. Equations polynomiales En utilisant l’option Solve poly… dans l’environnement SOLVE de la calculatrice, vous pouvez : (1) Trouvez les solutions d’équations polynomiales; (2) Obtenir les coefficients polynomiaux ayant un nombre de racines donné; Page 6-6 (3) Obtenir une expression algébrique pour le polynôme sous forme de fonction de X. Trouver les solutions d’une équation polynomiale Une équation polynomiale est une équation de forme : anxn + an-1xn-1 + …+ a1x + a0 = 0. Le théorème fondamental algébrique indique qu'il y a n solutions pour toutes les équations polynominals d'ordre n. De toute façon, il se peut que certaines des solutions soient des nombres complexes. Par exemple, résolvons l’équation : 3s4 + 2s3 - s + 1 = 0. Nous voulons placer les coefficients de l’équation dans un vecteur : [an,an-1,a1 a0]. Pour cet exemple, nous utilisons le vecteur : [3,2,0,-1,1]. Pour résoudre cette équation polynomiale en utilisant la calculatrice, essayez la démarche suivante : ‚Ϙ˜@@OK@@ Sélectionner Solve poly… „Ô3‚í2‚í 0 ‚í 1\‚í1@@OK@@ Saisir le vecteur des coefficients @SOLVE@ Résoudre l’équation L’écran affichera la solution comme suit : Appuyer sur ` pour retourner à la pile. La pile indiquera les résultats suivants en mode ALG (le même résultat s’afficherait aussi en mode RPN) : Pour voir toutes les solutions, appuyez sur la touche directionnelle vers le bas (˜) pour lancer l’éditeur de ligne : Page 6-7 Toutes les solutions sont des nombres complexes: (0.432,0.389), (-0.766, 0.632), (-0.766, -0.632). (0.432,-0.389), Note: N’oubliez pas que les nombres complexes sont représentés dans la calculatrice en paires ordonnées, le premier nombre de la paire étant la partie réelle et le deuxième nombre, la partie imaginaire. Par exemple, le nombre (0.432,-0.389), un nombre complexe, s’écrira normalement comme 0.432 - 0.389i, où i est l’unité imaginaire. Ainsi : i2 = -1. Note: Le Théorème algébrique fondamental indique qu’il existe n solutions pour n’importe quelle équation polynomiale d’ordre n. Il existe un autre théorème algébrique qui indique que si l’une des solutions à une équation polynomiale à coefficients réels est un nombre complexe, alors la conjuguée de ce nombre représente également une solution. En d’autres termes, les solutions complexes à une équation polynomiale à coefficients réels se présentent par paires. Cela signifie que les équations polynomiales à coefficients réels d’ordre impair auront au moins une solution réelle. Générer des coefficients polynomiaux à partir des racines polynomiales Supposez que vous voulez générer le polynôme dont les racines sont les nombres [1, 5, -2, 4]. Pour que la calculatrice effectue ce calcul, suivre la procédure suivante : ‚Ϙ˜@@OK@@ ˜„Ô1‚í5 ‚í2\‚í 4@@OK@@ @SOLVE@ Sélectionner Solve poly… Saisir le vecteur de racines Résoudre les coefficients Appuyer sur ` pour retourner à la pile. Les coefficients seront indiqués dans la pile. Page 6-8 Appuyez sur ˜pour enclencher l’éditeur de lignes afin de voir tous les coefficients. Note: Si vous voulez obtenir un polynôme avec des coefficients réels, en n’ayant que les racines complexes, vous devez inclure les racines complexes en paires de nombres conjugués. Pour illustrer ce point, générez un polynôme ayant pour racines [1 (1,2) (1,-2)]. Vérifiez que le polynôme résultant n’a que des coefficients réels. De même, essayez de générer un polynôme avec les racines [1 (1,2) (-1,2)] et vérifiez que le polynôme résultant a bien des coefficients complexes. Générer une expression algébrique pour le polynôme Vous pouvez utiliser la calculatrice pour générer une expression algébrique pour un polynôme à partir des coefficients ou des racines de ce polynôme. L’expression résultant de ce calcul sera affichée en fonction de la variable par défaut du CAS X (les exemples ci-dessous montrent comment vous pouvez remplacer X par n’importe quelle autre variable en utilisant la fonction |.) Pour générer l’expression algébrique en utilisant des coefficients, essayer l’exemple suivant. Supposons que les coefficients polynomiaux sont [1,5,-2,4]. Utiliser la combinaison de touches suivante : ‚Ϙ˜@@OK@@ „Ô1‚í5 ‚í2\‚í 4@@OK@@ —@SYMB@ ` Sélectionner Solve poly… Saisir le vecteur de coefficients Générer une expression symbolique Retour à la pile L’expression ainsi générée est indiquée dans la pile sous la forme suivante : 'X^3+5*X^2+-2*X+4'. Page 6-9 Pour générer l’expression algébrique en utilisant les racines, essayer de suivre l’exemple suivant. Supposons que les racines polynomiales sont [1,3,-2,1]. Utiliser la combinaison de touches suivante : ‚Ϙ˜@@OK@@ ˜„Ô1‚í3 ‚í2\‚í 1@@OK@@ ˜@SYMB@ ` Sélectionner Solve poly… Saisir le vecteur de racines Générer l’expression symbolique Retour à la pile L’expression ainsi générée est indiquée dans la pile sous la forme suivante : '(X-1)*(X-3)*(X+2)*(X-1)'. Pour développer les produits, vous pouvez utiliser la commande EXPAND. L’expression en résultant est : 'X^4+-3*X^3+ -3*X^2+11*X-6'. Une approche différente afin d’obtenir une expression pour le polynôme est de générer d’abord les coefficients, puis l’expression algébrique avec les coefficients mis en surbrillance. Par exemple, dans ce cas, essayez : ‚Ϙ˜@@OK@@ ˜„Ô1‚í3 ‚í2\‚í 1@@OK@@ @SOLVE@ ˜@SYMB@ ` Sélectionner Solve poly… Saisir le vecteur de racines Résoudre les coefficients Générer l’expression symbolique Retour à la pile L’expression ainsi générée est indiquée dans la pile sous la forme suivante : 'X^4+-3*X^3+ -3*X^2+11*X+-6*X^0'. Les coefficients sont affichés au niveau 2 de la pile. Calculs financiers Les calculs de l’option 5. Solve finance.. en résolution numérique (NUM.SLV) sont utilisés pour calculer la valeur temporelle de l’argent par référence à l’ingénierie économique et à d’autres applications financières. Cette application peut aussi être lancée en utilisant la combinaison de touches „sÒ (associée à la touche 9 ). Avant de discuter en détails des Page 6-10 opérations dans cet environnement de calcul, certaines définitions sont nécessaires pour comprendre les opérations financières dans la calculatrice. Définitions Souvent, pour développer des projets, il est nécessaire d’emprunter de l’argent auprès d’un organisme financier ou de fonds publics. Le montant emprunté est appelé la Valeur Présente (PV). Cet argent doit être remboursé en n périodes (généralement des multiples ou sous-multiples d’un mois) assujeties à un taux d’intérêt annuel de I%YR. Le nombre de périodes par an (P/YR) est un nombre entier de périodes par lequel l’année est divisée dans le but de rembourser l’argent de l’emprunt. Les valeurs typiques de P/YR sont 12 (un paiement par mois), 24 (un paiement deux fois par mois) ou 52 (paiements hebdomadaires). Le paiement (PMT) est le montant que l’emprunteur doit payer au prêteur au début ou à la fin de chacune des n périodes de l’emprunt. La valeur future de l’argent (FV) est la valeur qu’atteindra le montant emprunté à la fin des n périodes. En général, le paiement intervient à la fin de chaque période, de telle sorte que l’emprunteur commence à payer à la fin de la première période et paye ensuite le même montant fixe à la fin de la deuxième, troisième etc… périodes, jusqu’à la fin de la n-ème période. Exemple 1 – Calculer le remboursement d’un emprunt Si $2 millions sont empruntés à un taux d’intérêt annuel de 6.5% et doivent être remboursés en 60 paiements mensuels, quel est le montant du paiement mensuel ? Afin que la dette soit entièrement payée en 60 mois, les valeurs futures de l’emprunt doivent être zéro. Donc, afin d’utiliser la fonction de calculs financiers de la calculatrice, nous allons utiliser les valeurs suivantes : n = 60, I%YR = 6.5, PV = 2000000, FV = 0, P/YR = 12. Pour saisir les données et résoudre le montant du paiement, PMT, utiliser : „Ò 60 @@OK@@ 6.5 @@OK@@ 2000000 @@OK@@ ˜ 0 @@OK@@ lance le formulaire de saisie pour le calcul financier Entrer n = 60 Entrer I%YR = 6.5 % Entrer PV = 2,000,000 US$ Sauter PMT, puisque nous allons le résoudre Entrer FV = 0, l’option End est en surbrillance Page 6-11 — š @@SOLVE! Mettre PMT en surbrillance et résoudre L’affichage est le suivant : L’écran montre maintenant la valeur de PMT–39,132.30, Cela signifie que l’emprunteur doit payer au prêteur US $ 39,132.30 à la fin de chaque mois pendant 60 mois pour rembourser le montant total. Si la valeur de PMT s’affiche comme négative, c’est que la calculatrice calcule le montant du point de vue de l’emprunteur. L’emprunteur a +US$ 2,000,000.00 à une période temporelle t = 0, puis il commence à payer, c’est-à-dire qu’il ajoute -US $ 39132.30 au temps t = 1, 2, …, 60. A t = 60, la valeur nette entre les mains de l’emprunteur est zéro. Maintenant, si vous prenez la valeur US $ 39,132.30 et la multipliez par 60 paiements, le montant total remboursé par l’emprunteur est US $ 2,347,937.79. Par conséquent, le prêteur fait un profit net de $ 347,937.79 sur les cinq ans pendant lesquels son argent a été utilisé pour financer le projet de l’emprunteur. Exemple 2 – Calculer l’amortissement d’un emprunt La même solution au problème de l’exemple 1 peut être trouvée en appuyant sur @)@AMOR!!, qui signifie AMORTISSEMENT. Cette option est utilisée pour calculer quel montant de l’emprunt a été amorti à la fin d’un certain nombre de paiements. Supposons que nous utilisions 24 périodes à la première ligne de l’écran amortissement, c’est-à-dire : 24@@OK@@. Puis appuyez sur @@AMOR@@. Le menu suivant s’affiche : Page 6-12 Cet écran s’interprète comme suit : après 24 mois de remboursement de la dette, l’emprunteur a payé US $ 723,211.43 sur le montant principal emprunté et US $ 215,963.68 d’intérêts. L’emprunteur doit encore rembourser un solde de US $1,276,788.57 sur les 36 prochains mois. Vérifiez ce qui se passe si vous le remplacez par 60 à l’entrée Payments: de l’écran amortissement puis appuyez sur @@OK@@ @@AMOR@@. L’affichage est le suivant : Cela signifie qu’à la fin des 60 mois, le montant principal de US $ 2,000,000.00 a été payé, ainsi que les US $ 347,937.79 d’intérêts et le solde, c'est-à-dire ce que le prêteur " doit" à l’emprunteur est US $ 0.000316. Bien sûr, ce solde devrait être zéro. La valeur affichée à l’écran cidessus est simplement l’erreur d’arrondi résultant de la solution numérique. Double-cliquez sur $ou `, pour revenir en mode d’affichage normal. Exemple 3 – Calculer le plan de paiement pour des paiements en début de période. Résolvons le même problème qu’aux exemples 1 et 2, mais en utilisant l’option de paiement en début de période de paiement. Utiliser : „Ò 60 @@OK@@ 6.5 @@OK@@ 2000000 @@OK@@ ˜ 0 @@OK@@ @@CHOOS !—@@OK@@ — š @@SOLVE! lance le formulaire de saisie pour le calcul financier Entrer n = 60 Entrer I%YR = 6.5 % Entrer PV = 2,000,000 US$ Sauter PMT, puisque nous allons le résoudre Entrer FV = 0, l’option End est en surbrillance Changer l’option de paiement à Begin Mettre PMT en surbrillance et résoudre Page 6-13 L’écran affiche maintenant la valeur de PMT–38,921.47. Cela signifie que l’emprunteur doit payer au prêteur $ 38,921.48 au début de chaque mois pour les 60 prochains mois afin de rembourser le montant total. Notez que le montant que l’emprunteur paie mensuellement en début de la période de remboursement est légèrement inférieur à celui payé à la fin de la période de paiement. La raison de cette différence est que le prêteur obtient des intérêts sur les paiements à compter du début de la période, limitant ainsi la charge du prêteur. Notes: 1. L’environnement du calculateur financier vous permet de résoudre n’importe quel terme impliqué (n, I%YR, PV, FV, P/Y) en donnant les termes restant pour le calcul de l’emprunt. Il vous suffit de mettre en surbrillance la valeur que vous voulez calculer et d’appuyer sur @@SOLVE!. Le résultat s’affiche dans le champ en surbrillance. 2. Les valeurs calculées dans l’environnement du calculateur financier sont copiées dans la pile avec leur équette correspondante (désignation d’identification). Effacer des variables Lors de la première utilisation de l’environnement du calculateur financier dans le répertoire HOME ou dans n’importe quel sous-répertoire, les variables suivantes sont générées automatiquement : @@@N@@ @I©YR@ @@PV@@ @@PMT@@ @@PYR@@ @@FV@@ pour enregistrer les termes correspondants dans les calculs. Vous pouvez voir le contenu des variables en utilisant : ‚@@ @n@@ ‚@I©YR@ ‚@@PV@@ ‚@@PMT@@ ‚@@PYR@@ ‚@@FV@@. Vous pouvez soit garder ces variables pour un usage futur, soit utiliser la fonction PURGE pour les effacer du répertoire. Pour effacer toutes les variables à la fois, si vous utilisez le mode ALG mode, essayez la procédure suivante : I@PURGE J „ä ³‚@@@n@@ ™ ‚í Saisir PURGE, préparez la liste de variables Entrez le nom de la variable N Entrez une virgule Page 6-14 ³ ‚@I©YR@ ™ ‚í ³ ‚@@PV@@ ™ ‚í ³ ‚@@PMT@@ ™ ‚í ³ ‚@@PYR@@ ™ ‚í ³ ‚@@FV@@. ` Entrez le nom de la variable I%YR Entrez une virgule Entrez le nom de la variable PV Entrez une virgule Entrez le nom de la PMT Entrez une virgule Entrez le nom de la variable PYR Entrez une virgule Entrez le nom de la variable FV Exécutez la commande PURGE Les deux saisies d’écran suivantes montrent la commande PURGE permettant de purger toutes les variables du répertoire et le résultat après avoir exécuté la commande. En mode RPN mode, la commande est exécutée en utilisant : J „ä @@@n@@ @I©YR@ @@PV@@ @@PMT@@ @@PYR@@ @@FV@@ ` I@PURGE Prépare la liste de variables à purger Entrez le nom de la variable N Entrez le nom de la variable I%YR Entrez le nom de la variable PV Entrez le nom de la variable PMT Entrez le nom de la variable PYR Entrez le nom de la variable FV Entrez la liste de variables dans la pile Purge les variables de la liste Avant d’exécuter la commande PURGE, la pile RPN se présente comme suit : Page 6-15 Résoudre des équations à une inconnue avec NUM.SLV Le menu de la calculatrice NUM.SLV offre l’option 1. Solve equation.. qui résout différents types d’équations à une seule variable, y compris les équations algébriques non linéaires et les équations transcendantes. Par exemple, résolvons l’équation : ex-sin(πx/3) = 0. Saisir simplement l’expression comme un objet algébrique et l’enregistrer dans la variable EQ. La combinaison de touches en mode ALG est la suivante : ³„¸~„x™-S„ì *~„x/3™‚Å 0™ K~e~q` Fonction STEQ La fonction STEQ, accessible avec le catalogue de commande, ‚N, enregistre son argument dans la variable EQ, à savoir, en mode ALG En mode RPN, saisir l’équation entre apostrophes et activer la commande STEQ. Par conséquent, la fonction STEQ peut être utilisée comme raccourci pour enregistrer une expression dans la variable EQ. Appuyer sur J pour voir les variables EQ nouvellement créées : Ensuite, entrer dans l’environnement SOLVE et sélectionner Solve equation…, en utilisant : ‚Ï@@OK@@. L’écran correspondant est présenté ci-dessous : Page 6-16 L’équation que nous avons enregistrée dans la variable EQ est déjà chargée dans le champ Eq du formulaire de saisie SOLVE EQUATION. De même, un champ marqué x est prévu. Pour résoudre l’équation, tout ce que vous avez à faire, c’est de mettre en surbrillance le champ en face de X en utilisant ˜ et d'appuyer sur @SOLVE@. La solution affichée est X: 4.5006E-2: Cependant, il ne s’agit pas de la seule solution possible pour cette équation. Pour obtenir une solution négative, par exemple, saisir un nombre négatif dans le champ X: avant de résoudre l’équation. Essayez 3\@@@OK@@˜ @SOLVE@. La solution est maintenant X: -3.045. Marche à suivre pour résoudre des équations avec Equation Solve... La résolution numérique pour les équations à une seule inconnue fonctionne comme suit : • Elle permet à l’utilisateur de saisir ou d'appuyer sur @CHOOS pour résoudre une équation. • Elle crée un formulaire de saisie avec des champs de saisie correspondant à toutes les variables stockées dans la variable EQ. • L’utilisateur doit saisir des valeurs pour toutes les variables impliquées sauf une. • L’utilisateur met ensuite en surbrillance le champ correspondant à l’inconnue à trouver dans l’équation et appuie sur @SOLVE@ • L’utilisateur peut forcer la solution en émettant une supposition initiale dans le champ de saisie approprié avant de résoudre l’équation. Page 6-17 La calculatrice utilise un algorithme pour délimiter un intervalle pour lequel la fonction change de signe, ce qui indique l’existence d’une racine ou d’une solution. Elle utilise ensuite une méthode numérique pour trouver la solution par convergence. La solution que la calculatrice cherche est déterminée par la valeur initiale présente dans le champ " inconnue". Si aucune valeur n’est saisie, la calculatrice utilise la valeur par défaut de zéro. Par conséquent, vous pouvez rechercher plus d’une solution à l’équation en changeant la valeur initiale de l’inconnue dans le champ de saisie. Des exemples de solutions d’équations sont présentés ci-dessous. Example 1 – Loi de comportement de Hooke L’équation à utiliser est la loi de comportement de Hooke pour une déformation normale dans la direction x d’une particule solide soumise à une contrainte donnée par σ xx σ yx σ zx L’équation est exx = σ xy σ yy σ zy σ xz σ yz σ zz 1 [σ xx − n ⋅ (σ yy + σ zz )] + α ⋅ ∆T , ici exx est l’unité de E contrainte dans la direction x, σxx, σyy, et σzz, sont les contraintes normales exercées sur la particule dans les directions des axes x y et z, E est le module de Young ou module d’élasticité du matériau, n est le coefficient de Poisson du matériau, α est le coefficient de dilatation thermique du matériau et ∆T est son augmentation de température. Supposons que vous disposiez des données suivantes : σxx= 2500 psi, σyy =1200 psi et σzz = 500 psi, E = 1200000 psi, n = 0.15, α = 0.00001/oF, ∆T = 60 oF. Pour calculer la déformation exx, procédez comme suit : ‚Ï@@OK@@ ‚O Accède à la résolution numérique pour résoudre les équations Accède à l’Editeur d’équation pour saisir l’équation Page 6-18 A ce stade, conformez-vous aux instructions du Chapitre 2 sur la façon d’utiliser l’Editeur d’équation pour construire une équation. L’équation à saisir dans le champ Eq peut soit se présenter comme suit (notez que nous n’utilisons qu’un seul sous-index pour nous référer aux variables, c’est-à-dire : exx se traduit par ex etc. – nous procédons ainsi pour gagner du temps lors de la saisie ) : Utilisez les raccourcis suivants pour les caractères spéciaux : σ: ~‚s α: ~‚a ∆: ~‚c et n’oubliez pas que les lettres minuscules sont saisies en utilisant ~„ avant la touche de la lettre ; c’est ainsi que l’on saisit x : ~„x. Appuyez sur `pour retourner à l’écran de résolution. Saisissez les valeurs proposées ci-dessus dans les champs correspondants, de telle sorte que l’écran de lrésolution se présente comme suit : Avec le champ ex: en surbrillance, appuyez sur @SOLVE@ pour trouver ex: Page 6-19 La solution peut être lue dans le formulaire de saisie SOLVE EQUATION en appuyant sur @EDIT tandis que le champ ex: est en surbrillance. La valeur du résultat est 2.470833333333E-3. Appuyez sur @@@OK@@ pour quitter la fonction EDIT. Supposons que vous vouliez maintenant déterminer le module de Young qui produirait une déformation exx = 0.005 sous les mêmes contraintes, en négligeant l’expansion thermique. Dans ce cas, vous devez saisir la valeur 0.005 dans le champ ex: et un zéro dans le champ ∆T: (avec ∆T = 0, aucun effet thermique n’est inclus.) Pour trouver E, mettre le champ E: en surbrillance et appuyer sur @SOLVE@. Le résultat, visible avec l’option @EDIT est : E = 449000 psi. Appuyer sur @SOLVE@ ` pour retourner à l’affichage normal. Notez que les résultats trouvés dans l’environnement de résolution numérique ont été copiés dans la pile : De même, vous verrez dans les intitulés de vos touches de menu les variables de l’équation enregistrées dans EQ (appuyez sur L pour voir toutes les variables de votre répertoire), à savoir les variables ex, ∆T, α, σz, σy, n, σx et E. Exemple 2 – Energie spécifique d’un flux en canal ouvert L’énergie spécifique dans un canal ouvert est définie comme l’énergie par unité de poids mesurée par rapport au fond du canal. Supposons que E = est l’énergie spécifique, y = la profondeur du canal, V = la vélocité du flux, g = l’accélération de la gravité. Nous pouvons alors écrire : E = y+ V2 . 2g La vélocité du flux, à son tour, est donnée par V = Q/A, où Q = décharge d’eau, A = surface de la section. La zone dépend de la surface de la section utilisée, par exemple, pour une section croisée trapézoïdale, comme illustrée ci-dessous, A = (b+m⋅y) ⋅y, où b = largeur de fond et m = pente du côté de la section croisée. Page 6-20 y 1 m b Nous pouvons saisir l’équation pour E telle que montrée ci-dessus et utiliser des variables auxiliaires pour A et V, de telle sorte que le formulaire de saisie résultant affiche les champs suivants pour les variables fondamentales y, Q, g, m et b : • D’abord, créez un sous-répertoire appelé SPEN (SPecific ENergy) et travaillez dans ce sous-répertoire. • Ensuite, définissez les variables suivantes : • Lancez la résolution numérique pour résoudre les équations : ‚Ï@@OK@@. Notez que le formulaire de saisie contient des entrées pour les variables y, Q, b, m et g: • Essayez les données d’entrée suivantes : E = 10 ft, Q = 10 cfs (pied cubique par seconde) , b = 2.5 ft, m = 1.0, g = 32.2 ft/s2: Page 6-21 • Résoudre y. Le résultat est 0.149836.., à savoir : y = 0.149836. • On sait cependant qu’il existe en fait deux solutions pour y pour une équation d’énergie spécifique. La solution que nous venons de trouver correspond à la solution numérique avec une valeur initiale de 0 (la valeur par défaut pour y, à savoir chaque fois que le champ de solution est vide, la valeur par défaut est zéro). Pour trouver d’autres solutions, nous devons saisir une valeur plus grande de y, disons 15, mettre le champ y en surbrillance et résoudre y une fois de plus : Le résultat est maintenant 9.99990, donc : y = 9.99990 ft. Cet exemple illustre l’utilisation des variables auxiliaires pour écrire des équations compliquées. Quand NUM.SLV est activé, les substitutions induites par les variables auxiliaires sont mises en œuvre et l’écran de saisie pour les équations fournit des champs de saisie pour les variables primaires ou fondamentales résultant des substitutions. L’exemple illustre aussi une équation avec plus d’une solution et la sélection de la supposition initiale de la solution pour produire des solutions différentes. Page 6-22 Dans les exemples suivants, nous allons utiliser la fonction DARCY pour trouver les facteurs de friction dans des tuyaux. Par conséquent, nous allons définir la fonction dans le cadre suivant. Fonction spéciale pour les flux dans les tuyaux : DARCY (ε/D,Re) L’équation de Darcy-Weisbach est utilisée pour calculer la perte d’énergie (par unité de poids), hf, d’un flux dans un tuyau de diamètre D, de rugosité absolue ε et de longueur L quand la vélocité du flux dans le tuyau est V. L’équation s’écrit. h f = f ⋅ L V2 ⋅ La D 2g quantité f est connue comme le facteur de friction du flux et il a été démontré qu’il s’agit d’une fonction de la rugosité relative du tuyau, ε/D, et d’un nombre de Reynolds (sans dimension), Re. Le nombre de Reynolds est défini comme Re = ρVD/µ = VD/ν, où ρ et µ sont la densité et la viscosité dynamique du fluide, respectivement, et ν = µ/ρ est la viscosité cinétique du fluide. La calculatrice fournit une fonction appelée DARCY qui utilise comme donnée d’entrée la rugosité relative ε/D et le nombre de Reynolds, dans cet ordre, pour calculer le facteur de friction f. Vous pouvez accéder à la fonction DARCY par l’intermédiaire du catalogue de commandes : Par exemple, pour ε/D = 0.0001, Re = 1000000, vous pouvez trouver le facteur de friction en utilisant : DARCY(0.0001,1000000). Sur l’écran suivant, la fonction NUM () a été utilisée pour obtenir une valeur numérique de la fonction : Page 6-23 Le résultat est f = DARCY (0.0001,1000000) = 0.01341… FANNING (ε/D,Re) Dans les applications aérodynamiques, on utilise un facteur de friction différent, le facteur de friction de Fanning. Le facteur de friction de Fanning, fF, est défini comme 4 fois le facteur de friction de Darcy-Weisbach, f. La calculatrice fournit aussi une fonction appelée FANNING qui utilise la même donnée d’entrée que DARCY, à savoir ε/D et Re, et calcule le facteur de friction de Fanning. Vérifiez que FANNING(0.0001,1000000) = 0.0033603589181s. Exemple 3 – Flux dans un tuyau Vous voudrez peut-être créer un sous-répertoire séparé (PIPES) pour vérifier cet exemple. L’équation principale qui gouverne le flux dans un tuyau est, bien sûr, l’équation de Darcy-Weisbach. Par conséquent, saisissez l’équation suivante dans EQ: De même, saisissez les variables suivantes (f, A, V, Re) : Page 6-24 Dans ce cas, nous avons enregistré l’équation principale (Equation de DarcyWeisbach) dans EQ, puis avons remplacé plusieurs de ces variables par d’autres expressions par le biais de la définition des variables f, A, V et Re. Pour voir l’équation combinée, utilisez EVAL(EQ). Dans cet exemple, nous avons changé les paramètres de l’affichage afin de pouvoir voir l’intégralité de l’équation à l’écran : Par conséquent, l’équation que nous sommes en train de résoudre, après avoir combiné les différentes variables du répertoire, est : QD ε πD 2 / 4 8Q L h f = 2 5 ⋅ DARCY , D Nu π gD 2 L’équation combinée a pour variables primaires : hf, Q, L, g, D, ε et Nu. Lancez la résolution numérique (‚Ï@@OK@@) pour voir les variables primaires affichées dans le formulaire de saisie SOLVE EQUATION : Page 6-25 Supposons que nous utilisions les valeurs hf = 2 m, ε = 0.00001 m, Q = 0.05 m3/s, Nu = 0.000001 m2/s, L = 20 m et g = 9.806 m/s2, trouvez alors le diamètre D. Saisir les valeurs et résoudre D. La solution est : 0.12, à savoir D = 0.12 m. Si l’équation s’applique à en termes de dimensions, vous pouvez ajouter des unités aux valeurs de saisie, comme illustré ci-dessous. Cependant, vous devez ajouter ces unités à la supposition initiale dans la solution. Par conséquent, dans l’exemple ci-dessous, nous avons placé 0_m dans le champ D: avant de résoudre le problème. La solution est présentée sur l’écran de droite : Appuyer sur ` pour retourner en mode d’affichage normal. La solution de D s’affiche dans la pile. Exemple 4 – Gravitation universelle La loi de Newton sur la gravitation universelle indique que la magnitude de la force d’attraction entre deux corps de masse m1 et m2 séparés par une distance r est donnée par l’équation de la F = G ⋅ M1 ⋅ M 2 . r2 Ici, G est la constante de gravitation universelle, dont la valeur peut être obtenue en utilisant la fonction CONST de la calculatrice : Page 6-26 Nous pouvons trouver n’importe quel terme de cette équation (sauf G) en saisissant l’équation comme suit : Cette équation est ensuite enregistrée dans EQ: En lançant la résolution numérique pour cette équation, un formulaire de saisie s’affiche avec des champs de saisie pour F, G, m1, m2 et r. Résolvons le problème en utilisant des unités avec les valeurs suivantes pour les variables connues m1 = 1.0×106 kg, m2 = 1.0×1012 kg, r = 1.0×1011 m. De même, saisir une valeur de 0_N dans le champ F pour fournir les unités correctes à la calculatrice: Page 6-27 Résoudre F et appuyer pour retourner à l’affichage normal de la calculatrice. La solution est F : 6.67259E-15_N, ou F = 6.67259×10-15 N. Note: Lorsque vous utilisez des unités dans la résolution numérique, assurezvous que toutes les variables ont les unités appropriées, que les unités sont compatibles et que l’équation est homogène en termes de dimensions. Différentes manières de saisir une équation dans EQ Dans tous les exemples présentés ci-dessus, nous avons saisi l’équation à résoudre dans les variables EQ avant de lancer la résolution numérique. Vous pouvez en fait saisir l’équation à résoudre directement dans la résolution après l‘avoir lancé en éditant le contenu des champs EQ by dans le formulaire de saisie de la résolution numérique. Si la variable EQ n’a pas été précédemment définie, lorsque vous lancez la résolution numérique, (‚Ï@@OK@@), le champ EQ est en surbrillance: A ce stade, vous pouvez saisir une nouvelle équation en appuyant sur @EDIT. Deux apostrophes s’affichent automatiquement afin que vous puissiez saisir l’expression à l'intérieur : Page 6-28 Saisir une équation, disons X^2 - 125 = 0 directement dans la pile, et appuyer sur @@@OK@@@. A ce stade, l’équation est prête à être résolue. Alternativement, vous pouvez activer l’Editeur d’équation après avoir appuyé sur @EDIT pour saisir votre équation. Appuyez sur ` pour retourner à l’écran de la résolution numérique. Une autre façon de saisir une équation dans la variable EQ est de sélectionner des variables déjà existantes dans votre répertoire et de les saisir dans EQ. Cela veut dire que votre équation aura dû être enregistrée sous un nom de variable avant d’activer la résolution numérique. Par exemple, supposons que vous ayez saisi les équations suivantes dans les variables EQ1 et EQ2 : Lancez maintenant la résolution numérique (‚Ï@@OK@@, et mettez le champ EQ en surbrillance. A ce stade, appuyez sur la touche menu @CHOOS. Utilisez ensuite les flèches vers le haut et vers le bas (—˜) pour sélectionner, par ex., la variable EQ1: Page 6-29 Appuyez sur @@@OK@@@ après avoir sélectionné EQ1 pour la charger dans la variable EQ de la résolution. La nouvelle équation est prête à être résolue. Le menu SOLVE Le menu logiciel SOLVE donne accès à certaines des fonctions de résolution numérique par l’intermédiaire des touches de menu. Pour accéder à ce menu en mode RPN : 74 MENU, ou en mode ALG : MENU (74). Alternativement, vous pouvez utiliser ‚(maintenir) 7 pour activer le menu logiciel SOLVE. Les sous-menus proposés par le menu SOLVE sont les suivants : Le sous-menu ROOT Le sous-menu ROOT comprend les fonctions et sous-menus suivants: Fonction ROOT La fonction ROOT est utilisée pour résoudre une équation à variable donnée avec une valeur de supposition initiale. En mode RPN, l’équation sera au niveau 3 de la pile, tandis que le nom de la variable sera au niveau 2 et la Page 6-30 supposition initiale au niveau 1. Les saisies d’écran montrent la pile RPN avant et après application de la fonction @ROOT: En mode ALG mode, vous utiliserez ROOT(‘TAN(θ)=θ’,’θ’,5) pour activer la fonction ROOT : La variable EQ La touche menu @@EQ@@ dans ce sous-menu est utilisée comme référence à la variable EQ. Appuyer sur cette touche menu revient à utiliser la fonction RCEQ (ReCall EQ). Le sous-menu SOLVR Le sous-menu SOLVR active le menu logiciel de résolution pour l’équation enregistrée en ce moment dans EQ. Des exemples sont donnés ci-dessous : Exemple 1 - Résoudre l’équation t2-5t = -4 Par exemple, si vous enregistrez l’équation ‘t^2-5*t=-4’ dans EQ et appuyez sur @)SOLVR, le menu suivant s’affiche: Ce résultat indique que vous pouvez résoudre la valeur t pour l’équation affichée en haut de l’écran. Si vous essayez, par exemple, „[ t ], vous obtiendrez le résultat t: 1., après que le message “Solving for t” a clignoté brièvement. Il existe une deuxième racine à cette équation, qui peut être trouvée en changeant la valeur de t avant de la résoudre de nouveau. Procédez comme suit : 10 [ t ] puis appuyez sur „[ t ]. Le résultat est Page 6-31 maintenant : t: 4.0000000003. Pour vérifier ce résultat, appuyez sur la touche menu désignée par EXPR=, qui évalue l’expression dans EQ pour la valeur courante de t. Les résultats dans ce cas sont Pour quitter l’environnement SOLVR, appuyez sur J. L’accès au menu SOLVE est perdu à ce stade, aussi vous devez l’activer une fois de plus (comme cela a été expliqué précédemment) pour continuer les exercices suivants. Exemple 2 - Résoudre l’équation Q = at2+bt Il est possible d’enregistre dans EQ une équation impliquant plus d’une variable, disons ‘Q = at^2 + bt’. Dans ce cas, après avoir activé le menu logiciel SOLVE et appuyé sur @)ROOT @)SOLVR, l’écran suivant s’affiche : Dans l’environnement SOLVR, vous pouvez fournir des valeurs pour n’importe quelle variable dans la pile et appuyer sur les touches de menu correspondantes. Par exemple, disons que vous entrez les valeurs Q = 14, a = 2 et b = 3. Vous utilisez: 14 [ Q ], 2 [ a ], 3 [ b ]. Comme des valeurs numériques sont attribuées aux variables Q, a et b, les valeurs assignées sont affichées dans le coin supérieur gauche de l’écran. A ce stade, nous pouvons résoudre t, en utilisant „[ t ]. Le résultat est t: 2. Appuyez sur @EXPR= pour afficher les résultats: Exemple 3 – Résoudre deux équations simultanées, à tour de rôle. Page 6-32 Vous pouvez aussi résoudre plus d’une équation, en les résolvant l’une après l’autre et en répétant le processus jusqu’à ce que la solution soit trouvée. Par exemple, si vous saisissez la liste d’équations suivante dans la variable EQ: { ‘a*X+b*Y = c’, ‘k*X*Y=s’}, la combinaison de touches @)ROOT @)SOLVR, dans le menu logiciel SOLVE ferra s’afficher l’écran suivant : La première équation, à savoir a*X + b*Y = c, sera affichée dans la partie supérieure de l’écran. Vous pouvez saisir des valeurs pour les variables a, b et c, à savoir : 2 [ a ] 5 [ b ] 19 [ c ]. De même, puisque nous ne pouvons résoudre qu’une équation à la fois, saisissons une valeur de supposition pour Y, à savoir : 0 [ Y ], et résolvons X, en utilisant „[ X ]. Cela donne la valeur X: 9.4999…. Pour vérifier la valeur de l’équation à ce stade, appuyer sur @EXPR=. Les résultats sont : gauche : 19, droite : 19. Pour résoudre l’équation suivante, appuyez sur L @NEXQ. L’écran affiche des indications de touches de menu comme suit : Disons que nous saisissons les valeurs k = 2, s = 12. Nous résolvons ensuite Y et appuyons sur @EXPR=. Le résultat pour Y est maintenant : Nous continuons ensuite de nous déplacer de la première à la seconde équation (par allers et retours), en résolvant X pour la première équation et Y Page 6-33 pour la seconde, jusqu’à ce que les valeurs de X et de Y convergent. Pour vous déplacer d’équation en équation, appuyer sur @NEXQ. Pour résoudre X et Y, utilisez „[ X ] et „[ Y ], respectivement. La séquence de solutions suivante s’affiche : Après avoir résolu les deux équations, à tour de rôle, nous notons que, jusqu’à la troisième décimale, X converge à une valeur de 7.500, tandis que Y converge à une valeur de 0.799. Utilisation des unités du sous-menu SOLVR Il y a quelques règles concernant l’utilisation des unités du sous-menu SOLVR : • Saisir une estimation avec des unités pour toute variable consitera à utiliser ces unités dans la solution. • Si une nouvelle estimation ne possède pas de limites, les dernières unités utilisées avec cette variable seront utilisées dans ce cas. • Pour enlever des unités, saisir un nouveau nombre d’estimation sans unité dans une liste, c’est-à-dire utiliser le format { nombre }. • Une liste de nombres peut être utilisée comme estimation de la variable. Dans ce cas, les unités par défaut sont celles de la liste précédente. Par exemple, la saisie de { 1.41_ft 1_cm 1_m } indique que les mètres (m) seront utilisés pour cette variable. • L’expression utilisée dans la solution doit avoir des unités consistantes ou une erreur apparaîtra lorsque vous tenterez de résoudre l’équation pour une valeur. Le sous-menu DIFFE Le sous-menu DIFFE propose une série de fonctions pour la résolution numérique d’équations différentielles. Les fonctions disponibles sont les suivantes : Page 6-34 Ces fonctions sont présentées en détails au Chapitre 16. Le sous-menu POLY Le sous-menu POLY effectue des opérations sur les polynômes. Les fonctions disponibles sont les suivantes : Fonction PROOT Cette fonction est utilisée pour trouver les racines des polynômes à partir d’un vecteur contenant les coefficients polynomiaux par ordre décroissant des puissances de la variable indépendante. En d’autres termes, si le polynôme est anxn + an-1xn-1 + … + a2x2 + a1x + a0, le vecteur de coefficients doit être saisi comme [an, an-1, … , a2, a1 , a0]. Par exemple, les racines du polynôme dans les coefficients sont [1, -5, 6] sont [2, 3]. Fonction PCOEF Cette fonction produit les coefficients [an, an-1, … , a2, a1 , a0] d’un polynôme anxn + an-1xn-1 + … + a2x2 + a1x + a0, à partir d’un vecteur de ses racines [r1, r2, …, rn]. Par exemple, un vecteur dont les racines sont données par [-1, 2, 2, 1, 0], produira les coefficients suivants : [1, -4, 3, 4, -4, 0]. Le polynôme est x5 - 4x4 + 3x3 + 4x2 - 4x. Fonction PEVAL Cette fonction évalue un polynôme, à partir d’un vecteur de ses coefficients, [an, an-1, … , a2, a1 , a0], et une valeur x0, à savoir : PEVAL calcule anx0n + an-1x0n-1 + … + a2x02 + a1x0 + a0. Par exemple, pour les coefficients [2, 3, -1, 2] et une valeur de 2, PEVAL retourne la valeur 28. Le sous-menu SYS Le sous-menu SYS contient une liste de fonctions pour résoudre les systèmes linéaires. Les fonctions fournies dans ce sous-menu sont: Page 6-35 Ces fonctions sont présentées en détails au Chapitre 11. Le sous-menu TVM Le sous-menu TVM contient des fonctions pour calculer la Valeur Temporelle de l’Argent. Il s’agit d’une autre méthode pour résoudre les problèmes FINANCIERS (voir Chapitre 6). Les fonctions disponibles sont les suivantes : Le sous-menu SOLVR Le sous-menu SOLVR dans le sous-menu TMV lance la résolution pour les problèmes TMV. Par exemple, en appuyant sur @)SOLVR, à ce stade, l’écran suivant s’affiche : A titre d’exercice, essayez d’utiliser les valeurs n = 10, I%YR = 5.6, PV = 10000 et FV = 0, puis entrez „[ PMT ] pour trouver PMT = -1021.08…. En appuyant sur L, l’écran suivant s’affiche : Appuyez sur J pour quitter l’environnement SOLVR. Retrouvez votre chemin jusqu’au sous-menu TVM dans le sous–menu SOLVE pour essayer les autres fonctions disponibles. Page 6-36 Fonction TVMROOT Cette fonction nécessite comme argument le nom d’une des variables du problème TVM. La fonction retourne la solution de cette variable, à supposer que les autres variables existent et que des valeurs aient été enregistrées auparavant. Par exemple, ayant résolu le problème TVM ci-dessus, nous pouvons résoudre ‘N’ comme suit : [ ‘ ] ~n` @TVMRO. Le résultat est 10. Fonction AMORT Cette fonction prend une valeur représentant une période de paiement (entre 0 et n) et retourne le montant principal, les intérêts et le solde pour les valeurs actuellement stockées dans les variables TVM. Par exemple, avec les données utilisées précédemment, si nous activons la fonction AMORT pour une valeur de 10, nous obtenons : Fonction BEG Lorsque cette fonction est sélectionnée, les calculs TVM reposent sur des paiements au début de chaque période. Si elle n’est pas sélectionnée, les calculs TVM reposent sur des paiements à la fin de chaque période. Page 6-37 Chapitre 7 Résolution d’équations multiples De nombreux problèmes de sciences ou d’ingénierie nécessitent la résolution simultanée de plusieurs équations. La calculatrice propose plusieurs procédures pour résoudre des équations multiples qui sont présentées cidessous. Veuillez noter qu’aucune discussion sur la façon de résoudre des systèmes d’équations linéaires n’est présentée dans le présent chapitre. Les résolutions de systèmes linéaires seront abordées en détail dans les chapitres suivants sur les matrices et l’algèbre linéaire. Systèmes d’équations rationnelles Les équations qui peuvent être réécrites comme des polynômes ou des expressions algébriques rationnelles peuvent être résolues directement par la calculatrice en utilisant la fonction SOLVE. Vous devez fournir une liste d’équations comme composantes d’un vecteur. La liste des variables à résoudre doit également être fournie sous la forme d’un vecteur. Assurez-vous que le CAS est paramétré en mode Exact avant d’essayer de résoudre des équations en utilisant cette procédure. De même, plus les expressions sont compliquées, plus le CAS mettra du temps à résoudre un système particulier d’équations. Des exemples de cette application sont présentés ci-dessous : Exemple 1 - Mouvement de projectile Utilisez la fonction SOLVE avec les vecteurs d’arguments suivants, le premier étant la liste des équations : [‘x = x0 + v0*COS(θ0)*t’ ‘y =y0+v0*SIN(θ0)*t – g*t^2/2’]` et le second les variables à résoudre, à savoir t et y0, ce qui s’énonce [‘t’ ‘y0’]. La solution dans ce cas sera fournie en mode RPN. La seule raison pour cela est que nous pouvons ainsi construire l’équation pas à pas. L’opération en mode ALG est très similaire. Tout d’abord, nous enregistrons le premier vecteur (équations) dans la variable A2 et le vecteur de variables dans la variable A1. L’écran suivant montre la pile RPN avant d’enregistrer les variables. Page 7-1 A ce stade, nous n’avons besoin que d'appuyer à deux reprises sur K pour enregistrer ces variables. Pour procéder à la résolution, commencez par changer le mode du CAS en passant à Exact, puis faites la liste des contenu de A2 et A1, dans cet ordre : @@@A2@@@ @@@A1@@@ . Utilisez la commande SOLVE à ce stade (à partir du menu S.SLV : „Î). Après environ 40 secondes, peut-être plus, vous obtenez comme résultat la liste suivante : { ‘t = (x-x0)/(COS(θ0)*v0)’ ‘y0 = (2*COS(θ0)^2*v0^2*y+(g*x^2(2*x0*g+2*SIN(θ0))*COS(θ0)*v0^2)*x+ (x0^2*g+2*SIN(θ0)*COS(θ0)*v0^2*x0)))/(2*COS(θ0)^2*v0^2)’]} Appuyez sur µ pour retirer le vecteur de la liste, puis utilisez la commande OBJ, pour obtenir les équations affichées séparément dans la pile. Note: Cette méthode a bien fonctionné pour cet exemple parce que les inconnues t et y0 étaient des termes algébriques dans les équations. Cette méthode ne fonctionnerait pas pour résoudre θ0, puisque θ0 appartient à un terme transcendant. Page 7-2 Exemple 2 - Contraintes sur un cylindre à paroi épaisse Considérons un cylindre à paroi épaisse avec un rayon interne a et b, respectivement, soumis à une pression interne Pi et une pression externe Po. A n’importe quel distance radiale r de l’axe du cylindre, les contraintes normales dans les directions radiales et transverses, σrr et σθθ, respectivement, sont données par σ θθ = a 2 ⋅ Pi − b 2 ⋅ Po a 2 ⋅ b 2 ⋅ ( Pi − Po ) , + b2 − a 2 r 2 ⋅ (b 2 − a 2 ) a 2 ⋅ Pi − b 2 ⋅ Po a 2 ⋅ b 2 ⋅ ( Pi − Po ) σ rr = − . b2 − a 2 r 2 ⋅ (b 2 −a 2 ) Notez que la partie droite des deux équations ne diffère que par le signe entre les deux termes. Par conséquent, pour écrire ces équations dans la calculatrice, nous suggérons de saisir le premier terme et de le stocker dans la variable T1, puis le second terme et de le stocker dans T2. L’écriture des équations par la suite consistera uniquement en un rappel du contenu de T1 et T2 dans la pile et d’une addition ou d’une soustraction des deux. Voici comment procéder avec l’Editeur d’équation : Saisir et enregistrer le terme T1 : Saisir et enregistrer le terme T2 : Page 7-3 Notez que nous utilisons le mode RPN dans cet exemple, mais la procédure en mode ALG serait très similaire. Créer l’équation pour σθθ: J@@@T1@@@ @@T2#@@ + ~‚s ~‚t ` ™ ‚Å Créer l’équation pour σrr: : J@@@T1@@@ @@T2#@@ - ~‚s ~„r ` ™ ‚Å Assemblez un vecteur avec les deux équations en utilisant la fonction ARRY (vous la trouverez en utilisant la commande catalogue ‚N) après avoir saisi un 2 : Supposons maintenant que vous vouliez résoudre Pi et Po, données par a, b, r, σrr, et σθθ. Nous saisissons un vecteur avec les inconnues : Pour résoudre Pi et Po, utilisez la commande SOLVE du menu S.SLV („Î). La calculatrice va mettre jusqu’à une minute pour produire le résultat : {[‘Pi=-(((σθ-σr)*r^2-(σθ+σr)*a^2)/(2*a^2))’ ‘Po=-(((σθ-σr)*r^2-(σθ+σr)*b^2)/(2*b^2))’ ] }, à savoir Notez que le résultat inclut un vecteur [ ] contenu dans une liste { }. Pour retirer le symbole de liste, utilisez µ. Finalement, pour décomposer le vecteur, utilisez la fonction OBJ. Le résultat est le suivant : Page 7-4 Ces deux exemples constituent des systèmes d’équations linéaires qui peuvent être traités aussi bien avec la fonction LINSOLVE (voir Chapitre 11). L’exemple suivant montre la fonction SOLVE appliquée à un système d’équations polynomiales. Exemple 3 - Système d’équations polynomiales Les saisies d’écran suivantes montrent la solution du système X2+XY=10, X2Y2=-5, en utilisant la fonction SOLVE: Résoudre des équations simultanées avec MSLV La fonction MSLV est disponible comme dernière option du menu ‚Ï : L’entrée de la fonction d’aide de la calculatrice pour la fonction MSLV est présentée ci-dessous : Page 7-5 Exemple 1 - Exemple de la fonction d’aide Comme pour toutes les entrées relatives aux thèmes de la fonction d’Aide, un exemple est rattaché à l’entrée MSLV, comme illustré ci-dessous. Notez que la fonction MSLV nécessite trois arguments : 1. Un vecteur contenant les équations, à savoir ‘[SIN(X)+Y,X+SIN(Y)=1]’ 2. Un vecteur contenant les variables à trouver, à savoir ‘[X,Y]’ 3. Un vecteur contenant les valeurs initiales de la solution, à savoir les valeurs initiales à la fois de X et de Y sont zéro dans cet exemple. En mode ALG, appuyer sur @ECHO pour copier l’exemple dans la pile, appuyer sur ` pour effectuer. Pour voir tous les éléments de la solution, vous devez activer l’éditeur de ligne en appuyant la touche directionnelle vers le bas. (˜): En mode RPN, la solution pour cet exemple est obtenue en utilisant : L’activation de la fonction MSLV donne l’écran suivant : Vous aurez peut-être remarqué que, tout en donnant une solution, l’écran affiche des informations intermédiaires dans le coin supérieur gauche. Comme la solution fournie par la fonction MSLV est numérique, les informations dans le coin supérieur gauche montrent le résultat du processus itératif utilisé pour obtenir la solution. La solution finale est X = 1.8238, Y = -0.9681. Page 7-6 Exemple 2 - Entrée d’un lac dans un écoulement à surface libre Ce problème particulier de flux à surface libre nécessite la résolution simultanée de deux équations, l’équation d’énergie et l’équation de V2 Cu A 5 / 3 Manning : . H o = y + ⋅ ⋅ S o Dans ces équations, Ho et Q = n P2/3 2g représente la tête d’énergie (m, ou ft) disponible pour un flux à l’entrée d’un écoulement, y est la profondeur du flux (m ou ft), V = Q/A est la vélocité du flux (m/s or ft/s), Q est la décharge volumétrique (m3/s or ft3/s), A est la surface de la section droite (m2 or ft2), Cu est un coefficient qui dépend du système d’unités (Cu = 1.0 pour le SI, Cu = 1.486 pour le système britannique d’unités) n est le coefficient de Manning, une mesure de la rugosité de la surface de l' écoulement (à savoir, pour le béton, n = 0.012), P est le périmètre mouillé de la section droite (m ou ft), So est la pente du lit de l'écoulement exprimée en fraction décimale. Pour un écoulement trapézoïdal, comme dans l’exemple ci-dessous, la superficie est donnée par A = (b + my ) y , tandis que le périmètre mouillé est donné par P = b + 2 y 1 + m 2 , où b est la largeur au fond (m ou ft), et m est la pente latérale (1V:mH) de la section droite. Généralement, il faut résoudre les équations d’énergie et de Manning simultanément pour y et Q. Une fois que ces équations sont écrites en termes des variables primaires b, m, y, g, So, n, Cu, Q et Ho, il nous reste un système d’équations de forme f1(y,Q) = 0, f2(y,Q) = 0. Nous pouvons construire ces deux équations comme suit. Nous supposons que nous allons utiliser le mode ALG et les modes Exacts dans la calculatrice, même si la définition et la résolution d’équations avec MSLV sont très similaires en mode RPN. Créez un sous-répertoire, disons CHANL (pour open CHANneL),et définissez les variables suivantes dans ce sous-répertoire : Page 7-7 Pour voir les équations originales, EQ1 et EQ2, en termes de variables primaires énumérées ci-dessus, nous pouvons utiliser la fonction EVAL appliquée à chaque équation, à savoir µ@@@EQ1@@ µ @@@EQ2@@. Les équations sont affichées dans la pile comme suit (petite police d’affichage) : Nous pouvons voir que ces équations sont en effet données en termes de variables primaires b, m, y, g, So, n, Cu, Q et Ho. Afin de résoudre y et Q, nous devons donner des valeurs aux autres variables. Supposons que nous utilisions H0 = 5 ft, b = 1.5 ft, m = 1, n = 0.012, S0 = 0.00001, g = 32.2, et Cu = 1.486. Avant d’être en mesure d’utiliser MSLV pour trouver la solution, nous devons saisir ces valeurs dans les variables correspondantes. Ceci peut être effectué comme suit : Page 7-8 Nous sommes maintenant prêts à résoudre l’équation. Tout d’abord, nous devons mettre les deux équations ensemble dans un vecteur. Nous pouvons le faire en enregistrant le vecteur dans une variable que nous appellerons EQS (EQuationS): Comme valeurs initiales des variables y et Q, nous utiliserons y=5 (égal à la valeur de Ho, qui est la valeur maximale que y peut prendre) et Q = 10 (il s’agit d’une supposition). Pour obtenir la solution, nous sélectionnons la fonction MSLV dans le menu NUM.SLV, c'est-à-dire : ‚Ï6@@@OK@@@, pour placer la commande à l’écran : Ensuite, nous saisissons la variable EQS: LL@@EQS@ , suivie du vecteur [y,Q]: Page 7-9 ‚í„Ô~„y‚í~q™ et des suppositions initiales ‚í„Ô5‚í 10. Avant d’appuyer sur `, l’écran doit se présenter comme suit : Appuyez sur ` pour résoudre le système d’équations. Il se peut, si votre mesure angulaire n’est pas paramétrée en radians, que vous voyiez s’afficher la requête suivante : Appuyez sur @@OK@@ et autorisez le processus de résolution à continuer. Une étape de solution intermédiaire se présentera ainsi : Le vecteur en haut représente la valeur actuelle de [y,Q] alors que la solution est en cours et la valeur.358822986286 représente les critères de convergence de la méthode numérique utilisée dans la solution. Si le système est bien posé, cette valeur va diminuer pour atteindre une valeur proche de zéro. A ce stade, une solution numérique aura été trouvée. L’écran, après recours à la fonction MSLV pour trouver une solution, se présente comme suit : Page 7-10 Le résultat est une liste de trois vecteurs. Le premier vecteur dans la liste contient les équations résolues. Le deuxième vecteur est la liste des inconnues. Le troisième vecteur représente la solution. Afin de pouvoir voir ces vecteurs, appuyez sur la touche directionnelle vers le bas ˜ pour activer l’éditeur de ligne. Le résultat apparaîtra comme indiqué ci-dessous : La solution suggérée est [4.9936.., 20.661…]. Cela signifie que y = 4.99 ft et Q = 20.661 ft3/s. Vous pouvez utiliser les touches directionnelles (š™—˜) pour voir la solution en détail. Utilisation de Résolution d’Equations Multiples (MES) La résolution d’équations multiples est un environnement dans lequel vous pouvez résoudre un système d’équations multiples en résolvant l’inconnue d’une équation à tour de rôle. Il ne s’agit pas vraiment d’une résolution simultanée mais plutôt d’une résolution équation par équation pour plusieurs équations liées. Pour illustrer l’utilisation de la résolution MES pour la résolution d’équations multiples, nous présentons une application liée à la trigonométrie dans la section suivante. Les exemples ci-dessous sont présentés en mode RPN. Application 1 - Résolution de triangles Dans cette section, nous utilisons une application importante des fonctions trigonométriques : le calcul des dimensions d’un triangle. La solution est mise en œuvre dans la calculatrice utilisant la résolution d’equations ou MES. Page 7-11 Considérons le triangle ABC illustré ci-dessous. C y a B β b c α A La somme des angles intérieurs d’un triangle quelconque est toujours 180o, à savoir α + β + γ = 180o. La loi des sinus indique que : sin α sin β sin γ = = . a b c La loi des cosinus indique que : a2 = b2 + c2 – 2⋅b⋅c⋅cos α, b2 = a2 + c2 – 2⋅a⋅c⋅cos β, c2 = a2 + b2 – 2⋅a⋅b⋅cos γ. Afin de résoudre le problème pour n’importe quel triangle, vous devez connaître au moins trois des six variables suivantes : a, b, c, α, β, γ. Puis, vous pouvez utiliser les équations de la loi des sinus, loi des cosinus ou de la somme des angles intérieurs d’un triangle pour trouver les trois autres variables. Si les trois côtés sont connus, la surface du triangle peut être calculée avec la A = s ⋅ ( s − a) ⋅ ( s − b) ⋅ ( s − c) où s est connu comme a+b+c le demi-périmètre du triangle, à savoir s = . 2 formule de Héron, Solution pour un triangle utilisant la résolution (MES) La résolution d’équations multiples (MES) est une fonction qui peut être utilisée pour résoudre deux ou plusieurs équations couplées. Il faut souligner, Page 7-12 cependant, que la résolution MES ne résout pas les équations simultanément. Au contraire, il prend les variables connues, et cherche ensuite dans une liste d’équations jusqu’à ce qu’il en trouve une qui puisse être résolue pour l’une des variables inconnues. Puis il cherche une autre équation qui peut être résolue pour l’inconnue suivante et ceci jusqu’à ce que toutes les inconnues aient été trouvées. Création d’un répertoire de travail Nous allons utiliser la résolution MES pour résoudre des problèmes relatifs à des triangles en créant une liste d’équations correspondant aux lois des sinus et des cosinus, à la loi de la somme des angles intérieurs et à la formule de Héron pour la surface. Tout d’abord, créez un sous-répertoire dans HOME que nous appellerons TRIANG, et entrez dans ce sous-répertoire. Voir le Chapitre 2 pour les instructions relatives à la création d’un nouveau sousrépertoire. Saisir la liste des équations Dans TRIANG, saisir la liste d’équations suivante, soit en les saisissant directement dans la pile, soit en utilisant l’Editeur d’équation (souvenez-vous que ~‚a produit le caractère α et ~‚b produit le caractère β ; Le caractère γ doit être exporté @ECHO de ‚±): ‘SIN(α)/a = SIN(β)/b’ ‘SIN(α)/a = SIN(γ)/c’ ‘SIN(β)/b = SIN(γ)/c’ ‘c^2 = a^2+b^2-2*a*b*COS(γ)’ ‘b^2 = a^2+c^2-2*a*b*COS(β)’ ‘a^2 = b^2+c^2-2*b*c*COS(α)’ ‘α+β+γ = 180’ ‘s = (a+b+c)/2’ ‘A = √ (s*(s-a)*(s-b)*(s-c))’ Ensuite, saisir le nombre 9 et créer une liste d’équations en utilisant : fonction LIST (utilisez le catalogue de commandes ‚N). Enregistrez cette liste dans la variable EQ. Page 7-13 La variable EQ contient la liste des équations qui seront passées en revue par la résolution MES lorsqu’elle essaiera de résoudre les inconnues. Saisir un titre de fenêtre Ensuite, nous allons créer un fil de variable appelé TITLE pour contenir le fil “Triangle Solution”, comme suit : ‚Õ Ouvrir des guillemets doubles dans la pile ~~„~ Bloquer le clavier en minuscule alpha „triangle# Saisir le texte : Triangle_ „solution Saisir le texte : Solution ` Saisir le fil “Triangle Solution” dans la pile ³ Ouvrir des guillemets dans la pile ~~title` Saisir le nom de la variable ‘TITLE’ K Enregistrer le fil dans ‘TITLE’ Créer une liste de variables Ensuite, créez une liste de noms de variables dans la pile qui se présentera comme suit : { a b c α β γ A s } et enregistrez-la dans la variable LVARI (List of VARIables). La liste des variables représente l’ordre dans lequel les variables seront affichées quand la résolution MES commencera sa recherche. Elle doit inclure toutes les variables des équations au risque de ne pas fonctionner avec la fonction MITM (voir plus loin). Voici la séquence de touches à utiliser pour préparer et enregistrer cette liste : Appuyez sur J pour retourner au menu des variables. Votre menu doit présenter les variables @LVARI! !@TITLE @@EQ@@ . Préparation avant de lancer la résolution MES L’étape suivante consiste à activer la résolution MES et à essayer une solution à titre d’échantillon. Afin de le faire, cependant, nous devons paramétrer les unités d’angles à DEGrés, si elles ne sont pas déjà dans cette unité, en saisissant ~~deg`. Page 7-14 Ensuite, nous voulons conserver dans la pile le contenu de TITLE et LVARI, en utilisant : !@TITLE @LVARI! Nous allons utiliser les fonctions suivantes de la résolution MES • MINIT : MES INITialisation: initialise les variables des équations enregistrées dans EQ. • MITM : MES’ Menu Item: Prend un titre du niveau 2 de la pile et la liste de variables au niveau 1 de la pile et place le titre en haut de la fenêtre MES et la liste de variables comme touches de menu dans l’ordre indiqué par la liste. Dans le présent exercice, nous avons déjà un titre (“Triangle Solution”) et une liste de variables ({ a b c α β γ A s }) au niveau des piles 2 et 1 respectivement, prêts pour activer MITM. • MSOLVR : MES SOLVER, active la résolution d’équations multiples (MES) et attend la saisie de l’utilisateur. Utilisation interactive de la résolution MES Pour faire démarre la résolution MES avec les variables LVARI et TITLE affichées dans la pile, activez la commande MINIT, puis MITM, et finalement, MSOLVR (vous trouverez ces fonctions dans le catalogue ‚N). La fonction MES est lancée et dispose de la liste de variables suivante (appuyer sur L pour consulter la prochaine liste de variables): Appuyez sur L pour voir la troisième liste de variables. Vous devriez voir : Appuyez sur L une fois de plus pour restaurer le menu de la première variable. Page 7-15 Essayons une solution simple du Cas I en utilisant a = 5, b = 3, c = 5. Utilisez les valeurs suivantes : 5[ a ] a:5 est affichée dans le coin supérieur gauche de l’écran. 3[ b ] b:3 est affichée dans le coin supérieur gauche de l’écran. 5[ c ] c:5 est affichée dans le coin supérieur gauche de l’écran. Pour trouver les angles, utiliser : „[ α ] La calculatrice annonce Résoudre pour α et indique le résultat α: 72.5423968763. Note: Si vous obtenez un chiffre supérieur à 180, essayez ce qui suit : 10[ α „[ α ] ] Réinitialise a avec une valeur plus petite La calculatrice annonce Solving for α Ensuite nous calculons les deux autres valeurs : „[ β ] Le résultat est β: 34.9152062474. „[ γ ] Le résultat est γ: 72.5423968763. Vous devriez avoir les valeurs des trois angles affichées dans la pile de niveau 3 à 1. Appuyez deux fois sur + pour vérifier que leur somme est effectivement égale à 180o. Appuyez sur L pour aller aux autres variables du menu. Pour calculer la surface, utilisez : „[ A ]. La calculatrice commence par résoudre les autres variables, puis trouve la valeur suivante pour la surface A: 7.15454401063. Page 7-16 Note: Lorsqu’une solution est trouvée, la calculatrice annonce les conditions pour la solution soit sous forme de zéro soit en signalant : Changement de Signe. D’autres messages peuvent s’afficher si la calculatrice a du mal à trouver la solution. En appuyant sur „@@ALL@@ la calculatrice cherchera toutes les variables, en montrant temporairement les résultats intermédiaires. Appuyez sur ‚@@ALL@@ pour visualiser ces solutions : Quand vous avez terminé, appuyez sur $ pour retourner à l’environnement MES. Appuyez sur J pour quitter l’environnement MES et retourner à l’affichage normal de la calculatrice. Organiser les variables dans le sous-répertoire Votre menu variable doit maintenant contenir les variables (appuyez sur L pour voir le deuxième ensemble de variables ): Des variables correspondant à toutes les variables de EQ ont été créées. On trouve aussi une nouvelle variable appelée Mpar (MES paramètres), qui contient des informations concernant le paramétrage de la résolution MES pour cet ensemble particulier d’équations. Si vous utilisez ‚@Mpar pour voir le contenu de la variable Mpar, vous obtenez le message crypté : Library Data. Cela signifie que les paramètres de la résolution MES sont encodés dans un fichier binaire auquel l’éditeur ne peut pas accéder. Ensuite, si nous voulons placer les variables dans les désignations des menus dans un ordre différent de la liste présentée ci-dessus, il faut suivre les étapes suivantes : Page 7-17 1. Créer une liste contenant { EQ Mpar LVARI TITLE } en utilisant : „ä @@@EQ@@@ @Mpar! !@LVARI @@TITLE ` 2. Placer le contenu de LVARI dans la pile en utilisant : @LVARI. 3. Assembler les deux listes en appuyant sur +. Utiliser la fonction ORDER (utiliser le catalogue de commandes ‚N) pour ranger les variables comme présentées dans la liste de la pile de niveau 1. 4. Appuyez sur J pour récupérer votre liste de variables. Elle devrait maintenant se présenter comme suit : 5. Appuyez sur L pour restaurer le menu de la première variable. Programmation de la résolution du triangle par la résolution MES en utilisant User RPL Afin de faciliter le lancement de la résolution MES à l’avenir, nous allons créer un programme qui chargera la résolution MES en appuyant sur une seule touche. Le programme soit se présenter comme suit: << DEG MINIT TITLE LVARI MITM MSOLVR >> et peut être saisi en utilisant : ‚å Ouvre le symbole programme ~~ Verrouille le clavier alphanumérique deg# Saisir DEG (paramètre l’unité d’angle à DEGrés) minit# Saisir MINIT_ ~ Déverrouille le clavier alphanumérique @TITLE Insère le nom TITLE dans le programme @LVARI Insère le nom LVARI dans le programme ~~ Verrouille le clavier alphanumérique mitm# Saisir MITM_ msolvr Saisir MSOLVR ` Saisir le programme dans la pile Enregistrez le programme dans une variable appelée TRISOL, pour TRIangle SOLution, en appuyant sur : ³~~trisol` K Appuyez sur J, pour récupérer votre liste de variables. Une désignation de touche de menu @TRISO devrait maintenant être disponible dans votre menu. Page 7-18 Utilisation du programme – exemples de solution Pour lancer le programme, appuyez sur la touche de menu @TRISO. Vous avez maintenant le menu MES correspondant à la solution du triangle. Essayons les exemples des trois cas énumérés plus tôt pour la résolution de problèmes du triangle. Exemple 1 – Triangle rectangle Utilisez a = 3, b = 4, c = 5. Voici la séquence pour obtenir la solution : 3[ a ] 4 [ b ] 5[ c ] Pour saisir les données „[ α ] Le résultat est α: 36.8698976458 „[ β ] Le résultat est β: 53.1301023541. „[ γ ] Le résultat est γ: 90. L Pour passer au menu suivant des variables : [][ A ] Le résultat est A: 6. LL Pour passer au menu suivant des variables : Exemple 2 – Triangle quelconque Utilisez a = 3, b = 4, c = 6. La procédure de résolution consiste à trouver toutes les variables à la fois et ensuite à rappeler les solutions dans la pile : J @TRISO Pour effacer les données et relancer la résolution MES 3[ a ] 4 [ b ] 6[ c ] Pour saisir les données L Pour passer au menu suivant des variables : „ @ALL! Trouver toutes les inconnues ‚ @ALL! Afficher la solution La solution est : En bas de l’écran, vous aurez les touches de Menu : @VALU @EQNS! @PRINT %%%% %%%% @EXIT Page 7-19 Le point carré dans @VALU indique que les valeurs des variables, plutôt que les équations pour lesquelles elles ont été trouvées, sont affichées à l’écran. Pour voir les équations utilisées pour la résolution de chaque variable, appuyez sur la touche menu @EQNS@. L’affichage est le suivant : La touche de menu @PRINT est utilisée pour imprimer l’écran sur une imprimante, si besoin est. Et @EXIT vous ramène à l’environnement MES pour une nouvelle résolution, si nécessaire. Pour retourner à l’affichage normal de la calculatrice, appuyez sur J. Le tableau suivant de solutions de triangle montre les saisies en caractère gras et les solutions en italiques. Essayez d’utiliser le programme avec ces saisies pour vérifier les solutions. N’oubliez pas d’appuyer sur J @TRISO à chaque solution pour effacer les variables et relancer la résolution MES. Sinon, vous allez faire suivre des informations de solutions précédentes qui risquent de perturber sérieusement les calculs en cours. a b c α( ο) β( ο) γ( ο) 2.5 6.9837 7.2 20.299 75 84.771 8.6933 7.2 8.5 14.26 22.616 27 130.38 23.309 21.92 17.5 13.2 90 41.92 23 29.6 75 32 73 328.81 10.27 3.26 10.5 77 18 85 16.66 17 25 32 31.79 A 52.97 37.03 115.5 50.78 97.44 210.71 Ajouter un bouton INFO dans votre répertoire Un bouton information peut être utile dans votre répertoire pour vous aider à vous souvenir du fonctionnement des fonctions du répertoire. Dans ce répertoire, tout ce dont vous devez vous souvenir c’est d’appuyer sur @TRISO Page 7-20 pour lancer la résolution d’un problème impliquant un triangle. Vous voudrez peut-être saisir dans le programme suivant : <<“Appuyer sur [TRISO] pour lancer.“ MSGBOX >> et l’enregistrer dans la variable appelée INFO. Comme résultat, la première variable de votre répertoire sera le bouton @INFO. Application 2 - Vélocité et accélération en coordonnées polaires Le mouvement bidimensionnel d’une particule en coordonnées polaires nécessite souvent de déterminer les composantes radiales et traverses de la vélocité et de l’accélération de la particule à partir de r, r’ = dr/dt, r” = d2r/dt2, θ, θ’ = d θ /dt et θ” = d2θ/dt2. Les équations suivantes sont utilisées : v r = r& vθ = rθ& a r = &r& − rθ& 2 a = rθ&& + 2r&θ& θ Créez un sous-répertoire appelé POLC (POLar Coordinates, coordonnées polaires), que nous utiliserons pour calculer les vélocités et accélérations en coordonnées polaires. Dans ce sous-répertoire, saisir les variables suivantes : ________________________________________________________________ Programme ou valeur Enregistrer dans la variable: << PEQ STEQ MINIT NAME LIST MITM MSOLVR >> SOLVEP "vel. & acc. polar coord." NAME { r rD rDD θD θDD vr vθ v ar aθ a } LIST { 'vr = rD' 'vθ = r*θD' 'v = √(vr^2 + vθ^2)' 'ar = rDD − r*θD^2' 'aθ = r*θDD + 2*rD*θD' 'a = √(ar^2 + aθ^2)' } PEQ ____________________________________________________________________ Une explication des variables est présentée ci-dessous : SOLVEP = un programme qui lance la résolution d’équations multiples pour l’ensemble particulier d’équations enregistré dans la variable PEQ; NAME = une variable qui enregistre les noms de la résolution MES, à savoir : "vel. & acc. polar coord."; Page 7-21 LIST = une liste de variables utilisées dans les calculs, placées dans l’ordre dans lequel vous voulez qu’elles apparaissent dans l’environnement de la résolution ; PEQ = liste des équations à résoudre, correspondant aux composantes radiales et traverses de la vélocité (vr, vθ) et de l’accélération (ar, aθ) en coordonnées polaires, ainsi que les équations pour calculer la magnitude de la vélocité (v) et l’accélaration (a) quand les composants polaires sont connus. r, rD, rDD = r (coordonnée radiale), r-dot (première dérivée de r), r-double dot (deuxième dérivée de r). θD, θDD = θ-dot (première dérivée de θ), θ-double dot (deuxième dérivée de θ). ________________________________________________________________ Supposons que l’on vous donne les informations suivantes : r = 2.5, rD = 0.5, rDD = -1.5, θD = 2.3, θDD = -6.5 et que l’on vous demande de trouver vr, vθ, ar, aθ, v, et a. Lancez la résolution d’équations multiples MES en appuyant sur J@SOLVE. La calculatrice affiche un écran intitulé "vel. & acc. polar coord.", qui se présente comme suit : Pour saisir les valeurs des variables connues, saisissez simplement les valeurs et appuyez sur le bouton correspondant à la variable saisie. Utilisez la combinaison de touches suivante : 2.5 [ r ] 0.5 [ rD ] 1.5 \ [ rDD ] 2.3 [ θD ] 6.5 \ [ θDD ]. Notez qu’après avoir saisi une valeur particulière, la calculatrice affiche la variable et sa valeur dans le coin supérieur gauche de l’écran. Nous avons Page 7-22 maintenant saisi les variables connues. Pour calculer les inconnues, vous pouvez procéder de deux manières : a). Résoudre les variables individuelles, par exemple „[ vr ] donne vr: 0.500. Appuyez sur L„[ vθ ] pour obtenir vθ : 5.750 et ainsi de suite. Les résultats restant sont v: 5.77169819031; ar: -14.725; aθ: 13.95; et a: 20.2836911089.; OU b). Résoudre toutes les variables à la fois, en appuyant sur „@ALL!. La calculatrice ferra clignoter les solutions au fur et à mesure qu’elle les trouve. Lorsque la calculatrice s’arrête, vous pouvez appuyer sur ‚@ALL! pour obtenir une liste des résultats. Dans le cas présent, nous avons : En appuyant sur la touche menu @EQNS, vous saurez quelles équations ont été utilisées pour trouver chacune des valeurs à l’écran : Pour utiliser un autre ensemble de valeurs, appuyez soit sur @EXIT @@ALL@ LL, soit sur J @SOLVE. Essayez un autre exemple en utilisant r = 2.5, vr = rD = -0.5, rDD = 1.5, v = 3.0, a = 25.0. Trouvez θD, θDD, vθ, ar, et aθ. Vous devriez obtenir les résultats suivants : Page 7-23 Page 7-24 Chapitre 8 Opérations avec les listes Les listes sont un type d’objets de la calculatrice qui peut être utile pour le traitement de données et la programmation. Ce chapitre présente des exemples d’opérations avec des listes. Définitions Une liste, dans le contexte de la calculatrice, est une série d’objets entre parenthèses et séparés par des espaces (#), en mode RPN, ou par des virgules (‚í), dans les deux modes. Les objets qui peuvent être inclus dans une liste sont des nombres, des lettres, des séquences de caractères, des noms de variables et/ou des opérateurs. Les listes sont utiles pour manipuler des ensembles de données et pour certaines applications de programmation. Des exemples de liste sont donnés ci-dessous : { t 1 }, {"BETA" h2 4}, {1 1.5 2.0}, {a a a a}, { {1 2 3} {3 2 1} {1 2 3}} Dans les exemples montrés ci-dessous, nous nous limiterons aux listes numériques. Créer et enregistrer des listes Pour créer une liste en mode ALG, commencer par saisir une accolade„ä (associée avec la touche + ), puis taper ou saisir les éléments de la liste en les séparant avec des virgules (‚í). La combinaison de touches suivante vous permettra de saisir la liste {1 2 3 4} et de l’enregistrer dans la variable L1. „ä 1 ‚í 2 ‚í 3 ‚í 4 ™K~l1` L’affichage est alors le suivant : Page 8-1 L’illustration à gauche présente l’écran avant d’appuyer sur `, tandis que celle de droite montre l’écran après avoir enregistré la liste dans L1. Notez qu’avant d’appuyer sur ` la liste montre les virgules séparant ses éléments. Cependant, après avoir appuyé sur `, les virgules sont remplacées par des espaces. Pour entrer la même liste en mode RPN, vous devez utiliser la séquence de touches suivante : „ä 1 # 2 # 3 # 4 ` ~l1`™K L'illustration montre la pile RPN avant d'avoir appuyé sur la touche K : Composer et décomposer des listes La composition et la décomposition de listes n’ont de sens qu’en mode RPN. Dans ce mode d’opération, on peut décomposer une liste en utilisant la fonction OBJ. Avec cette fonction, une liste dans la pile RPN est décomposée en ses différents éléments, le niveau 1 de la pile présentant le nombre d’éléments de la liste. Les deux saisies d’écran suivantes montrent la pile avec une petite liste avant et après application de la fonction OBJ: Notez qu’après avoir appliqué OBJ, les éléments de la liste occupent les niveaux 4: à 2:, tandis que le niveau 1 indique le nombre d’éléments de la liste. Pour composer une liste en mode RPN, placez les éléments de la liste dans la pile, saisissez la taille de la liste et appliquez la fonction LIST (la sélectionner dans le catalogue de fonctions, comme suit : ‚N‚é, Page 8-2 puis utilisez les touches directionnelles haut et bas (—˜) pour localiser la fonction LIST). Les deux saisies d’écran suivantes montrent les éléments d’une liste de taille 4 avant et après application de la fonction LIST: Note: La fonction OBJ appliquée à une liste en mode ALG reproduit simplement la liste en y ajoutant sa taille : Opérations avec des listes de nombres Pour démontrer les opérations avec des listes de nombres, nous allons créer quelques autres listes, outre la liste L1 créée ci-dessus : L2={-3,2,1,5}, L3={6,5,3,1,0,3,-4}, L4={3,-2,1,5,3,2,1}. En mode ALG, l’écran, après la saisie des listes L2, L3, L4, se présente comme suit : En mode RPN, l’écran suivant montre les trois listes, avec leurs noms, prêtes à êtres enregistrées. Pour enregistrer les listes dans ce cas, vous devez appuyer trois fois sur K . Changement de signe La touche de changement de signe (\), lorsqu'elle est appliquée à une liste de nombres, change le signe de tous les éléments de la liste. Par exemple : Page 8-3 Addition, soustraction, multiplication, division La multiplication et la division d’une liste par un nombre unique sont appliqués à toute la liste, par exemple : La soustraction d’un nombre unique à une liste produira la soustraction du même nombre de chacun des éléments de la liste, par exemple : L’addition d’un nombre unique à une liste ajoutera ce nombre à la liste, sans additionner ce même nombre à chacun des éléments de la liste. Par exemple : La soustraction, la multiplication et la division de listes de nombres de la même longueur produisent une liste de même longueur incluant le détail des opérations terme par terme. Exemples : Page 8-4 La division L4/L3 produira une infinité d’entrées parce que l’un des éléments de la liste L3 est zéro. Si les listes concernées sont de longueur différente, un message d’erreur s’affiche (Error : Invalid Dimensions). Le signe plus (+), lorsqu’il est appliqué à des listes, joue le rôle d’opérateur de concaténation et rassemble les deux listes plutôt que de procéder à l’addition terme par terme. Par exemple : Afin de produire une addition terme à terme de deux listes de même longueur, nous devons utiliser l’opérateur ADD. Cet opérateur peut être chargé en utilisant le catalogue de fonctions (‚N). L’écran ci-dessous montre une application de l’opérateur ADD pour ajouter les listes L1 et L2 terme à terme : Fonctions nombres réels à partir du clavier Les fonctions nombres réels à partir du clavier (ABS, ex, LN, 10x, LOG, SIN, x2, √, COS, TAN, ASIN, ACOS, ATAN, yx) peuvent être appliquées aux listes. En voici quelques exemples : ABS EXP et LN Page 8-5 LOG et ANTILOG SQ et racine carrée SIN, ASIN COS, ACOS TAN, ATAN INVERSE (1/x) Fonctions réelles dans le menu MTH Les fonctions intéressantes dans le menu MTH incluent dans le menu HYPERBOLIC : SINH, ASINH, COSH, ACOSH, TANH, ATANH et dans le menu REAL : %, %CH, %T, MIN, MAX, MOD, SIGN, MANT, XPON, IP, FP, RND, TRNC, FLOOR, CEIL, DR, RD. Certaines des fonctions qui prennent un argument unique sont illustrées ci-dessous, étant appliquées à des listes de nombres réels : SINH, ASINH COSH, ACOSH Page 8-6 TANH, ATANH SIGN, MANT, XPON IP, FP FLOOR, CEIL DR, RD Exemples de fonctions utilisant deux arguments Les saisies d’écran ci-dessous montrent des applications de la fonction % à des arguments listes. La fonction % nécessite deux arguments. Les deux premiers exemples illustrent des cas pour lesquels un seul des deux arguments est une liste. Les résultats sont des listes où la fonction % à été distribuée suivant l’argument liste. Par exemple : %({10, 20, 30},1) = {%(10,1),%(20,1),%(30,1)}, tandis que %(5,{10,20,30}) = {%(5,10),%(5,20),%(5,30)} Page 8-7 Dans l’exemple suivant, les deux arguments de la fonction % sont des listes de la même taille. Dans ce cas, une distribution terme à terme des arguments est effectuée, comme, par ex. : %({10,20,30},{1,2,3}) = {%(10,1),%(20,2),%(30,3)} Cette description de la fonction % à des arguments liste montre le schéma général d’évaluation de toute fonction avec deux arguments lorsque l’un ou les deux sont des listes. Des exemples d’applications des fonctions RND sont illustrés ci-dessous : Listes de nombres complexes L’exercice suivant montre comment créer une liste de nombres complexes étant données deux listes de même longueur, l’une représentant les parties réelles et l’autre les parties imaginaires des nombres complexes. Utilisez L1 ADD i*L2. L’écran montre aussi que la liste de nombres complexes résultant de la manipulation est enregistrée dans la variable L5 : Les fonctions telles que LN, EXP, SQ, etc. peuvent aussi être appliquées à une liste de nombres complexes, c’est-à-dire : Page 8-8 L’exemple suivant montre des applications des fonctions RE (partie réelle), IM (partie imaginaire), ABS (magnitude) et ARG (argument) de nombres complexes. Les résultats sont des listes de nombres réels : Listes d’objets algébriques Les exemples suivants présentent des listes d’objets algébriques lorsque la fonction SIN leur a été appliquée : Le menu MTH/LIST Le menu MTH propose une série de fonctions qui s’appliquent exclusivement aux listes. L’indicateur système117 y est paramétré sur CHOOSE boxes : Page 8-9 Ensuite, l’indicateur système 117 est paramétré sur menus SOFT : Ce menu contient également les fonctions suivantes : ∆LIST ΣLIST ΠLIST SORT REVLIST ADD : : : : : : Calcule un incrément parmi les éléments consécutifs d’une liste Calcule la somme des éléments d’une liste Calcule le produit des éléments d’une liste Trie les éléments dans l’ordre croissant Inverse l’ordre de la liste Opérateur pour l’addition terme à terme de deux listes de même longueur (des exemples du fonctionnement de cet opérateur ont été montrés plus haut) Des exemples d’applications de ces fonctions en mode ALG sont présentés cidessous : SORT et REVLIST peuvent être combinés pour trier la liste par ordre décroissant : Page 8-10 Manipulation des éléments d’une liste Le menu PRG (programmation) comprend un sous-menu LIST avec plusieurs fonctions qui servent à manipuler les éléments d’une liste. Indicateur système 117 étant en position CHOOSE boxes : Le sous-menu 1. ELEMENTS.. contient les fonctions suivantes qui peuvent être utilisées pour la manipulation des éléments des listes : Taille de la liste La fonction SIZE, du sous-menu PRG/LIST/ELEMENTS, peut être utilisée pour obtenir la taille (aussi appelée longueur) d’une liste, c'est-à-dire Extraire et insérer des éléments dans une liste Pour extraire des éléments d’une liste, nous utilisons la fonction GET, disponible dans le sous-menu PRG/LIST/ELEMENTS. Les arguments de la Page 8-11 fonction GET sont la liste et le nombre d’éléments que vous voulez extraire. Pour insérer un élément dans une liste, utilisez la fonction PUT (également disponible dans le sous-menu PRG/LST/ELEMENTS). Les arguments de la fonction PUT désignent la liste, l’emplacement de l’élément que vous souhaitez remplacer et la valeur qui sera substituée. Des exemples d’applications des fonctions GET et PUT sont montrés sur l’écran suivant : Les fonctions GETI et PUTI, également disponibles dans le sous-menu PRG/ ELEMENTS/, peuvent aussi être utilisées pour extraire et placer des éléments dans une liste. Ces deux fonctions, cependant, sont essentiellement utiles pour la programmation. La fonction GETI utilise les mêmes arguments que GET et renvoie la liste, l’emplacement de l’élément plus un et l’élément à l’emplacement désiré. La fonction PUTI utilise les mêmes arguments que GET et renvoie la liste et la taille de la liste. Emplacement d’un élément dans la liste Pour déterminer l’emplacement d’un élément dans une liste, utilisez la fonction POS ayant la liste et l’élément recherché comme arguments. Par exemple : Fonctions HEAD et TAIL La fonction HEAD extrait le premier élément de la liste. La fonction TAIL retire le premier élément de la liste et renvoie la liste restante. Des exemples sont donnés ci-dessous : Page 8-12 Fonction SEQ Le point de sous-menu 2. PROCEDURES.. dans le menu PRG/LIST contient les fonctions suivantes qui peuvent être utilisées pour manipuler des listes. Les fonctions REVLIST et SORT ont été introduites en tant que parties du menu MTH/LIST. Les fonctions DOLIST, DOSUBS, NSUB, ENDSUB et STREAM sont conçues comme des fonctions de programmation pour manipuler des listes en mode RPN. La fonction SEQ est utile pour produire une liste de valeurs étant donné une expression particulière et est décrite plus en détails ci-dessous. La fonction SEQ prend comme arguments une expression en termes d’index, de nom de l’index et commence, termine et augmente les valeurs pour cet index, puis donne une liste consistant en l’évaluation de l’expression de toutes les valeurs possibles de cet index. La forme générale de la fonction est SEQ (expression, index, start, end, increment). Dans l’exemple suivant, en mode ALG, nous identifions l’expression = n2, index = n, start = 1, end = 4 et incrément = 1 : Page 8-13 La liste produite correspond aux valeurs {12, 22, 32, 42}. En mode RPN, vous pouvez faire une liste des différents arguments de la fonction comme suit : avant d’appliquer la fonction SEQ. Fonction MAP La fonction MAP, disponible par l’intermédiaire du catalogue (‚N), prend comme arguments une liste de nombres et une fonction f(X) ou un programme de la forme << a … >>, et produit une liste consistant en l’application de la fonction f ou du programme à la liste de nombres. Par exemple, le recours à la fonction MAP applique la fonction SIN(X) à la liste {1,2,3} : Le recours suivant à la fonction MAP utilise un programme à la place d’une fonction comme second argument : Définition de fonctions qui utilisent des listes Au Chapitre 3, nous avons introduit l’utilisation de la fonction DEFINE ( „à) pour créer des fonctions de nombres réels avec un ou plusieurs arguments. Une fonction définie avec DEF peut aussi être utilisée avec des arguments liste, sauf que toute fonction avec une addition doit employer l’opérateur ADD à la place du signe (+). Par exemple, si nous définissons la fonction F(X,Y) = (X-5)*(Y-2), présentée ici en mode ALG : Page 8-14 Nous pouvons utiliser des listes (à savoir les variables L1 et L2 définies plus tôt dans ce chapitre) pour évaluer la fonction, ce qui nous donne : Puisque la définition de la fonction ne contient pas d’additions, l’application de la fonction à des arguments liste est simple. Cependant, si nous définissons la fonction G(X,Y) = (X+3)*Y et essayons d’évaluer cette fonction avec des arguments liste, nous n’y parvenons pas : Pour résoudre ce problème, nous pouvons éditer le contenu de la variable @@@G@@@ , que nous pouvons afficher dans la pile en utilisant …@@@G@@@, pour remplacer le signe plus (+) par ADD : Page 8-15 Ensuite, nous enregistrons l’expression éditée dans la variable @@@G@@@: L’évaluation de G(L1, L2) produit maintenant le résultat suivant : Comme alternative, nous pouvons définir la fonction avec ADD plutôt qu’avec le signe plus (+), dès le départ, ce qui revient à utiliser l’expression : DEFINE('G(X,Y)=(X ADD 3)*Y') : Vous pouvez aussi définir la fonction comme G(X,Y) = (X--3)*Y. Applications des listes Cette section montre quelques applications de listes au calcul de statistiques d’un échantillon. Par échantillon nous entendons une liste de valeurs, telle que {s1, s2, …, sn}. Supposons que l’échantillon étudié soit la liste {1, 5, 3, 1, 2, 1, 3, 4, 2, 1} et que nous l’enregistrions dans une variable appelée S (la saisie d’écran cidessous montre cette action en mode ALG mais la procédure en mode RPN est très similaire. N’oubliez simplement pas qu’en mode RPN vous placez les arguments des fonctions dans la pile avant d’appliquer la fonction) : Page 8-16 Moyenne harmonique d’une liste Cet échantillon est suffisamment petit pour que nous puissions compter le nombre d’éléments à l’écran (n=10). Pour une liste plus grande, nous pouvons utiliser la fonction SIZE pour obtenir ce nombre, soit : Supposons que nous voulions calculer la moyenne harmonique d’un échantillon, défini par sh = 1 1 1 ∑ n k =1 s n n = 1 1 1 1 1 + + L + n s1 s 2 sn . Pour calculer cette valeur, nous pouvons suivre la procédure suivante : 1. Appliquez la fonction INV () à la liste S : 2. Appliquez la fonction ΣLIST() à la liste résultat du point 1. Page 8-17 3. Divisez le résultat ci-dessus par n = 10: 4. Appliquez la fonction INV() au dernier résultat : Par conséquent, la moyenne harmonique de la liste S est sh = 1.6348… Moyenne géométrique d’une liste La moyenne géométrique d’un échantillon est définie par xg = n n ∏x k =1 k = n x1 ⋅ x 2 L x n Pour trouver la moyenne géométrique de la liste enregistrée en S, nous pouvons utiliser la procédure suivante : 1. Appliquez la fonction ΠLIST() à la liste S : Page 8-18 2. Appliquez la fonction XROOT(x,y), en saisissant la combinaison de touches ‚», au résultat du point 1. Par conséquent, la moyenne géométrique d’une liste S est sg = 1.003203… Moyenne pondérée Supposons que les données de la liste S, définie ci-dessus, sont les suivantes : S = {1,5,3,1,2,1,3,4,2,1} affectées par les coefficients W = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Si nous définissons la liste de coefficients comme W = {w1,w2,…,wn}, nous remarquons que le k -ème élément de la liste W ci-dessus peut être défini par wk = k. Par conséquent, nous pouvons utiliser la fonction SEQ pour générer cette liste, puis l’enregistrer dans la variable @@@W@@@ comme suit : Etant donné la liste de données {s1, s2, …, sn } et la liste de coefficients {w1, w2, …, wn }, la moyenne pondérée des données de S est définie par Page 8-19 n sw = ∑w k =1 k ⋅ sk . n ∑w k =1 k Pour calculer la moyenne pondérée des données de la liste S par les coefficients de la liste W, nous pouvons suivre les étapes suivantes : 1. Multipliez les listes S et W . 2. Utilisez la fonction ΣLIST sur ce résultat pour calculer le numérateur de sw: 3. Utilisez à nouveau la fonction ΣLIST, pour calculer le dénominateur de sw: 4. Utilisez l’expression ANS(2)/ANS(1) pour calculer la moyenne pondérée : Page 8-20 Par conséquent, la moyenne pondérée de la liste S par les coefficients de la liste W est sw= 2.2. Note: ANS(1) se réfère au résultat le plus récent (55), tandis que ANS(2) se réfère à l’avant-dernier résultat. (121). Statistiques de données groupées Les données groupées sont généralement affichées dans une table présentant la fréquence (w) des données par classes ou emplacements de stockage (=" bin" ) de données. Chaque classe ou bin est représentée par une marque de classe, généralement le milieu de cette classe. Un exemple de données groupées est présenté ci-dessous : Limites de classe 0-2 2-4 4-6 6-8 8 -10 Marque Indice de classe de fréquence sk 1 3 5 7 9 wk 5 12 18 1 3 Les données de la marque de classe peuvent être enregistrées dans la variable S, tandis que l’indice de fréquence peut être enregistré dans la variable W, comme suit : Page 8-21 Etant donné la liste de marques de classe S = {s1, s2, …, sn } et la liste d’indice de fréquence W = {w1, w2, …, wn }, la moyenne pondérée des données de S par W représente la valeur moyenne des données groupées, que nous appelonss, dans ce contexte : n s= ∑ wk ⋅ s k k =1 n ∑w k =1 où N = k n = ∑w k =1 k ⋅ sk N , n ∑w k =1 k représente l’indice de fréquence total. La valeur moyenne pour les données des listes S et W peut par conséquent être calculée en utilisant la procédure définie ci-dessus pour la moyenne pondérée, à savoir : Nous enregistrons cette valeur dans la variable appelée XBAR : Page 8-22 La variance de ces données groupées est définie par : n V = ∑ wk ⋅ ( s k − s ) 2 k =1 n ∑w k =1 k n = ∑w k =1 k ⋅ (sk − s ) 2 N Pour calculer ce dernier résultat, nous pouvons utiliser la procédure qui suit : L'écart type des données groupées est la racine carrée de la variance : Page 8-23 Chapitre 9 Vecteurs Ce chapitre donne des exemples de saisie et d’opérations avec des vecteurs, à la fois des vecteurs mathématiques de plusieurs éléments et des vecteurs physiques à 2 ou 3 composantes. Définitions D’un point de vue mathématique, un vecteur est un ensemble d’au moins deux éléments présentés en ligne ou en colonne. On les appelle vecteurs lignes et vecteurs colonnes. Des exemples sont donnés ci-dessous : − 1 v = 3 , u = [1,− 3, 5, 2] 6 Les vecteurs physiques ont deux ou trois composantes et peuvent être utilisés pour représenter des quantités physiques, telles que position, vitesse, accélération, moment, moment linéaire ou angulaire, vitesse angulaire et accélération etc.… Se référant à un système de coordonnées cartésiennes (x,y,z), il existe des vecteurs d’unité i, j, k associés à chaque direction de coordonnée, de telle sorte qu’un vecteur physique A peut être écrit en terme de ses composantes Ax, Ay, Az, as A = Axi + Ayj + Azk. Voici des notations alternatives de ce vecteur : A = [Ax, Ay, Az], A = (Ax, Ay, Az), ou A = < Ax, Ay, Az >. Une version bidimensionnelle de ce vecteur s’écrira A = Axi + Ayj, A = [Ax, Ay], A = (Ax, Ay) ou A = < Ax, Ay >. Puisque dans la calculatrice les vecteurs s’écrivent entre crochets [ ], nous choisirons la notation A = [Ax, Ay, Az] ou A = [Ax, Ay, Az], pour nous référer dorénavant à des vecteurs bi- ou tridimensionnels. La norme d’un vecteur A est définie comme |A| = Ax2 + Ay2 + Az2 . Le vecteur unité dans la direction du vecteur A, est défini par eA = A/|A|. Les vecteurs peuvent être multipliés par un scalaire, c'est-à-dire kA = [kAx, kAy, kAz]. Physiquement, le vecteur kA est parallèle au vecteur A, si k>0, ou antiparallèle au vecteur A, si k<0. L'opposé d'un vecteur est défini par –A = (–1)A = [–Ax, –Ay, –Az]. La division par un scalaire peut être interprétée comme une multiplication, à savoir A/k = Page 9-1 (1/k)⋅A. L’addition et la soustraction de vecteurs est définie comme A±B = [Ax ± Bx, Ay ± By, Az ± By], où B est le vecteur B = [Bx, By, Bz]. Il existe deux définitions des produits de vecteurs physiques, un produit scalaire ou produit interne (produit scalaire) et un produit vectoriel ou externe (le produit croisé). Le produit scalaire d’une valeur définie comme A•B = |A||B|cos(θ), où θ est l’angle entre les deux vecteurs. Le produit croisé donne un vecteur A×B dont la magnitude est |A×B| = |A||B|sin(θ) et dont la direction est donnée par ce que l’on appelle la règle de la main droite (se référer à un manuel de Math, de Physique ou de Mécanique pour voir une illustration graphique de cette opération). En termes de composantes cartésiennes, A•B = AxBx+AyBy+AzBz, et A×B = [AyBz-AzBy,AzBx-AxBz,AxByAyBx]. L’angle entre deux vecteurs peut être trouvé à partir de la définition du produit scalaire comme cos(θ) = A•B/|A||B|= eA•eB. Par conséquent, si deux vecteurs A et B sont perpendiculaires (θ = 900 = π/2rad), A•B = 0. Saisie de vecteurs Dans la calculatrice, les vecteurs sont représentés comme une séquence de nombres entre crochets et généralement saisis comme vecteurs lignes. Les crochets sont générés dans la calculatrice par la combinaison de touches „Ô , associée à la touche *. Les exemples suivants montrent des vecteurs saisis dans la calculatrice : [3.5, 2.2, -1.3, 5.6, 2.3] Un vecteur linéaire général [1.5,-2.2] Un vecteur 2-D [3,-1,2] Un vecteur 3-D ['t','t^2','SIN(t)'] Un vecteur algébrique Saisir des vecteurs dans la pile Une fois la calculatrice configurée en mode ALG, on saisit un vecteur dans la pile en ouvrant un couple de crochets („Ô) et en entrant les composantes ou éléments du vecteur en les séparant par des virgules (‚í). Les saisies d’écran ci-dessous montrent la saisie d’un vecteur numérique suivie par celle d’un vecteur algébrique. L’illustration de gauche montre le vecteur algébrique avant d’appuyer sur „. L’illustration de droite montre l’écran de la calculatrice après la saisie du vecteur algébrique : Page 9-2 En mode RPN, vous pouvez saisir un vecteur dans la pile en ouvrant un couple de crochets et en saisissant les composantes ou les éléments du vecteur qui doivent être séparés soit par des virgules (‚í), soit par des espaces (#). Remarquez que, après avoir appuyé sur la touche ` , dans les deux modes, la calculatrice montre les éléments du vecteur séparés par des espaces. Enregistrer des vecteurs dans des variables Les vecteurs peuvent être stockés dans les variables. Les saisies d’écran cidessous montrent les vecteurs u2 = [1, 2], u3 = [-3, 2, -2], v2 = [3,-1], v3 = [1, -5, 2] stockés respectivement dans les variables @@@u2@@, @@@u3@@, @@@v2@@, et @@@v3@@. D’abord en mode ALG : Puis en mode RPN (avant d’appuyer sur K, de manière répétée) : Utilisation de l’Editeur de matrices (MTRW) pour saisir les vecteurs Les vecteurs peuvent aussi être saisis en utilisant l’Editeur de matrices „²(troisième touche de la quatrième rangée à partir du haut du clavier). Cette commande génère une catégorie de feuilles de calcul correspondant Page 9-3 aux lignes et colonnes d’une matrice (les détails sur l’utilisation de l’Editeur de matrices pour saisir des matrices seront présentés dans un des chapitres suivants). Pour un vecteur, nous n’avons besoin de saisir des éléments que dans la première ligne. La cellule de la première ligne, première colonne est sélectionnée par défaut. En bas de la feuille de calcul, vous trouverez les onglets de menu logiciel suivants : @EDIT! @VEC ←@WID @WID→ @GO→ @GO↓ L'onglet @EDIT est utilisé pour éditer le contenu de la cellule sélectionnée de la matrice en mode Editeur de matrices. L'onglet @VEC@@ lorsqu’il est sélectionné, produira un vecteur, tel qu’opposé à une matrice d’une seule ligne et plusieurs colonnes. Vecteurs et matrices Pour voir le fonctionnement de la touche @VEC@, essayez les exercices suivants : (1) Activer l’Editeur de matrices en utilisant („²). Les touches @VEC et @GO→ étant sélectionnées, saisir 3`5`2``. Cela donne [3. 5. 2.] (en mode RPN, vous pouvez utiliser la succession de touches suivante pour produire le même résultat : 3#5#2 ``). (2) Avec la touche @VEC@@ désélectionnée et @GO→ sélectionnée, saisir 3#5#2``. Cela donne [[3. 5. 2.]]. Bien que ces deux résultats ne diffèrent que par le nombre de crochets utilisés, pour la calculatrice ils représentent des objets mathématiques différents. Le premier est un vecteur de trois éléments et le second une matrice avec une ligne et trois colonnes. Il existe des différences dans la façon dont les opérations mathématiques sont effectuées sur un vecteur et sur une matrice. Par conséquent, pour l’instant, conservez la touche menu @VEC sélectionnée lorsque vous utilisez l’Editeur de matrices. L'onglet ←@WID est utilisé pour réduire la largeur des colonnes de la feuille de calcul. Appuyez sur cet onglet à plusieurs reprises pour voir la largeur de la colonne diminuer dans votre Editeur de matrices. Page 9-4 L'onglet @WID→ est utilisé pour augmenter la largeur des colonnes de la feuille de calcul. Appuyez sur cet onglet à plusieurs reprises pour voir la largeur de la colonne augmenter dans votre Editeur de matrices. L'onglet @GO→ lorsqu’il est sélectionné, sélectionne automatiquement la cellule suivante à la droite de la cellule en cours d’utilisation quand vous appuyez sur `. Cette option est sélectionnée par défaut. L'onglet @GO↓ , lorsqu’il est sélectionné, choisit automatiquement la cellule suivante à la droite de la cellule en cours d’utilisation quand vous appuyez sur `. Se déplacer vers la droite ou vers le bas dans l’Editeur de matrices Activer l’Editeur de matrices et saisir 3`5`2`` avec l’onglet @GO→ sélectionné (par défaut). Ensuite, saisir la même séquence de nombres avec l’onglet @GO↓ sélectionné pour voir la différence. Dans le premier cas, vous avez saisi un vecteur de trois éléments. Dans le second cas, vous avez saisi une matrice de trois lignes et une colonne. Activer à nouveau l’Editeur de matrices en utilisant „², et appuyez sur L pour tester l’utilisation du second onglet du menu logiciel en bas de l’écran. Les onglets suivants s’afficheront : @+ROW@ @-ROW @+COL@ @-COL@ @→STK@@ @GOTO@ La touche @+ROW@ ajoutera une ligne remplie de zéros à la place de la cellule sélectionnée dans la feuille de calcul. L'onglet @-ROW effacera la ligne contenant la cellule sélectionnée dans la feuille de calcul. L'onglet @+COL@ ajoutera une colonne remplie de zéros à la place de la cellule sélectionnée dans la feuille de calcul. L'onglet @-COL@ effacera la colonne contenant la cellule sélectionnée dans la feuille de calcul. L'onglet @→STK@@ placera le contenu de la cellule sélectionnée dans la pile. L'onglet @GOTO@ , lorsque vous appuyez dessus, demande à l’utilisateur d’indiquer le numéro de la ligne et de la colonne où l’utilisateur souhaite positionner le curseur. Page 9-5 En appuyant sur L une fois de plus, vous accédez au dernier menu qui contient seulement une fonction @@DEL@ (effacer). L'onglet @@DEL@ effacera le contenu de la cellule sélectionnée et le remplacera par un zéro. Pour voir comment ces onglets fonctionnent, essayez les exercices suivants: (1) Activer l’Editeur de matrices en utilisant „². Assurez-vous que les onglets @VEC et @GO→ sont sélectionnés. (2) Saisissez les données suivantes : 1`2`3` L @GOTO@ 2@@OK@@ 1 @@OK@@ @@OK@@ 2`1`5` 4`5`6` 7`8`9` (3) Déplacez le curseur vers le haut de deux positions en utilisant —— —. Appuyez ensuite sur @-ROW. La deuxième ligne s’efface. (4) Appuyez sur @+ROW@. Une ligne de trois zéros apparaît dans la deuxième colonne. (5) Appuyez sur @-COL@. La première colonne disparaît. (6) Appuyez @+COL@. Une ligne de deux zéros apparaît dans la première ligne. (7) Appuyez sur @GOTO@ 3@@OK@@ 3@@OK@@ @@OK@@ pour changer de cellule (3,3). (8) Appuyez sur @→STK@@. Cela placera le contenu de la cellule (3,3) dans la pile, même si vous ne pouvez pas le voir tout de suite. (9) Appuyez sur `. Cela devrait placer un zéro dans la cellule (3,3). Cependant, il semblerait que cette fonction ne marche pas correctement. Résumé de l’utilisation de l’Editeur de matrices pour saisir des vecteurs En résumé, pour saisir un vecteur en utilisant l’Editeur de matrices, activez simplement l’éditeur („²) et placez-y les éléments du vecteur en appuyant sur `, après chacun d’entre eux. Puis appuyez sur ``. Assurez-vous que les onglets @VEC et @GO→@ sont sélectionnés. Exemple: „²³~„xQ2`2`5\`` donne : [‘x^2‘ 2 –5 ] Page 9-6 Construire un vecteur avec ARRY La fonction →ARRY, disponible dans le catalogue de fonctions (‚N‚ é, utilisez —˜ pour localiser la fonction), peut aussi être utilisée pour construire un vecteur ou un ensemble en procédant comme suit. En mode ALG saisir ARRY(éléments du vecteur, nombre d’éléments), c'est-à-dire : En mode RPN : (1) Saisissez les n éléments de l’ensemble dans l’ordre dans lequel vous voulez les voir apparaître dans l’ensemble (lu de gauche à droite) dans la pile RPN. (2) Saisissez n comme dernière entrée. (3) Utilisez la fonction ARRY. Les saisies d’écran montrent la pile RPN avant et après application de la fonction ARRY: En mode RPN, la fonction [→ARRY] prend les objets de la pile des niveaux n+1, n, n-1, …, en descendant jusqu’aux niveaux de pile 3 et 2 et les convertit en un vecteur de n éléments. L’objet originellement au niveau n+1 de la pile devient le premier élément, l’objet originellement au niveau n devient le deuxième élément et ainsi de suite. Note: La fonction ARRY est aussi disponible dans le menu PRG/TYPE („°) Page 9-7 Identifier, extraire et insérer des éléments de vecteur Si vous enregistrez un vecteur sous un nom de variable, disons A, vous pouvez identifier les éléments du vecteur en utilisant A(i), où i est un nombre entier inférieur ou égal à la taille du vecteur. Par exemple, créez l’ensemble suivant et enregistrez-le dans la variable A: [-1, -2, -3, -4, -5]: Pour rappeler le troisième élément de A, par exemple, vous pouvez saisir A(3) dans la calculatrice. En mode ALG, saisir simplement A(3). En mode RPN, saisir ‘A(3)’ `µ. Vous pouvez faire des opérations avec les éléments d’un ensemble en écrivant et évaluant des expressions algébriques telles que : Des expressions plus compliquées impliquant des éléments de A peuvent aussi être écrites. Par exemple, en utilisant l’Editeur d’équation (‚O), nous pouvons écrire la somme d’éléments de A suivante : Page 9-8 En mettant en surbrillance la totalité de l’expression et en utilisant la touche de menu @EVAL@ nous obtenons le résultat suivant : -15. Note: Le vecteur A peut aussi être appelé variable indexée parce que le nom A ne représente pas une mais plusieurs valeurs identifiées par un sousindex. Pour remplacer un élément dans un ensemble utilisez la fonction PUT (vous pouvez la trouver dans la catalogue de fonctions ‚N, ou dans le sousmenu PRG/LIST/ELEMENTS – ce dernier a été introduit au Chapitre 8). En mode ALG, vous devez utiliser la fonction PUT avec les arguments suivants : PUT(ensemble, lposition devant être remplacée, nouvelle valeur). Par exemple, pour faire passer le contenu A(3) à 4.5, utilisez : En mode RPN, vous pouvez changer la valeur d’un élément de A en enregistrant une nouvelle valeur dans cet élément particulier. Par exemple, si vous voulez faire passer le contenu de A(3) à 4.5 en remplacement de sa valeur actuelle de –3., utilisez : 4.5`³~a„Ü 3`K Pour vérifier que le changement a été effectué, utilisez : ‚@@@@A@@ . Le résultat qui s’affiche maintenant est : [-1 -2 4.5 -4 -5 ]. Note: Cette approche pour changer la valeur d’un ensemble d’éléments n’est pas autorisée en mode ALG. Si vous essayez d’enregistrer 4.5 dans A(3) dans ce mode, vous obtenez le message d’erreur suivant : Invalid Syntax. Pour trouver la longueur d’un vecteur vous pouvez utiliser la fonction SIZE, disponible dans le catalogue des commandes (N) ou par l’intermédiaire du sous-menu PRG/LIST/ELEMENTS. Quelques exemples, basés sur les ensembles ou vecteurs enregistrés précédemment, sont présentés ci-dessous : Page 9-9 Opérations simples avec des vecteurs Pour illustrer les opérations avec des vecteurs, nous utiliserons les vecteurs A, u2, u3, v2 et v3 mémorisés lors de l’exercice précédent. Changement de signe Pour changer le signe d’un vecteur, utilisez la touche \, ce qui donne : Addition, soustraction L’addition et la soustraction de vecteurs nécessitent que les opérandes des deux vecteurs soient de même longueur : Si vous essayez d’additionner ou de soustraire des vecteurs de longueurs différentes, vous obtenez le message d’erreur suivant, par exemple v2+v3, u2+u3, A+v3, etc. Multiplication et division par un scalaire La multiplication ou la division par un scalaire est une opération très simple : Page 9-10 Fonction valeur absolue La fonction valeur absolue (ABS), lorsqu’elle est appliquée à un vecteur, calcule la magnitude du vecteur. Pour un vecteur A = [A1,A2,…,An], la magnitude est | A |= Ax2 + Ay2 + L + Az2 . En mode ALG, entrez la fonction avant d’entrer l’argument du vecteur. Par exemple: ABS([1,-2,6]), ABS(A), ABS(u3) s’afficheront à l’écran comme suit : Le menu MTH/VECTOR Le menu MTH („´) contient un menu de fonctions qui s’appliquent spécifiquement aux vecteurs : Le menu VECTOR contient les fonctions suivantes (indicateur système 117 paramétré sur CHOOSE boxes): Page 9-11 Magnitude La magnitude d’un vecteur, comme expliqué plus haut, peut être trouvée avec la fonction ABS. Cette fonction est aussi disponible sur le clavier („Ê). Des exemples d’applications de la fonction ABS sont illustrés ci-dessus. Produit scalaire La fonction DOT est utilisée pour calculer le produit scalaire de deux vecteurs de même longueur. Quelques exemples d’application de la fonction DOT, utilisant les vecteurs A, u2, u3, v2 et v3, mémorisés précédemment, sont illustrés ci-dessous en mode ALG. Si vous essayez de calculer le produit scalaire de deux vecteurs de longueur différente, vous obtenez le message d’erreur suivant : Produit croisé La fonction CROSS est utilisée pour calculer le produit croisé de deux vecteurs 2-D, ou de deux vecteurs 3-D, ou d’un vecteur 2-D et d’un vecteur 3-D. Afin de calculer un produit croisé, le vecteur 2-D de forme [Ax, Ay], sera traité comme le vecteur 3-D de forme [Ax, Ay,0]. Des exemples en mode ALG sont illustrés ci-dessus pour deux vecteurs 2-D et deux vecteurs 3-D. Remarquez que le produit croisé de deux vecteurs 2-D produit un vecteur de direction z uniquement, c’est-à-dire un vecteur de forme] [0, 0, Cz]: Page 9-12 Des exemples de produits croisés d’un vecteur 3-D et d’un vecteur 2-D, ou vice-versa, sont présentés ci-dessous : Si vous essayez de calculer le produit croisé de vecteurs de longueur différente que 2 ou 3, vous obtenez le message d’erreur suivant (Invalid Dimension) : par exemple, CROSS(v3,A), etc. Décomposition d’un vecteur La fonction V est utilisée pour décomposer un vecteur en ses éléments ou composantes. Si elle est utilisée en mode ALG, V produira les éléments du vecteur dans une liste, c'est-à-dire : En mode RPN, l’application de la fonction V affichera les composantes du vecteur dans la pile, c’est-à-dire que V(A) produira la sortie de données suivante dans la pile RPN (le vecteur A est affiché dans la pile de niveau 6) : Page 9-13 Construire un vecteur bidimensionnel La fonction V2 est utilisée en mode RPN pour construire un vecteur avec les valeurs aux niveaux de pile 1: et 2:. Les saisies d’écran montrent la pile avant et après application de la fonction V2: Construire un vecteur tridimensionnel La fonction V3 est utilisée en mode RPN pour construire un vecteur avec les valeurs aux niveaux de pile 1:,2: et 3:. Les saisies d’écran montrent la pile avant et après application de la fonction V2: Modifier le système de coordonnées Les fonctions RECT, CYLIN, et SPHERE sont utilisées pour convertir le système coordonné actuel en système rectangulaire (Cartésien), cylindrique (polaire) ou à coordonnées sphériques. Le système actuel est mis en surbrillance dans la boîte CHOOSE box correspondante (indicateur système 117 non paramétré) ou sélectionné dans la désignation du menu SOFT correspondante (indicateur système 117 paramétré). Dans l’illustration suivante, le système coordonné RECTangulaire est montré comme sélectionné dans ces deux formats : Lorsque le système de coordonnées rectangulaire ou cartésien est sélectionné, la ligne en haut de l’affichage présente un champ XYZ et tout vecteur 2-D ou 3-D saisi dans la calculatrice est reproduit comme composantes (x,y,z) de ce Page 9-14 vecteur. Par conséquent, pour saisir le vecteur A = 3i+2j-5k, nous utilisons [3,2,-5] et le vecteur s’affiche comme : Si, plutôt que de saisir les composantes cartésiennes d’un vecteur, nous saisissons ses composantes cylindriques (polaires), il nous faut fournir la magnitude,r, de la projection de ce vecteur sur le plan x-y , un angle θ (dans la mesure angulaire actuelle) représentant l’inclinaison de r par rapport à l’axe positif des x et une composante z de ce vecteur. L’angle θ doit être saisi précédé du caractère angle (∠), que l’on peut générer en utilisant ~‚6. Par exemple, supposons que nous ayons un vecteur avec r = 5, θ = 25o (DEG doit être sélectionné comme mesure d’angle) et z = 2.3 ; nous pouvons saisir ce vecteur de la façon suivante : „Ô5 ‚í ~‚6 25 ‚í 2.3 Avant d’appuyer sur `, l’écran se présente comme dans l’illustration de gauche. Après avoir appuyé sur `, l’écran se présente comme dans l’illustration de droite (pour cet exemple, le format numérique a été converti en Fix avec trois décimales). Notez que le vecteur est affiché en coordonnées cartésiennes, avec les composantes x = r cos(θ), y = r sin(θ), z = z, même si nous l’avons saisi en coordonnées polaires. Ceci parce que l’affichage du vecteur se fait dans le système de coordonnées paramétré par défaut. Dans ce cas, nous avons x = 4.532, y = 2.112 et z = 2.300. Supposons que nous saisissions maintenant un vecteur en coordonnées sphériques (à savoir sous la forme (ρ,θ,φ), où ρ est la longueur du vecteur, θ est l’angle que la projection xy du vecteur forme avec le côté positif de l’axe x et φ est l’angle que ρ forme avec la partie positive de l’axe z), avec les valeurs suivantes : ρ = 5, θ = 25o et φ = 45o. Nous utiliserons : „Ô5 ‚í ~‚6 25 í ~‚645 Page 9-15 L’illustration ci-dessous montre la conversion du vecteur des coordonnées sphériques aux coordonnées cartésiennes, avec les valeurs suivantes x = ρ sin(φ) cos(θ), y = ρ sin (φ) cos (θ), z = ρ cos(φ). Dans ce cas, x = 3.204, y = 1.494, et z = 3.536. Si le système CYLINdrique est sélectionné, la ligne supérieure de l’affichage présente un champ R∠Z et un vecteur saisi en coordonnées cylindriques s’affichera dans sa forme en coordonnées cylindriques (ou polaires) (r,θ,z). Pour en avoir la démonstration, changez le système coordonné en CYLINdrique et observez comment le vecteur affiché à l’écran précédent passe à sa forme de coordonnées cylindriques (polaires). La deuxième composante est affichée précédée du caractère d’angle pour souligner sa nature angulaire. La conversion des coordonnées cartésiennes en coordonnées cylindriques est telle que r = (x2+y2)1/2, θ = tan-1(y/x) et z = z. Pour le cas présenté ci-dessus, la transformation est telle que (x,y,z) = (3.204, 2.112, 2.300) donne (r,θ,z) = (3.536,25o,3.536). Maintenant, mettre la mesure d’angle sur Radians. Si nous saisissons maintenant un vecteur d’entiers sous forme cartésienne, même si le système de coordonnées CYLINdrique est actif, le vecteur sera affiché en coordonnées cartésiennes, c'est-à-dire : Ceci est dû au fait que les nombres entiers sont prévus pour être utilisés avec le CAS, et par conséquent, les composantes de ce vecteur sont conservées Page 9-16 sous leur forme cartésienne. Pour forcer la conversion en coordonnées polaires, saisir les composantes du vecteur comme des nombres réels (à savoir ajouter un point décimal) c'est-à-dire : [2., 3., 5.]. Le système de coordonnées cylindriques étant sélectionné, si vous saisissez un vecteur en coordonnées sphériques, il sera automatiquement transformé en son équivalent cylindrique (polaire) (r,θ,z) avec r = ρ sin φ, θ = θ, z = ρ cos φ. Par exemple, les illustrations ci-dessous montrent le vecteur saisi en coordonnées sphériques puis transformé en coordonnées polaires. Dans ce cas, ρ = 5, θ = 25o et φ = 45o, tandis que la transformation montre que r = 3.563, et z = 3.536. (changement à DEG) : Ensuite, basculons vers le système de coordonnées sphériques en utilisant la fonction SPHERE du sous-menu VECTOR dans le menu MTH. Lorsque ce système de coordonnées est sélectionné, l’écran affiche le format∠∠ R à sa ligne supérieure. L’écran précédent se transforme en l’écran suivant : Notez que les vecteurs qui étaient écrits en coordonnées polaires ont maintenant été convertis dans le système de coordonnées sphériques. La transformation est telle que ρ = (r2+z2)1/2, θ = θ et φ = tan-1(r/z). Cependant, le vecteur qui était précédemment paramétré en coordonnées cartésiennes demeure sous cette forme. Page 9-17 Application d’opérations vectorielles Cette section contient certains exemples d’opérations vectorielles que vous pourrez rencontrer dans des applications de physique ou de mécanique. Résultante de forces Supposons qu’une particule est soumise aux forces suivantes (en N): F1 = 3i+5j+2k, F2 = -2i+3j-5k et F3 = 2i-3k. Pour déterminer la résultante, à savoir la somme de toutes ces forces, vous pouvez utiliser l’approche suivante en mode ALG : Par conséquent la résultante est R = F1+ F2 + F3 = (3i+8j-6k)N. En mode RPN, utilisez : [3,5,2] ` [-2,3,-5] ` [2,0,3] ` + + Angle entre vecteurs L’angle entre deux vecteurs A, B, peut être trouvé avec θ =cos-1(A•B/|A||B|) Supposons que vous vouliez trouver l’angle entre les vecteurs A = 3i-5j+6k et B = 2i+j-3k. Vous pouvez essayer l’opération suivante (la mesure angulaire est paramétrée en degrés) en mode ALG : 1 - Saisir les vecteurs [3,-5,6], appuyez sur `, [2,1,-3], appuyez sur `. 2 - DOT(ANS(1),ANS(2)) calcule le produit scalaire 3 - ABS(ANS(3))*ABS((ANS(2)) calcule le produit des magnitudes 4 - ANS(2)/ANS(1) calcule cos(θ) 5 - ACOS(ANS(1)), suivi par,NUM(ANS(1)), calcule θ Les étapes sont illustrées sur les écrans suivants (en mode ALG, bien sûr) : Page 9-18 Le résultat est θ = 122.891o. En mode RPN, utiliser : [3,-5,6] ` [2,1,-3] ` DOT [3,-5,6] ` ABS [2,1,-3] ` ABS * / ACOS NUM Moment d’une force Le moment exercé par une force F sur un point O est défini par le produit vectoriel M = r×F, où r, également connu comme le bras delevier de la force, est le vecteur de position basé en O et pointant vers le point d’application de la force. Supposons qu’une force F = (2i+5j-6k) N a un bras de levier r = (3i5j+4k)m. Pour déterminer le moment exercé par la force avec ce bras de levier, nous utilisons la fonction CROSS comme expliqué ci-dessous : Par conséquent, M = (10i+26j+25k) m⋅N. Nous savons que la magnitude de M est telle que |M| = |r||F|sin(θ), où θ est l’angle entre r et F. Nous pouvons trouver cet angle tel que θ = sin-1(|M| /|r||F|) en effectuant les opérations suivantes : 1 - ABS(ANS(1))/(ABS(ANS(2))*ABS(ANS(3)) calcule sin(θ) 2 - ASIN(ANS(1)), suivi par NUM(ANS(1)) calcule θ Les opérations, en mode ALG, sont affichées sur les écrans suivants : Page 9-19 Par conséquent, l’angle entre les vecteurs r et F est θ = 41.038o. En mode RPN, nous pouvons utiliser : [3,-5,4] ` [2,5,-6] ` CROSS ABS [3,-5,4] ` ABS [2,5,-6] ` ABS * / ASIN NUM Equation d’un plan dans l’espace Etant donné un point dans l’espace P0(x0,y0,z0) et un vecteur normal N = Nxi+Nyj+Nzk relatif à un plan contenant le point P0, le problème consiste à trouver l’équation du plan. Nous pouvons former un vecteur commençant au point P0 et se terminant au point P(x,y,z), un point générique du plan. Par conséquent, ce vecteur r = P0P = (x-x0)i+ (y-y0)j + (z-z0)k, est perpendiculaire au vecteur normal N, puisque r est contenu entièrement dans le plan. Nous avons vu que pour deux vecteurs normaux N et r, N•r =0. Par conséquent, nous pouvons utiliser ce résultat pour déterminer l’équation du plan. Afin d’illustrer l’utilisation de cette approche, considérons le point P0(2,3,-1) et le vecteur normal N = 4i+6j+2k, nous pouvons saisir le vecteur N et le point P0 comme deux vecteurs, comme cela est montré ci-dessous. Nous saisissons aussi le vecteur [x,y,z] en dernier : Ensuite, nous calculons le vecteur P0P = r as ANS(1) – ANS(2), à savoir Page 9-20 Finalement, nous prenons le produit scalaire de ANS(1) et ANS(4) et le rendons égal à zéro pour terminer l’opération N•r =0: Nous pouvons maintenant utiliser la fonction EXPAND (dans le menu ALG) pour développer cette expression : Par conséquent, l’équation du plan passant par le point P0(2,3,-1) et ayant un vecteur normal N = 4i+6j+2k, est 4x + 6y + 2z – 24 = 0. En mode RPN, utilisez : [2,3,-1] ` ['x','y','z'] ` - [4,6,2] DOT EXPAND Vecteurs lignes, vecteur colonnes et listes Les vecteurs présentés dans le présent chapitre sont tous des vecteurs lignes. Dans certains cas, il est nécessaire de créer des vecteurs colonnes (à savoir utiliser les fonctions statistiques prédéfinies dans la calculatrice). La façon la plus simple de saisir un vecteur colonne est d’inclure chaque élément du vecteur dans des crochets, tous contenus dans une paire de crochets externes. Par exemple, saisir : Page 9-21 [[1.2],[2.5],[3.2],[4.5],[6.2]] ` Ceci est représenté par le vecteur colonne suivant : Dans cette section, nous vous montrons des façons de transformer un vecteur colonne en vecteur ligne, un vecteur ligne en vecteur colonne, une liste en vecteur et un vecteur (ou une matrice) en liste. Nous procédons d’abord à ces démonstrations en mode RPN. Dans ce mode, nous utiliserons les fonctions OBJ, LIST, ARRY et DROP pour effectuer ces transformations. Pour faciliter l’accès à ces fonctions, nous allons paramétrer l’indicateur système 117 sur menus SOFT (voir Chapitre 1). Une fois l’indicateur système paramétré, les fonctions OBJ, ARRY, et LIST seront accessibles en utilisant „° @)TYPE!. Les fonctions OBJ, ARRY, et LIST seront accessibles grâce aux touches de menu A, B, et C. La fonction DROP est disponible via „°@)STACK @DROP. Nous introduisons ci-dessous le fonctionnement des fonctions OBJ, LIST, ARRY, et DROP avec quelques exemples. Fonction OBJ Cette fonction décompose un objet en ses composantes. Si l’argument est une liste, la fonction OBJ affiche les éléments dans la pile, avec le nombre d’éléments au niveau 1 de la pile, par exemple : {1,2,3} ` „°@)TYPE! @OBJ@ donne : Page 9-22 Lorsque la fonction OBJ est appliquée à un vecteur, elle affiche les éléments du vecteur dans la pile, avec le nombre d’éléments au niveau 1, entre parenthèses : (une liste). Les exemples suivants illustrent cette application : [1,2,3] ` „°@)TYPE! @OBJ@ donne : Si nous appliquons la fonction OBJ une fois de plus, la liste au niveau 1: de la pile, {3.}, sera décomposée comme suit : Fonction LIST Cette fonction est utilisée pour créer une liste à partir des éléments de la liste et de la longueur ou taille de la liste. En mode RPN, la taille de la liste, telle que n, doit être placée au niveau de pile 1:. Les éléments de la liste doivent être au niveau de pile 2:, 3:, …, n+1:. Par exemple, pour créer la liste {1, 2, 3}, saisir : 1` 2` 3` 3` „°@)TYPE! !LIST@. Fonction ARRY Cette fonction est utilisée pour créer un vecteur ou une matrice. Dans cette section, nous l’utiliserons pour construire un vecteur ou un vecteur colonne (c’est-à-dire une matrice de n lignes et 1 colonne). Pour construire un vecteur ordinaire, nous saisissons les éléments du vecteur dans la pile et au niveau 1 de la pile, nous saisissons la taille du vecteur sous forme de liste, c'est-à-dire : 1` 2` 3` „ä 3` „°@)TYPE! !ARRY@. Page 9-23 Pour construire un vecteur colonne de n éléments, saisir les éléments du vecteur dans la pile et au niveau 1 de la pile, saisir la liste {n 1}. Par exemple,1` 2` 3` „ä 1‚í3` „°@)TYPE! !ARRY@. Fonction DROP Cette fonction a le même effet que la touche effacer (ƒ). Transformation d’un vecteur ligne en vecteur colonne Nous illustrons cette transformation avec le vecteur [1,2,3]. Saisir ce vecteur dans la pile RPN pour effectuer l’exercice. Pour transformer un vecteur ligne en vecteur colonne, nous devons effectuer les opérations suivantes dans la pile RPN : 1 - Décomposez le vecteur avec la fonction OBJ 2 - Appuyez sur 1+ pour faire passer la liste au niveau 1 de la pile de {3} en {3,1} 3 - Utilisez la fonction ARRY pour construire le vecteur colonne Ces trois étapes peuvent être combinées dans un programme UserRPL, que vous pouvez saisir comme suit (toujours en mode RPN) : ‚å„°@)TYPE! @OBJ@ 1 + !ARRY@ `³~~rxc` K Page 9-24 Une nouvelle variable, @@RXC@@, sera disponible dans les désignations des menus logiciels une fois que vous aurez appuyé sur J: Appuyez sur ‚@@RXC@@ pour voir le programme contenu dans la variable RXC : << OBJ 1 + ARRY >> Cette variable, @@RXC@@, peut maintenant être utilisée pour transformer directement un vecteur ligne en vecteur colonne. En mode RPN, entrez le vecteur et appuyez sur @@RXC@@. Essayez, par exemple : [1,2,3] ` @@RXC@@. Après avoir défini cette variable, vous pouvez l’utiliser en mode ALG pour transformer un vecteur ligne en vecteur colonne. Par conséquent, changez le mode de votre calculatrice à ALG et essayez la procédure suivante : [1,2,3] ` J @@RXC@@ „ Ü „ î, ce qui donne : Transformation d’un vecteur colonne en vecteur ligne Pour illustrer cette transformation, nous allons saisir le vecteur colonne [[1],[2],[3]] en mode RPN. Ensuite, suivez les exercices suivants pour transformer un vecteur ligne en vecteur colonne : 1 - Utilisez la fonction OBJ pour décomposer le vecteur colonne 2 - Utilisez la fonction OBJ pour décomposer la liste au niveau 1 de la pile : Page 9-25 3 - Appuyez sur la touche effacer ƒ (aussi appelée fonction DROP) pour éliminer le nombre au niveau 1 de la pile : 4 - Utilisez la fonction LIST pour créer une liste 5 - Utilisez la fonction ARRY pour créer un vecteur ligne Ces cinq étapes peuvent être combinées dans un programme UserRPL, que vous pouvez saisir comme suit (toujours en mode RPN): ‚å„°@)TYPE! @OBJ@ @OBJ@ „°@)STACK @DROP „°@)TYPE! !LIST@ !ARRY@ ` ³~~cxr ` K Une nouvelle variable, @@CXR@@, sera disponible dans le menu une fois que vous aurez appuyé sur J: Page 9-26 Appuyez sur ‚@@CXR@@ pour voir le programme contenu dans la variable CXR : << OBJ OBJ DROP ARRY >> Cette variable, @@CXR@@, peut maintenant être utilisée pour transformer directement un vecteur colonne en vecteur ligne. En mode RPN, entrez le la colonne du vecteur et appuyez sur @@CXR@@. Essayez, par exemple, la combinaison suivante : [[1],[2],[3]] ` @@CXR@@. Après avoir défini la variable @@CXR@@, en mode ALG, vous pouvez l’utiliser pour transformer un vecteur ligne en vecteur colonne. Par conséquent, changez le mode de votre calculatrice à ALG et essayez la procédure suivante : [[1],[2],[3]] ` J @@CXR@@ „Ü „î Ce qui nous donne : Transformation d’une liste en vecteur Pour illustrer cette transformation, nous allons saisir la liste {1,2,3} en mode RPN. Ensuite, effectuez l’exercice suivant pour transformer la liste en vecteur : 1 - Utilisez la fonction OBJ pour décomposer le vecteur colonne 2 - Saisir un 1 et utilisez la fonction LIST pour créer une liste au niveau 1 de la pile : Page 9-27 3 - Utilisez la fonction ARRY pour créer le vecteur Ces trois étapes peuvent être combinées dans un programme UserRPL, que vous pouvez saisir comme suit (toujours en mode RPN) : ‚å„°@)TYPE! @OBJ@ 1 !LIST@ !ARRY@ ` ³~~lxv ` K Une nouvelle variable, @@LXV@@, sera disponible dans le menu une fois que vous aurez appuyé sur J: Appuyez sur ‚@@LXV@@ pour voir le programme contenu dans la variable LXV : << OBJ 1 LIST ARRY >> Cette variable, @@LXV@@, peut maintenant être utilisée pour transformer directement une liste en vecteur. En mode RPN, entrez la liste et appuyez sur @@LXV@@. Essayez, par exemple, la combinaison : {1,2,3} ` @@LXV@@. Après avoir défini la variable @@LXV@@, nous pouvons maintenant l’utiliser en mode ALG pour transformer une liste en vecteur. Par conséquent, basculez dans le mode de votre calculatrice sur mode ALG et essayez la procédure suivante : {1,2,3} ` J @@LXV@@ „Ü „î, ce qui donne : Transformation d’un vecteur (ou matrice) en liste Pour transformer un vecteur en liste, la calculatrice dispose de la fonction AXL. Vous pouvez accéder à cette fonction par l’intermédiaire du catalogue de commandes, comme suit : ‚N~~axl~@@OK@@ Page 9-28 A titre d’exemple, appliquez la fonction AXL au vecteur [1,2,3] en mode RPN en utilisant : [1,2,3] ` AXL. La saisie d’écran suivante illustre l’application de la fonction AXL au même vecteur en mode ALG. Page 9-29 Chapitre 10 Création et manipulation de matrices Ce chapitre présente un certain nombre d’exemples permettant de créer des matrices dans la calculatrice et démontrant la manipulation des éléments de matrices. Définitions Une matrice est simplement un ensemble rectangulaire d’objets (par exemple des nombres ou des caractères algébriques) présentant un certain nombre de lignes et de colonnes. Une matrice A comprenant n lignes et m colonnes contiendra par conséquent n×m éléments. Un élément générique de matrice est représenté par la variable indexée aij, laquelle correspond à la ligne i et à la colonne j. Cette notation nous permet de rédiger la matrice A telle que A = [aij]n×m . La matrice complète est présentée ci-dessous : A = [aij ] n×m a11 a = 21 M a n1 a12 a 22 M an2 L a1m L a 2 m . O L a nm Une matrice est carrée si m = n. La transposition d’une matrice s’effectue en inversant les lignes et les colonnes. Ainsi, la transposée de la matrice A est AT = [(aT)ij] m×n = [aji]m×n. La diagonale principale d’une matrice carrée est l’ensemble des éléments aii. Une matrice d’identité, In×n, est une matrice carrée dont les éléments de la diagonale principale sont tous égaux à 1 et dont tous les éléments hors diagonale sont égaux à zéro. Par exemple, une matrice d’identité a 3×3 se rédige ainsi : 1 0 0 I = 0 1 0 0 0 1 Une matrice d’identité peut être rédigée In×n = [δij], où δij est une fonction appelée delta de Kronecker et définie comme suit : Page 10-1 1, si i = j δ ij = . 0, si i ≠ j Saisie de matrices dans la pile Dans cette section, nous présentons deux manières différentes de saisir des matrices dans la pile de la calculatrice : (1) en utilisant l’Editeur de matrice " Matrix Editor" et (2) en saisissant la matrice directement dans la pile. Utilisation de l’Editeur de Matrice Comme nous l’avons vu pour les vecteurs au Chapitre 9, des matrices peuvent être saisies dans la pile en utilisant l’Editeur de matrices : par exemple, pour saisir la matrice : − 2 .5 4 .2 2 .0 0 .3 1.9 2.8, 2 − 0.1 0.5 D’abord, lancez l’Editeur de matrices en utilisant „². Assurez-vous que l’option @GO→ est sélectionnée. Utilisez ensuite la combinaison de touches suivante : 2.5\` 4.2` 2`˜ššš .3` 1.9` 2.8 ` 2` .1\` .5` A ce stade, l’écran de l’Editeur de matrice doit ressembler à l’illustration suivante : Page 10-2 Appuyez sur la touche ` une seconde fois pour stocker la matrice dans la pile. La pile du mode ALG est présentée ci-dessous (avant et après avoir appuyé une seconde fois) : Si vous avez choisi l’option d’affichage textbook (en utilisant H@)DISP! et en cochant Textbook), la matrice ressemblera à celle qui est présentée cidessus. Sinon l’affichage sera le suivant : L’affichage en mode RPN sera très similaire à celui-ci. Note: De plus amples détails sur l'utilisation de l'Editeur de matrices sont donnés au Chapitre 9 Saisir la matrice directement dans la pile Le même résultat que celui présenté ci-dessus peut être obtenu en saisissant les données suivantes directement dans la pile : „Ô „Ô 2.5\ ‚í 4.2 ‚í 2 ™ ‚í „Ô .3 ‚í 1.9 ‚í 2.8 ™ ‚í „Ô 2 ‚í .1\ ‚í .5 Par conséquent, pour saisir une matrice directement dans la pile, ouvrir une paire de crochets („Ô) et encadrer chaque ligne de la matrice avec une paire supplémentaire de crochets („Ô). Des virgules (‚í .) doivent séparer les éléments de chaque ligne ainsi que les crochets entre les Page 10-3 lignes. (Note: En mode RPN, vous pouvez ignorer les crochets secondaires, une fois que des crochets ont été utilisés, donc, au lieu de taper [[1 2 3] [4 5 6] [7 8 9]] par exemple, tapez seulement [[1 2 3] 4 5 6 7 8 9].) Pour de futurs exercices, nous allons sauvegarder cette matrice sous le nom A. En mode ALG, utiliser K~a. En mode RPN, utiliser ³~a K. Création de matrices à l’aide des fonctions de la calculatrice Il est possible de créer certaines matrices à l’aide des fonctions de la calculatrice disponibles soit dans le sous-menu MTH/MATRIX/MAKE du menu MTH („´), soit dans le menu MATRICES/CREATE disponible via „Ø: Le sous-menu MTH/MATRIX/MAKE (appelons-le menu MAKE) contient les fonctions suivantes : Page 10-4 alors que le sous-menu MATRICES/CREATE (appelons-le le menu CREATE) contient les fonctions suivantes : Comme vous pouvez le constater d’après l’exploration de ces menus (MAKE et CREATE), ils contiennent les mêmes fonctions GET, GETI, PUT, PUTI, SUB, REPL, RDM, RANM, HILBERT, VANDERMONDE, IDN, CON, →DIAG et DIAG→. Le menu CREATE comprend les sous-menus COLUMN et ROW, lesquels sont également disponibles dans le menu MTH/MATRIX. Le menu MAKE contient les fonctions SIZE, qui ne figurent pas dans le menu CREATE. Toutefois, les deux menus, MAKE et CREATE, fournissent à l’utilisateur la même série de fonctions. Dans les exemples suivants, nous montrerons comment accéder à ces fonctions via l’utilisation du menu MAKE de la matrice. A la fin de cette section, nous présenterons un tableau indiquant les touches requises pour obtenir les mêmes fonctions avec le menu CREATE lorsque l’indicateur système 117 est paramétré sur les menus SOFT. Si vous avez paramétré cet indicateur système (indicateur 117) sur le menu SOFT, le menu MAKE est disponible via la séquence de touches suivante : „´!)MATRX !)MAKE! Page 10-5 Les fonctions disponibles apparaissent comme les étiquettes des touches de menu soft (appuyez sur L pour passer à la série de fonctions suivante) : Lorsque l’indicateur système 117 est paramétré sur les menus SOFT, les fonctions du menu CREATE, déclenchées par „Ø)@CREAT , apparaissent comme suit : Dans les sections suivantes, nous présenterons des applications des fonctions de la matrice dans les menus MAKE et CREATE. Fonctions GET et PUT Les fonctions GET, GETI, PUT et PUTI, se comportent avec les matrices de la même manière qu’avec les listes ou les vecteurs, c’est-à-dire que vous devez fournir l’emplacement de l’élément recherché à GET ou PUT. Toutefois, si dans les listes ou les vecteurs un seul index est requis pour identifier un élément, dans les matrices, il faut disposer d’une liste à deux index {ligne, colonne} pour identifier des éléments de la matrice. Nous présentons ci-dessous des exemples d’utilisation de GET et PUT. Utilisons la matrice mémorisée ci-dessus dans la variable A pour démontrer l’utilisation des fonctions GET et PUT. Par exemple, pour extraire l’élément a23 de la matrice A, en mode ALG, on peut procéder comme suit : Page 10-6 Remarquez que l’on parvient au même résultat en tapant simplement A(2,3) et en appuyant sur `. En mode RPN, cet exercice s’effectue en entrant @@@A@@@ ` 3 ` GET ou en utilisant A(2,3) `. Supposons que nous souhaitions placer la valeur ‘π’ dans l’élément a31 de la matrice. Nous pouvons utiliser pour ce faire la fonction PUT, par exemple : En mode RPN, vous pouvez utiliser : J @@@A@@@ {3,1} ` „ì PUT. Toujours en mode RPN, vous pouvez également utiliser : „ì³A(2,3) ` K . Pour voir le contenu de la variable A, utilisez @@@A@@@. Fonctions GETI et PUTI Les fonctions PUTI et GETI sont utilisées dans les programmes UserRPL car elles suivent un index pour l’application répétée des fonctions PUT et GET. La liste d’index dans les matrices varie d’abord par colonnes. Pour illustrer son utilisation, nous proposons l’exercice suivant en mode RPN : @@@A@@@ {2,2}` GETI. Les écrans RPN correspondants pour ces deux exemples, avant et après application de la fonction GETI, sont illustrés ci-dessous : Remarquez que l’écran est préparé pour une application ultérieure de GETI ou de GET, en augmentant l’index de la colonne de la référence originelle de 1, (c’est-à-dire en passant de {2,2} à {2,3}), tout en présentant la valeur extraite, à savoir A (2,2) = 1.9, au niveau 1 de la pile. Page 10-7 Supposons maintenant que vous souhaitiez insérer la valeur 2 dans l’élément {3 1} à l’aide de PUTI. Toujours en mode RPN, essayez les touches suivantes : ƒ ƒ{3 1} ` 2 ` PUTI. Les saisies d’écran suivantes montrent la pile RPN avant et après avoir utilisé la fonction PUTI: Dans ce cas, le 2 a été remis à sa place {3 1}, c’est-à-dire que maintenant A(3,1) = 2 et la liste d’index a été augmentée de 1 (par colonne d’abord), passant ainsi de {3,1} à {3,2}. La matrice se trouve au niveau 2 et la liste d’index incrémentée est au niveau 1. Fonction SIZE La fonction SIZE fournit une liste présentant le nombre de lignes et de colonnes de la matrice au niveau 1 de la pile. L’écran suivant présente deux applications de la fonction SIZE en mode ALG : En mode RPN, ces exercices sont effectués à l’aide de @@@A@@@ SIZE et [[1,2],[3,4]] ` SIZE . Fonction TRN La fonction TRN permet de produire la transconjugaison d’une matrice, c’est-àdire sa transposition (TRAN) suivie de sa conjugaison complexe (CONJ). Par exemple, l’écran suivant présente la matrice d’origine dans la variable A et sa transposée, présentée en lettres minuscules (voir le Chapitre 1) : Page 10-8 Si l’argument est une matrice réelle, TRN produit simplement la transposition de la matrice réelle. Essayez par exemple TRN(A) et comparez-le à TRAN(A). En mode RPN, la transconjugaison de la matrice A se calcule à l’aide de @@@A@@@ TRN. Note : la calculatrice comprend également la fonction TRAN dans le sousmenu MATRICES/OPERATIONS : Par exemple, en mode ALG : Fonction CON Cette fonction accepte comme argument une liste de deux éléments, correspondant au nombre de lignes et de colonnes de la matrice à générer, ainsi qu’une valeur constante. La fonction CON génère une matrice comprenant des éléments constants. Par exemple, en mode ALG, la commande suivante crée une matrice 4×3 dont les éléments sont égaux à – 1.5 : Page 10-9 En mode RPN, on utilise pour ce faire {4,3} ` 1.5 \ ` CON. Fonction IDN La fonction IDN (matrice IDeNtity) crée une matrice identité en tenant compte de la taille. N’oubliez pas que la matrice identité doit être carrée ; par conséquent, une seule valeur est requise pour la décrire complètement. Par exemple, pour créer une matrice d’identité 4×4 en mode ALG, utilisez : Vous pouvez aussi utiliser une matrice carrée existante comme argument de la fonction IDN, par exemple : La matrice d’identité ainsi produite possédera les mêmes dimensions que la matrice d’argument. N’oubliez pas que si vous tentez d’utiliser une matrice rectangulaire (c’est-à-dire non carrée) en tant qu’argument de IDN, vous obtiendrez une erreur. En mode RPN, les deux exercices présentés ci-dessous sont créés à l’aide de : 4` IDN and @@@A@@@ IDN. Page 10-10 Fonction RDM La fonction RDM (ReDiMensionnement) permet de réécrire les vecteurs et les matrices en tant que matrices et vecteurs. L’entrée de la fonction se compose du vecteur ou de la matrice d’origine suivi d’une liste d’un seul nombre, en cas de conversion en vecteur, ou de deux nombres, en cas de conversion en matrice. Dans le premier cas, le nombre représente la dimension du vecteur, et dans le deuxième cas, les deux nombres représentent le nombre de lignes et de colonnes de la matrice. L’exemple suivant illustre l’utilisation de la fonction RDM : Redimensionnement d’un vecteur en matrice L’exemple suivant présente le redimensionnement d’un vecteur de 6 éléments en matrice comportant 2 lignes et 3 colonnes en mode ALG : En mode RPN, on peut utiliser [1,2,3,4,5,6] ` {2,3} ` RDM pour produire la matrice présentée ci-dessus. Redimensionnement d’une matrice en une autre matrice En mode ALG, on peut maintenant utiliser la matrice créée ci-dessus et la redimensionner en une matrice de 3 lignes et 2 colonnes : En mode RPN, on utilise simplement {3,2}` RDM. Page 10-11 Redimensionnement d’une matrice en vecteur Pour redimensionner une matrice en vecteur, on utilise comme arguments la matrice suivie d’une liste contenant le nombre d’éléments de la matrice. Par exemple, pour convertir la matrice de l’exemple précédent en un vecteur de longueur 6, en mode ALG, utilisez : En mode RPN, on suppose que la matrice est dans la pile et on utilise {6}` RDM. Note : la fonction RDM fournit un moyen plus direct et plus efficace pour transformer des listes en séries et inversement que la fonction qui est présentée à la fin du Chapitre 9. Fonction RANM La fonction RANM (RANdom Matrix) génère une matrice contenant des éléments entiers aléatoires étant donné une liste contenant le nombre de lignes et de colonnes (c’est-à-dire les dimensions de la matrice). Par exemple, en mode ALG, deux matrices 2×3 différentes contenant des éléments aléatoires sont produites à l’aide de la même commande, à savoir, RANM({2,3}) : En mode RPN, utilisez {2,3} ` RANM. Naturellement, les résultats que vous obtiendrez sur votre calculatrice seront très certainement différents de ceux qui figurent ci-dessus. Les nombres Page 10-12 aléatoires générés sont des nombres entiers distribués uniformément dans la plage [-10,10], c’est-à-dire que chacun de ces 21 nombres possède la même probabilité d’être sélectionné. La fonction RANM est utile pour générer des matrices de toute taille afin d’illustrer les opérations de la matrice ou l’application des fonctions de la matrice. Fonction SUB La fonction SUB extrait une sous-matrice d’une matrice existante, à condition que vous indiquiez l’emplacement initial et l’emplacement final de la sousmatrice. Par exemple, pour extraire les éléments a12, a13, a22, et a23 du dernier résultat, en tant que sous-matrice a 2×2 en mode ALG, utilisez : En mode RPN, en supposant que la matrice originelle 2×3 se trouve déjà dans la pile, utilisez {1,2} ` {2,3} ` SUB. Fonction REPL La fonction REPL remplace ou insère une sous-matrice dans une matrice plus importante. L’entrée pour cette fonction est la matrice dans laquelle le remplacement sera effectué, l’emplacement où il débute et la matrice à insérer. Par exemple, en conservant la matrice héritée de l’exemple précédent, entrez la matrice : [[1,2,3],[4,5,6],[7,8,9]] . En mode ALG, l’écran cidessous à gauche présente la nouvelle matrice avant que l’on n’appuie sur `. L’écran de droite présente l’application de la fonction RPL pour remplacer la matrice dans ANS(2), la matrice 2×2 dans la matrice 3×3 actuellement située dans ANS(1), en commençant à la position {2,2}: Page 10-13 En mode RPN, en supposant que la matrice 2×2 était initialement dans la pile, on procède comme suit : [[1,2,3],[4,5,6],[7,8,9]]`™ (cette dernière touche échange le contenu des niveaux 1 et 2 de la pile) {1,2} ` ™ (un autre échange des niveaux 1 et 2) REPL. Fonction →DIAG La fonction →DIAG prend la diagonale principale d’une matrice carrée de dimensions n×n et crée un vecteur de dimension n contenant les éléments de la diagonale principale. Par exemple, pour la matrice restant de l’exercice précédent, on peut extraire la diagonale principale à l’aide de : En mode RPN, la matrice 3×3 se trouvant dans la pile, il suffit d’activer la fonction DIAG pour obtenir le même résultat que ci-dessus. Fonction DIAG→ La fonction DIAG→ prend un vecteur et une liste de dimensions de la matrice {lignes, colonnes} et crée une matrice diagonale en remplaçant la diagonale principale par les éléments appropriés du vecteur. Par exemple, la commande suivante : DIAG([1,-1,2,3],{3,3}) produit une matrice diagonale contenant les 3 premiers éléments de l’argument du vecteur : Page 10-14 En mode RPN, on peut utiliser [1,-1,2,3] ` {3,3}` DIAG pour obtenir le même résultat que ci-dessus. Un autre exemple de l’application de la fonction DIAG→ suit, en mode ALG : En mode RPN, utilisez [1,2,3,4,5] ` {3,2}` DIAG . Dans ce cas, il faut créer une matrice 3×2 en utilisant en tant qu’éléments de la diagonale principale autant d’éléments que possible du vecteur [1,2,3,4,5]. La diagonale principale, pour une matrice rectangulaire, commence à la position (1,1) et passe à la position (2,2), (3,3), etc. jusqu’à ce que soit le nombre de lignes, soit le nombre de colonnes soit épuisé. Dans ce cas, le nombre de colonnes (2) était épuisé avant le nombre de lignes (3), de sorte que la diagonale principale comprenait uniquement les éléments situés aux positions (1,1) et (2,2). Ainsi, seuls les deux premiers éléments du vecteur étaient requis pour former la diagonale principale. Fonction VANDERMONDE La fonction VANDERMONDE génère la matrice Vandermonde de dimension n fondée sur une liste déterminée de données d’entrée. La dimension n correspond naturellement à la longueur de la liste. Si la liste d’entrée se compose d’objets {x1, x2,… xn}, , une matrice Vandermonde dans la calculatrice comprend les éléments suivants : Page 10-15 1 1 1 M 1 x1 x2 x3 M xn x12 L x1n −1 x 22 L x 2n −1 x32 L x3n −1 M O M x n2 L x nn −1 Par exemple, la commande suivante en mode ALG pour la liste {1,2,3,4} : En mode RPN, entrez {1,2,3,4} ` VANDERMONDE. Fonction HILBERT La fonction HILBERT crée la matrice Hilbert, laquelle correspond à une dimension n. Par définition, la matrice Hilbert n×n est Hn = [hjk]n×n, de sorte que h jk = 1 j + k −1 La matrice Hilbert possède une application dans une adaptation en courbe numérique par la méthode des carrés linéaires. Programmes permettant de construire une matrice à partir d’un certain nombre de listes Dans cette section, nous fournissons deux programmes RPL Utilisateur permettant de construire une matrice à partir d’un certain nombre de listes d’objets. Les listes peuvent représenter des colonnes de la matrice (programme @CRMC) ou des lignes de la matrice (programme @CRMR). Les programmes sont entrés lorsque la calculatrice est en mode RPN et les instructions concernant les touches sont données en considérant que l’indicateur système 117 est paramétré sur les menus SOFT. Cette section a Page 10-16 pour but de vous entraîner à accéder aux fonctions de programmation dans la calculatrice. Les programmes sont répertoriés ci-dessous avec, du côté gauche, les touches nécessaires pour entrer les étapes du programme, et sur la droite, les caractères qui apparaissent à l’écran à mesure que vous utilisez ces touches. Nous présentons d’abord les étapes nécessaires pour produire le programme CRMC. Les listes représentent des colonnes de la matrice Le programme @CRMC vous permet d’assembler une matrice p×n (c’est-à-dire p lignes, n colonnes) à partir de n listes de p éléments chacune. Pour entrer cette expression, utilisez la séquence de touches suivante : Séquence de touches : ‚å „°@)STACK! @@DUP@ ‚ é # ~ „n ‚å 1„°@)STACK! @SWAP „°@)BRCH! @)FOR@! @FOR@ ~„j „°@)TYPE OBJ ARRY@ „°@)BRCH! @)@IF@@ @@IF@@ ~ „j# ~ „n „°@)TEST! @@@<@@@ „°@)BRCH! @)@IF@ @THEN ~ „j #1+ „°@)STACK! L@ROLL „°@)BRCH! @)@IF@ @END „°@)BRCH! @)FOR@! @NEXT „°@)BRCH! @)@IF@ @@IF@@ ~ „n #1 „°@)TEST! @@@>@@@ „°@)BRCH! @@IF@ @THEN 1# ~ „n #1„°@)BRCH! @)FOR@! @FOR@ ~ „j # Produit : « DUP n << 1 SWAP FOR j OBJ ARRY IF j n < THEN j1 + ROLL END NEXT IF n1 > THEN 1 n1FOR j Page 10-17 ~ „j #1+ „°@)STACK! L@ROLL! „°@)BRCH! @)FOR@! @NEXT! „°@)BRCH! )@@IF@! @END@ ~„n # „´@)MATRX! @)COL! @COL! j1+ ROLL NEXT END n COL ` Le programme est affiché au niveau 1 Pour sauvegarder un programme : ³~~crmc~K Note : si vous enregistrez ce programme dans votre répertoire HOME, il sera disponible à partir de tout autre sous-répertoire que vous utiliserez. Pour voir le contenu du programme, utilisez : J ‚@CRMC. Le contenu du programme est le suivant : « DUP → n « 1 SWAP FOR j OBJ→ →ARRY IF j n < THEN j 1 + ROLL END NEXT IF n 1 > THEN 1 n 1 - FOR j j 1 + ROLL NEXT END n COL→ » » Pour utiliser ce programme, en mode RPN, entrez les n listes dans l’ordre dans lequel vous souhaitez les voir apparaître en tant que colonnes de la matrice, entrez la valeur de n, puis appuyez sur @CRMC. A titre d'exemple, essayez l’exercice suivant : {1,2,3,4} ` {1,4,9,16} ` {1,8,27,64} ` 3 ` @CRMC Les saisies d’écran montrent la pile RPN avant et après avoir appliqué le programme @CRMC: Pour utiliser ce programme en mode ALG, appuyez sur @CRMC suivi de deux parenthèses („Ü). Entre les parenthèses, tapez les listes de données représentant les colonnes de la matrice, séparées par des virgules, et enfin, une virgule, puis le nombre de colonnes. La commande doit se présenter comme suit : CRMC({1,2,3,4}, {1,4,9,16}, {1,8,27,64}, 3) Page 10-18 L’écran ALG présentant l’exécution du programme CRMC figure ci-dessous : Les listes représentent les lignes de la matrice Il est facile de modifier le programme précédent pour créer une matrice dans laquelle les listes d’entrée deviendront les lignes de la matrice obtenue. Le seul changement à apporter consiste à remplacer COL→ par ROW→ dans le contenu du programme. Pour ce faire, utilisez : ‚@CRMC ˜‚˜—ššš ƒƒƒ ~~row~` Répertoriez le programme CRMTC dans la pile Passez à la fin du programme Supprimez COL Tapez ROW, entrez le programme Pour mémoriser le programme, utilisez : ³~~crmr~ K {1,2,3,4} ` {1,4,9,16} ` {1,8,27,64} ` 3 ` @CRMR Les saisies d’écran montrent la pile RPN avant et après avoir appliqué le programme @CRMR: Ces programmes peuvent être utiles pour les applications statistiques, plus précisément pour créer la matrice statistique ΣDAT. Vous trouverez dans les chapitres ultérieurs des exemples d’utilisations de ces programmes. Manipulation de matrices par colonnes La calculatrice fournit un menu contenant des fonctions qui permettent de manipuler les matrices en modifiant leurs colonnes. Ce menu est disponible Page 10-19 via la séquence MTH/MATRIX/COL.. : („´) présentée dans la figure cidessous, l’indicateur système 117 étant paramétré sur CHOOSE boxes : ou via le sous-menu MATRICES/CREATE/COLUMN : Ces deux approches fournissent les mêmes fonctions : Lorsque l’indicateur système 117 est paramétré sur les menus SOFT, le menu COL est accessible via „´!)MATRX !)@MAKE@ !)@@COL@ ou via „Ø!)@CREAT@ !)@@COL@ . Ces deux approches offrent la même série de fonctions : L’utilisation de ces fonctions est présentée ci-dessous. Fonction →COL La fonction →COL accepte comme argument une matrice et la décompose en vecteurs correspondant à ces colonnes. Une application de la fonction COL Page 10-20 en mode ALG est présentée ci-dessous. La matrice utilisée a été stockée au préalable dans la variable A. La matrice s’affiche comme dans l’illustration de gauche : L’illustration de droite affiche la matrice en colonnes. Pour visualiser le résultat dans son ensemble, utilisez l’éditeur de lignes (déclenché en appuyant sur ˜). En mode RPN, vous devez répertorier la matrice dans la pile, puis activer la fonction COL, c’est-à-dire, @@@A@@@ COL. La figure ci-dessous présente la pile RPN avant et après l’application de la fonction COL. Dans ce résultat, la première colonne occupe le niveau le plus élevé de la pile après décomposition, le niveau 1 de la pile étant occupé par le nombre de colonnes de la matrice originelle. La matrice ne survit pas à sa décomposition, c’est-à-dire qu’elle n’est plus disponible dans la pile. Fonction COL→ La fonction COL→ entraîne l’effet inverse de la fonction →COL, c’est-à-dire qu’étant donné n vecteurs de même longueur, et le nombre n, la fonction COL construit une matrice en plaçant les vecteurs d’entrée en tant que colonnes de la matrice résultante. Voici un exemple en mode ALG. La commande utilisée était : COL([1,2,3],[4,5,6],[7,8,9],3) Page 10-21 En mode RPN, placez les n vecteurs aux niveaux n+1, n, n-1,…,2, de la pile et le nombre n au niveau 1 de la pile. Dans cette configuration, la fonction COL place les vecteurs en tant que colonnes dans la matrice produite. Les saisies d’écran montrent la pile RPN avant et après avoir appliqué la fonction COL. Fonction COL+ La fonction COL+ accepte comme argument une matrice, un vecteur de même longueur que le nombre de lignes de la matrice et un nombre entier n représentant l’emplacement d’une colonne. La fonction COL+ insère le vecteur dans la colonne n de la matrice. Par exemple, en mode ALG, nous insérerons la deuxième colonne dans la matrice A avec le vecteur [-1,-2,-3], c’est-à-dire, En mode RPN, saisir d’abord la matrice, puis le vecteur et le numéro de la colonne, avant d'utiliser la fonction COL+. Les illustrations montrent la pile RPN avant et après avoir appliqué la fonction COL+ : Page 10-22 Fonction COLLa fonction COL- accepte comme argument une matrice et un nombre entier représentant la position d’une colonne dans la matrice. La fonction retourne la matrice originelle, moins une colonne, ainsi que la colonne extraite en tant que vecteur. Voici un exemple en mode ALG en utilisant la matrice mémorisée dans A : En mode RPN, placez d’abord la matrice dans la pile, puis entrez le nombre représentant l’emplacement d’une colonne avant d’appliquer la fonction COL-. Les saisies d’écran montrent la pile RPN avant et après avoir appliqué la fonction COL-. Fonction CSWP La fonction CSWP (Column SWaP) accepte comme argument deux index, par exemple i et j, (représentant deux colonnes distinctes d’une matrice), ainsi qu’une matrice, et produit une nouvelle matrice dans laquelle les colonnes i et j ont été permutées. L’exemple suivant, en mode ALG, présente une application de cette fonction. Nous utilisons la matrice mémorisée dans la variable A pour cet exemple. Cette matrice est répertoriée en premier. En mode RPN, la fonction CSWP vous permet de permuter les colonnes d’une matrice répertoriée au niveau 3 de la pile, dont les index sont répertoriés aux Page 10-23 niveaux 1 et 2 de la pile. Par exemple, la figure suivante présente la pile RPN avant et après l’application de la fonction CSWP à la matrice A pour permuter les colonnes 2 et 3 : Comme vous pouvez le constater, les colonnes qui occupaient initialement les positions 2 et 3 ont été permutées. La permutation de colonnes et de lignes (voir ci-dessous) est couramment utilisée pour résoudre des systèmes d’équations linéaires avec des matrices. Ces opérations seront présentées plus en détails dans un chapitre ultérieur. Manipulation de matrices par lignes La calculatrice fournit un menu dont les fonctions permettent de manipuler des matrices en agissant sur leurs lignes. Le menu est présenté sous forme de liste ci-dessous MTH/MATRIX/ROW.. („´), avec l’indicateur de système 117 paramétré sur CHOOSE boxes : ou via le sous-menu MATRICES/CREATE/ROW : Ces deux approches fournissent les mêmes fonctions : Page 10-24 Lorsque l’indicateur système 117 est paramétré sur les menus SOFT, le menu ROW est accessible via „´!)MATRX !)@MAKE@ !)@@ROW@ , ou via „Ø!)@CREAT@ !)@@ROW@ . Ces deux approches offrent la même série de fonctions : L’utilisation de ces fonctions est présentée ci-dessous. Fonction →ROW La fonction →ROW accepte comme argument une matrice et la décompose en vecteurs correspondant à ses lignes. Une application de la fonction ROW en mode ALG est présentée ci-dessous. La matrice utilisée a été mémorisée au préalable dans la variable A. La matrice s’affiche comme dans l’illustration de gauche : L’illustration de droite affiche la matrice en colonnes. Pour visualiser le résultat dans son ensemble, utilisez l’éditeur de lignes (déclenché d’une pression sur ˜). En mode RPN, vous devez répertorier la matrice dans la pile, puis activer la fonction ROW, c’est-à-dire, @@@A@@@ ROW. Les illustrations montrent la pile RPN avant et après avoir appliqué la fonction ROW. Page 10-25 Dans ce résultat, la première ligne occupe le niveau le plus élevé de la pile après décomposition, le niveau 1 de la pile étant occupé par le nombre de lignes de la matrice d’origine. La matrice ne survit pas à sa décomposition, c’est-à-dire qu’elle n’est plus disponible dans la pile. Fonction ROW→ La fonction ROW→ entraîne l’effet inverse de la fonction →ROW, c’est-à-dire, étant donnés n vecteurs de même longueur et le nombre n, la fonction ROW crée une matrice en plaçant les vecteurs d’entrée en tant que lignes de la matrice produite. Voici un exemple en mode ALG. La commande utilisée était : ROW([1,2,3],[4,5,6],[7,8,9],3) En mode RPN, placez les n vecteurs aux niveaux n+1, n, n-1,…,2, de la pile et le nombre n au niveau 1 de la pile. Dans cette configuration, la fonction ROW place les vecteurs en tant que lignes dans la matrice produite. Les saisies d’écran montrent la pile RPN avant et après avoir appliqué la fonction ROW. Page 10-26 Fonction ROW+ La fonction ROW+ accepte comme argument une matrice, un vecteur de même longueur que le nombre de lignes de la matrice et un nombre entier n représentant l’emplacement d’une ligne. La fonction ROW+ insère le vecteur dans la ligne n de la matrice. Par exemple, en mode ALG, nous insérerons la deuxième ligne dans la matrice A avec le vecteur [-1,-2,-3], c’est-à-dire, En mode RPN, entrez d’abord la matrice, puis le vecteur, suivi du nombre de lignes, avant d’appliquer la fonction ROW+. Les illustrations montrent la pile RPN avant et après avoir appliqué la fonction ROW+. Fonction ROWLa fonction ROW- accepte comme argument une matrice et un nombre entier représentant l’emplacement d’une ligne dans la matrice. La fonction retourne la matrice d’origine, moins une ligne, ainsi que la ligne extraite présentée en tant que vecteur. Voici un exemple en mode ALG en utilisant la matrice mémorisée dans A : En mode RPN, placez d’abord la matrice dans la pile, puis entrez le nombre représentant l’emplacement d’une ligne avant d’appliquer la fonction ROW-. Page 10-27 Les saisies d’écran montrent la pile RPN avant et après avoir appliqué la fonction ROW-. Fonction RSWP La fonction RSWP (Row SWaP) accepte comme arguments deux index, par exemple i et j (représentant deux lignes distinctes d’une matrice) et une matrice, et produit une nouvelle matrice dans laquelle les lignes i et j sont permutées. L’exemple suivant, en mode ALG, présente une application de cette fonction. Nous utilisons la matrice mémorisée dans la variable A pour cet exemple. Cette matrice est répertoriée en premier. En mode RPN, la fonction CSWP permet de permuter les lignes d’une matrice répertoriée au niveau 3 de la pile, dont les index sont répertoriés aux niveaux 1 et 2 de la pile. Par exemple, la figure suivante présente la pile RPN avant et après l’application de la fonction CSWP à la matrice A pour permuter les lignes 2 et 3 : Comme vous pouvez le constater, les colonnes qui occupaient initialement les positions 2 et 3 ont été permutées. Fonction RCI La fonction RCI représente la multiplication de Row (la ligne) I par une valeur Constant (constante) et replace le résultat au même emplacement. L’exemple Page 10-28 suivant, rédigé en mode ALG, utilise la matrice mémorisée dans A et multiplie la valeur constante 5 dans la ligne numéro 3, remplaçant la ligne par ce produit. Les illustrations suivantes présentent le même exercice exécuté en mode RPN. L’illustration de gauche rappelle la paramétrage de la matrice, le facteur et le nombre de lignes aux niveaux 3, 2 et 1 de la pile. L’illustration de droite présente la matrice obtenue comme résultat de l’activation de la fonction RCI. Fonction RCIJ La fonction RCIJ consiste à prendre la ligne I et à la multiplier par une constante C, puis à ajouter cette ligne multipliée à la ligne J, remplaçant ainsi la ligne J par la somme obtenue. Ce type d’opération de ligne est très courant dans le processus d’élimination de Gauss ou de Gauss-Jordan (cette procédure est présentée plus en détail dans un chapitre ultérieur). Les arguments de la fonction sont les suivants : (1) la matrice, (2) la valeur constante, (3) la ligne à multiplier par la constante dans (2) et (4) la ligne à remplacer par la somme obtenue, comme décrit ci-dessus. Par exemple, si l’on prend la matrice mémorisée dans la variable A, on multiplie la colonne 3 par 1.5 et on l’ajoute à la colonne 2. L’exemple suivant est effectué en mode ALG : Page 10-29 En mode RPN, entrez d’abord la matrice, puis la valeur constante, puis la ligne à multiplier par la constante et enfin la ligne qui sera remplacée. La figure suivante présente la pile RPN avant et après l’application de la fonction RCIJ dans les mêmes conditions que dans l’exemple ALG présenté ci-dessus : Page 10-30 Chapitre 11 Matrices et algèbre linéaire Au Chapitre 10, nous avons introduit le concept de matrice et présenté plusieurs fonctions permettant de saisir, créer ou manipuler des matrices. Dans le présent chapitre, nous présentons des exemples d’opérations matricielles et d’applications à des problèmes d’algèbre linéaire. Opérations avec des matrices Les matrices, comme les autres objets mathématiques, peuvent être additionnées et soustraites. Elles peuvent être multipliées par des scalaires ou entre elles. Une opération importante pour les applications d’algèbre linéaire est l’inversion de matrice. Les détails de ces opérations sont présentés par la suite. Pour illustrer les opérations, nous allons créer plusieurs matrices que nous allons enregistrer dans les variables suivantes. Les noms génériques des matrices seront Aij et Bij, où i représente le nombre de lignes et j le nombre de colonnes des matrices. Les matrices qui seront utilisées sont générées en utilisant la fonction RANM (matrices aléatoires). Si vous essayez de résoudre cet exercice, vous obtiendrez des matrices différentes de celles énumérées ici, à moins que vous ne les enregistriez exactement comme celles présentées ici. Voici les matrices A22, B22, A23, B23, A32, B32, A33 et B33 créées en mode ALG : En mode RPN, les étapes à suivre sont les suivantes : Page 11-1 {2,2}` {2,3}` {3,2}` {3,3}` RANM RANM RANM RANM 'A22'K 'A23'K 'A32'K 'A33'K {2,2}` {2,3}` {3,2}` {3,3}` RANM RANM RANM RANM 'B22'K 'B23'K 'B32'K 'B33'K Addition et soustraction Considérons un couple de matrices A = [aij]m×n et B = [bij]m×n. L’addition et la soustraction de ces deux matrices n’est possible que si elles ont le même nombre de lignes et de colonnes. La matrice résultante C = A ± B = [cij]m×n contient les éléments cij = aij ± bij. Quelques exemples du mode ALG pour la matrice enregistrée ci-dessus sont donnés dans ce qui suit (par exemple, @A22@ + @B22@) : En mode RPN, les étapes à suivre sont les suivantes : A22 ` B22`+ A22 ` B22`A23 ` B23`+ A23 ` B23`A32 ` B32`+ A32 ` B32`La traduction des exemples ALG en mode RPN est simple, comme cela est présenté ici. Quant aux exemples ultérieurs d’opérations matricielles, ils seront présentés en mode ALG seulement. Multiplication Il existe différentes opérations de multiplication qui impliquent des matrices. Elles sont décrites ci-dessous. Page 11-2 Multiplication par un scalaire La multiplication de la matrice A = [aij]m×n par un scalaire k donne la matrice C = kA = [cij]m×n = [kaij]m×n. En particulier, la matrice négative est définie par l’opération -A =(-1)A = [-aij] m×n. Certains exemples de multiplication d’une matrice par un scalaire sont montrés ci-dessous. En combinant l’addition et la soustraction avec la multiplication par un scalaire, nous pouvons former des combinaisons linéaires de matrices de mêmes dimensions, c'est-à-dire : Dans une combinaison linéaire de matrices, nous pouvons multiplier une matrice par un nombre imaginaire pour obtenir une matrice de nombres complexes, à savoir : Multiplication matrice-vecteur La multiplication matrice-vecteur est possible si et seulement si le nombre de colonnes de la matrice est égal à la longueur du vecteur. Cette opération suit les règles de la multiplication des matrices telle que présentée dans la section suivante. Suivent quelques exemples de multiplications matrice-vecteur : Page 11-3 La multiplication vecteur-matrice, en revanche, n’est pas définie. Cette multiplication peut être effectuée, cependant, comme cas particulier de multiplication de matrice, à définir par la suite. Multiplication de matrices La multiplication de matrices est définie par Cm×n = Am×p⋅Bp×n, où A = [aij]m×p, B = [bij]p×n, et C = [cij]m×n. Notez que la multiplication de matrices n’est possible que si le nombre de colonnes dans le premier opérande est égal au nombre de lignes du second opérande. Le terme général dans le produit, cij, est défini comme suit : p cij = ∑ aik ⋅ bkj , for i = 1,2,K, m; j = 1,2,K, n. k =1 Cela revient à dire que l’élément de la ligne i, colonne j du produit C, résulte de la multiplication terme à terme de la ligne i de A avec la colonne j de B et de l’addition des produits entre eux. La multiplication n’est pas commutative, c’est-à-dire que, de façon générale, A⋅B ≠ B⋅A. De plus, il se peut qu’une des multiplications n’existe même pas. Les saisies d’écran suivantes montrent les résultats des multiplications des matrices que nous avons enregistrées précédemment : Page 11-4 La multiplication matrice-vecteur introduite dans la section précédente peut être considérée comme le produit d’une matrice m×n par une matrice n×1 (à savoir : un vecteur colonne), résultant en une matrice m×1 (à savoir : un autre vecteur). Pour vérifier cette assertion, contrôlez les exemples de la section précédente. Par conséquent, les vecteurs définis au Chapitre 9 sont fondamentalement des vecteurs colonne dans le but de la multiplication de matrices. Le produit d’un vecteur par une matrice est possible si le vecteur est un vecteur ligne,cela signifie : une matrice 1×m qui, multipliée par une matrice m×n, produit une matrice 1xn (un autre vecteur ligne). Afin que la calculatrice identifie un vecteur ligne, vous devez utiliser des doubles crochets lors de la saisie, c'est-à-dire : Multiplication terme à terme La multiplication terme à terme de deux matrices de la même dimension est possible grâce à la fonction HADAMARD. Le résultat est, bien sûr, une autre matrice de la même dimension. Cette fonction est disponible par l’intermédiaire du catalogue de Fonctions (‚N) ou par l’intermédiaire du sous-menu MATRICES/OPERATIONS („Ø). Les applications de la fonction HADAMARD sont présentées ci-dessous : Page 11-5 La matrice identité Au Chapitre 9, nous avons introduit la matrice identité comme la matrice I = [δij]n×n, où δij est la fonction delta de Kronecker. Les matrices identité peuvent être obtenues en utilisant la fonction IDN décrite au Chapitre 9. La matrice identité a la propriété suivante A⋅I = I⋅A = A. Pour vérifier cette propriété, nous présentons les exemples suivants utilisant les matrices enregistrées précédemment. La matrice inverse L’inverse d’une matrice carrée A est la matrice A-1 telle que A⋅A-1 = A-1⋅A = I, où I est la matrice identique de mêmes dimensions que A. L’inverse d’une matrice est obtenue avec la calculatrice en utilisant la fonction inverse, INV (c’est-à-dire la touche Y ). Des exemples de l’inverse de certaines des matrices enregistrées précédemment sont présentés ci-dessous : Pour vérifier les propriétés de la matrice inverse, nous présentons les multiplications suivantes : Page 11-6 Caractérisation d’une matrice (Menu NORM) On peut accéder au menu NORM (NORMalisation) des matrices grâce à la combinaison de touches „´ . (en paramétrant l’indicateur système 117 sur CHOOSE boxes) : Ce menu contient également les fonctions suivantes : Ces fonctions sont décrites ci-dessous. Comme plusieurs de ces fonctions utilisent des concepts de la théorie des matrices, tels que les valeurs singulières, le rang etc., nous allons inclure de petites descriptions de ces termes dans la description des fonctions. Fonction ABS La fonction ABS calcule ce qu’on appelle la norme Frobenius d’une matrice. Pour une matrice A = [aij] m×n, la norme Frobenius de la matrice est définie comme A F = n m ∑∑ a i =1 j =1 2 ij Page 11-7 Si la matrice étudiée est un vecteur ligne ou un vecteur colonne, alors la norme de Frobenius, ||A||F , est simplement la magnitude du vecteur. On peut accéder à la fonction ABS directement sur le clavier avec „Ê. Essayez de traiter les exercices suivants en mode ALG (en utilisant les matrices enregistrées plus tôt pour les opérations matricielles) : Fonction SNRM La fonction SNRM calcule la norme spectrale d’une matrice, définie comme la valeur singulière la plus grande d’une matrice, connue également comme la norme euclidienne de la matrice. Par exemple, Décomposition de la valeur singulière Afin de comprendre le fonctionnement de la Fonction SNRM, nous devons introduire le concept de décomposition de matrice. Fondamentalement, la décomposition de matrice implique la détermination de deux ou plusieurs matrices qui, multipliées dans un certain ordre (et, éventuellement, en recourant à une matrice inverse ou à une transposition), produisent la matrice originale. La Décomposition de la Valeur Singulière (SVD) est telle qu’une matrice rectangle Am×n s’écrit Am×n = Um×m ⋅Sm×n ⋅V Tn×n, Page 11-8 où U et V sont des matrices orthogonales et S une matrice diagonale. Les éléments de la diagonale de S sont appelés les valeurs singulières de A et sont généralement classés de telle sorte que si ≥ si+1, pour i = 1, 2, …, n-1. Les colonnes [uj] de U et [vj] de V sont les vecteurs singuliers correspondants. (Les matrices orthogonales sont telles que U⋅ UT = I. Une matrice diagonale ne contient que des éléments autres que zéro dans sa diagonale principale). Le rang d’une matrice peut être déterminé à partir de sa SVD en comptant le nombre de valeurs non singulières. Des exemples de SVD seront présentés dans une section ultérieure. Fonctions RNRM et CNRM La fonction RNRM renvoie la Row NoRM (norme ligne) d’une matrice, tandis que la fonction CNRM renvoie la Column NoRM (norme colonne) d’une matrice. Exemples : Norme ligne et norme colonne d’une matrice La norme ligne d’une matrice est calculée en prenant la somme des valeurs absolues de tous les éléments de chaque ligne puis en sélectionnant le maximum de ces sommes. La norme colonne d’une matrice est calculée en prenant la somme des valeurs absolues de tous les éléments de chaque colonne puis en sélectionnant le maximum de ces sommes. Fonction SRAD La fonction SRAD détermine le RADius Spectral d’une matrice, défini comme la plus grande des valeurs absolues de ses valeurs propres. Par exemple : Page 11-9 Définitions des valeurs propres et des vecteurs propres d’une matrice Les valeurs propres d’une matrice carrée résultent de l’équation matricielle A⋅x = λ⋅x. Les valeurs de λ qui satisfont l’équation sont connues comme les valeurs propres de la matrice A. Les valeurs x qui résultent de l’équation pour chaque valeur de l sont connues comme les vecteurs propres de la matrice. De plus amples détails sur le calcul des valeurs propres et des vecteurs propres seront présentés ultérieurement dans ce chapitre. Fonction COND La fonction COND détermine le nombre condition de la matrice. Exemples : Nombre-condition d’une matrice Le nombre-condition d’une matrice carrée non singulière est défini comme les produits de la norme de la matrice par la norme de son inverse, à savoir :cond(A) = ||A||×||A-1||. Nous allons choisir comme norme de la matrice, ||A||, le maximum de sa norme ligne (RNRM) et norme colonne (CNRM), tandis que la norme de son inverse, ||A-1||, sera sélectionnée comme le minimum de ses norme ligne et norme colonne. Par conséquent, ||A|| = max (RNRM(A), CNRM(A)), et ||A-1|| = min (RNRM(A-1), CNRM(A-1)). Le nombre-condition d’une matrice singulière est l’infini. Le nombre-condition d’une matrice non singulière est la mesure permettant de dire combien la matrice se rapproche d’une matrice singulière. Plus le nombre-condition est Page 11-10 grand, plus la matrice est proche de la singularité (une matrice singulière est une matrice dont l’inverse n’existe pas.) Essayez l’exercice suivant pour le nombre condition de la matrice A33. Le nombre condition est COND(A33). La norme ligne et la norme colonne de A33 sont présentées à gauche. Les nombres correspondant à la matrice inverse INV(A33) sont présentés à droite : Puisque RNRM(A33) > CNRM(A33), alors nous prenons ||A33|| = RNRM(A33) = 21. De même, puisque CNRM(INV(A33)) < RNRM(INV(A33)), alors nous prenons ||INV(A33)|| = CNRM(INV(A33)) = 0.261044... Par conséquent, le nombre condition est aussi calculé comme CNRM(A33)*CNRM(INV(A33)) = COND(A33) = 6.7871485… Fonction RANK La fonction RANK détermine le rang d’une matrice carrée. Essayez d’effectuer les exercices suivants : Le rang d’une matrice Le rang d’une matrice carrée est le nombre de lignes ou colonnes linéairement indépendantes que cette matrice contient. Supposons que nous écrivions une matrice carrée An×n telle que A = [c1 c2 … cn], où ci (i = 1, 2, …, n) sont les vecteurs représentant les colonnes de la matrice A, alors, si une des ces colonnes, disons ck, peut s’écrire comme c k = ∑d ⋅c j, j j ≠ k , j∈{1, 2 ,..., n} Page 11-11 où les valeurs de dj sont constantes, nous disons que ck est linéairement dépendante des colonnes comprises dans la somme (notez que les valeurs j comprennent n’importe quelle valeur de l’ensemble {1, 2, …, n}, dans n’importe quelle combinaison, aussi longtemps que j≠k.) Si l’expression présentée ci-dessus ne peut être écrite pour aucun des vecteurs colonne, alors nous disons que toutes les colonnes sont linéairement indépendantes. Une définition similaire de l’indépendance linéaire des lignes peut être développée en écrivant la matrice sous forme de colonne de vecteurs lignes. Par conséquent, si nous trouvons que rang(A) = n, alors la matrice a une matrice inverse qui est une matrice non singulière. Si, au contraire, le rang(A) < n, alors la matrice est singulière et il n’existe pas de matrice inverse. Par exemple, essayez de trouver le rang de la matrice : Nous trouvons un rang égal à 2. Ceci parce que la deuxième ligne [2,4,6] est égale à la première ligne [1,2,3] multipliée par 2 et par conséquent la ligne deux est linéairement dépendante de la ligne un et le nombre maximum de lignes linéairement dépendantes est 2. Vous pouvez vérifier que le nombre maximum de colonnes linéairement indépendantes est 3. Le rang étant le nombre maximum de lignes ou colonnes linéairement indépendantes, le rang est donc 2 dans ce cas. Fonction DET La fonction DET calcule le déterminant d’une matrice carrée. Par exemple, Page 11-12 Le déterminant d’une matrice Les déterminants d’une matrice 2x2 ou d’une matrice 3x3 sont représentés par les mêmes classements d’éléments des matrices mais inclus entre deux lignes verticales, i.e., a11 a 21 a12 , a 22 a11 a 21 a31 a12 a 22 a32 a13 a 23 a33 Un déterminant 2×2 est calculé en multipliant les éléments de sa diagonale et en additionnant ces produits, accompagnés du signe positif ou négatif tel qu’indiqué dans le diagramme présenté ci-dessous. Le déterminant 2×2 est, par conséquent a11 a 21 a12 = a11 ⋅ a 22 − a12 ⋅ a 21 a 22 Un déterminant 3×3 est calculé en augmentant le déterminant, une opération qui consiste à copier les deux premières colonnes du déterminant, et à les placer à la droite de la colonne 3, comme indiqué sur le diagramme cidessous. Le diagramme montre également les éléments à multiplier avec le signe correspondant à attacher à leurs produits, comme procédé précédemment pour un déterminant 2×2 . Après multiplication, les résultats sont additionnés pour obtenir le déterminant. Page 11-13 Pour des matrices carrées d’ordres supérieurs, les déterminants peuvent être calculés en utilisant des déterminants d’ordre inférieur appelés des cofacteurs. L’idée générale est de “développer” un déterminant d’une matrice n×n (aussi appelé déterminant n×n en une somme de cofacteurs, qui sont des déterminants (n-1)×(n-1) eux-mêmes multipliés par les éléments d’une seule ligne ou colonne, en alternant les signes positifs et négatifs. Ce “développement” est ensuite effectué au niveau suivant (au niveau inférieur) avec des cofacteurs d’ordre (n-2)×(n-2), et ainsi de suite, jusqu’à ce qu’il ne nous reste qu’une longue somme de déterminants 2×2 . Les déterminants 2×2 sont ensuite calculés avec la méthode présentée précédemment. La méthode de calcul d’un déterminant par développement des cofacteurs est très inefficace dans le sens où elle implique un nombre d’opérations qui augmente très vite, parallèlement à l’augmentation de la taille du déterminant. Une méthode plus efficace et référée dans les applications numériques consiste à utiliser un résultat de l’élimination de Gauss. La méthode de l’élimination gaussienne est utilisée pour résoudre des systèmes d’équations linéaires. Les détails de cette méthode sont présentés dans une partie ultérieure de ce chapitre. Lorsqu’on se réfère au déterminant de la matrice A, nous écrivons det(A). Une matrice singulière a un déterminant égal à zéro. Fonction TRACE La fonction TRACE calcule la trace d’une matrice carrée, définie comme la somme des éléments de sa diagonale principale, soit n tr (A ) = ∑ aii i =1 Page 11-14 Exemples : Fonction TRAN La fonction TRAN renvoie la transposée d’un réel ou la transposée conjuguée d’une matrice complexe. TRAN est équivalent à TRN. Le fonctionnement de la fonction TRN est décrit au Chapitre 10. Autres opérations matricielles (Le menu OPER matrice) Le menu OPER (OPERATIONS) matrices est disponible par l’intermédiaire de la combinaison de touches „Ø (indicateur système 117 réglé sur CHOOSE boxes): Le menu OPERATIONS contient les fonctions suivantes : Page 11-15 Les fonctions ABS, CNRM, COND, DET, RANK, RNRM, SNRM, TRACE et TRAN se trouvent aussi dans le menu MTH/MATRIX/NORM (objet de la section précédente). La fonction SIZE a été présentée au Chapitre 10. La fonction HADAMARD a été présentée précédemment, dans le cadre de la multiplication des matrices. Les fonctions LSQ , MAD et RSD sont liées à la résolution de systèmes d’équations linéaires et seront présentées dans une section ultérieure du présent chapitre. Dans cette section, nous allons discuter uniquement des fonctions AXL et AXM. Fonction AXL La fonction AXL convertit un ensemble (matrice) en une liste et vice-versa. Par exemple : Note: Cette dernière opération est similaire à celle du programme CRMR présentée au Chapitre 10. Fonction AXM La fonction AXM convertit un ensemble contenant des entiers ou des fractions en sa forme décimale ou approchée. Exemple : Fonction LCXM La fonction LCXM peut être utilisée pour générer des matrices de telle sorte que l’élément aij soit une fonction de i et j. Les données d’entrée de cette fonction consistent en deux entiers, n et m, représentant le nombre de lignes et Page 11-16 colonnes de la matrice à générer, et un programme qui prend i et j comme données d’entrée. Les nombres n, m et le programme occupent les niveaux de pile 3, 2 et 1, respectivement. La fonction LCXM se trouve dans le catalogue de commandes ‚N. Par exemple, pour générer une matrice 2´3 dont les éléments sont donnés par aij = (i+j)2, nous commençons par enregistrer le programme suivant dans la variable P1 en mode RPN. Voici comment la pile RPN se présente avant d’appuyer sur K. L’application de la fonction LCXM dans ce cas nécessite que vous saisissiez : 2`3`‚@@P1@@ LCXM ` Les saisies d’écran montrent la pile RPN avant et après avoir appliqué la fonction LCXM : En mode ALG, cet exemple peut être obtenu en utilisant : Le programme P1 doit toujours avoir été créé et enregistré en mode RPN. Résolutions des systèmes linéaires Un système d’équations linéaires n avec variables m peut s’écrire ainsi Page 11-17 a11⋅x1 + a12⋅x2 + a13⋅x3 + …+ a21⋅x1 + a22⋅x2 + a23⋅x3 + …+ a31⋅x1 + a32⋅x2 + a33⋅x3 + …+ . . . … . . . … an-1,1⋅x1 + an-1,2⋅x2 + an-1,3⋅x3 + …+ an1⋅x1 + an2⋅x2 + an3⋅x3 + …+ a1,m-1⋅x m-1 a2,m-1⋅x m-1 a3,m-1⋅x m-1 . . an-1,m-1⋅x m-1 an,m-1⋅x m-1 + a1,m⋅x m + a2,m⋅x m + a3,m⋅x m . . + an-1,m⋅x m + an,m⋅x m = b1, = b2, = b3, . . = bn-1, = bn. Ce système d’équations linéaires peut s’écrire comme une équation matricielle, An×m⋅xm×1 = bn×1, si nous définissons les matrices et vecteurs suivants : a11 a A = 21 M an1 a12 a22 M an 2 L a1m x1 b1 b L a2 m x2 2 , x= , b= M M O M L anm n×m xm m×1 bn n×1 Utilisation du calculateur numérique pour les systèmes linéaires Il existe plusieurs façons de résoudre un système d’équations linéaires avec la calculatrice. Une des possibilités est d’utiliser le calculateur numérique ‚Ï. A partir de l’écran du calculateur numérique, illustré ci-dessous (à gauche), sélectionnez l’option 4. Solve lin sys.. et appuyez sur @@@OK@@@. Le formulaire de saisie suivant s’affiche (à droite) : Pour résoudre le système linéaire A⋅x = b, saisissez la matrice A, au format [[ a11, a12, … ], … [….]] dans le champ A: Saisissez la matrice b dans le champ B: Quand le champ X: est surligné, appuyez sur [SOLVE]. Si la solution est disponible, le vecteur solution x sera affiché dans le champ X: La solution est également copiée dans le niveau 1 de la pile. Suivent quelques exemples : Page 11-18 Un système carré Le système d’équations linéaires 2x1 + 3x2 –5x3 = 13, x1 – 3x2 + 8x3 = -13, 2x1 – 2x2 + 4x3 = -6, peut s’écrire sous forme d’une équation matricielle A⋅x = b, si 13 x1 2 3 − 5 A = 1 − 3 8 , x = x 2 et b = − 13. − 6 x3 2 − 2 4 Ce système, ayant le même nombre d’équations que d’inconnues, est appelé système carré. En général, il ne doit y avoir qu’une seule solution au système. La solution sera le point d’intersection des trois plans du système coordonné (x1, x2, x3) représenté par les trois équations. Pour saisir la matrice A, vous pouvez activer l’Editeur de matrices alors que le champ A: est sélectionné. L’écran suivant montre l’Editeur de matrices utilisé pour la saisie de la matrice A, ainsi que le formulaire de saisie pour le calculateur numérique après avoir saisi la matrice A (appuyez sur ` dans l’Editeur de matrices): Appuyez sur ˜ pour sélectionner le champ B : Le vecteur b peut être saisi en tant que vecteur ligne avec une seule paire de crochets,à savoir : [13,-13,-6] @@@OK@@@ . Page 11-19 Après avoir saisi la matrice A et le vecteur b et le champ X: en surbrillance, nous pouvons appuyer @SOLVE! pour essayer de résoudre ce système d’équations : La solution A a été trouvée (comme cela est illustré ci-dessous) : Pour voir la solution dans la pile, appuyez sur `. La solution est x = [1,2,-1]. Pour vérifier que la solution est correcte, saisissez la matrice A et multipliez-la par ce vecteur solution (exemple en mode algébrique) : Système sous-déterminé Le système d’équations linéaires 2x1 + 3x2 –5x3 = -10, Page 11-20 x1 – 3x2 + 8x3 = 85, peut s’écrire sous la forme d’une équation matricielle A⋅x = b, si x1 − 10 2 3 − 5 A= , x = x2 et b = . 85 1 − 3 8 x3 Ce système a plus d’inconnues que d’équations et n’est par conséquent pas uniquement déterminé. Nous pouvons visualiser la signification de cette assertion en nous rendant compte que chacune des équations linéaires représente un plan dans le système coordonné cartésien (x1, x2, x3). La solution au système d’équations présenté ci-dessus sera l’intersection de deux plans dans l’espace. Nous savons, cependant, que l’intersection de deux plans (non parallèles) est une ligne droite et non un point unique. Par conséquent, il existe plus d’un point qui satisfait le système. En ce sens, le système n’est pas uniquement déterminé. Utilisons la résolution numérique pour essayer de trouver une solution à ce système d’équations : ‚Ï ˜˜˜ @@OK@@ . Saisissez la matrice A et le vecteur b comme illustré à l’exemple précédent et appuyez sur @SOLVE quand le champ X: est en surbrillance : Page 11-21 Pour voir les détails du vecteur solution, si nécessaire, appuyez sur le bouton @EDIT! . Ceci active l’Editeur de matrice. Utilisez ensuite les touches directionnelles droite et gauche pour déplacer le vecteur. Par conséquent, la solution est x = [15.373, 2.4626, 9.6268]. Pour retourner à l’environnement de la résolution numérique, appuyez sur `. La procédure que nous décrivons ci-dessous peut être utilisée pour copier la matrice A et le vecteur solution X dans la pile. Pour vérifier que la solution est correcte, essayez la procédure suivante : • • • • • • Appuyer sur ——, pour mettre en surbrillance le champ A: . Appuyer sur L @CALC@ `, pour copier la matrice A dans la pile. Appuyer sur @@@OK@@@ pour retourner à l’environnement de la résolution numérique. Appuyer sur ˜ ˜@CALC@ `, pour copier le vecteur solution X dans la pile. Appuyer sur @@@OK@@@ pour retourner à l’environnement de la résolution numérique. Appuyer sur ` pour retourner à la pile. En mode ALG, la pile se présente maintenant comme suit : Page 11-22 Enregistrons le dernier résultat dans une variable X et la matrice dans la variable A, comme suit : Appuyez sur K~x` pour enregistrer le vecteur solution dans la variable X Appuyez sur ƒ ƒ ƒ pour effacer les trois niveaux de la pile Appuyez sur K~a` pour enregistrer la matrice dans la variable A Vérifions maintenant la solution en utilisant @@@A@@@ * @@@X@@@ `, qui donne (appuyez sur ˜ pour voir les éléments du vecteur) : [-9.99999999999 85. ], assez proche du vecteur original b = [-10 85]. Essayez également ceci : @@A@@@ * [15,10/3,10] ` ‚ï`, c'est-à-dire : Ce résultat indique que x = [15,10/3,10] est aussi une solution au système, confirmant notre observation suivant laquelle un système avec plus d’inconnues que d’équations n’est pas uniquement déterminé (sous-déterminé). Comment la calculatrice est-elle arrivée à la solution x = [15.37… 2.46… 9.62…] présentée plus tôt? En fait, la calculatrice minimise la distance d’un point, qui constituera la solution, à chacun des plans représentés par les équations du système linéaire. La calculatrice utilise une méthode des moindres carrés, c'est-à-dire minimise la somme des carrés de ces distances ou erreurs. Système sur-déterminé Le système d’équations linéaires Page 11-23 x1 + 3x2 = 15, 2x1 – 5x2 = 5, -x1 + x2 = 22, peut s’écrire sous la forme d’une équation matricielle A⋅x = b, si 3 15 1 x1 A = 2 − 5 , x = et b = 5 . x2 22 − 1 1 Ce système a plus d’équations que d’inconnues (système sur-déterminé). Ce système n’a pas de solution unique. Chacune des équations linéaires dans le système présenté ci-dessus représente une ligne droite dans un système coordonné cartésien à deux dimensions (x1, x2). A moins que deux des trois équations du système représentent la même équation, les trois lignes auront plus d’une seule intersection. Pour cette raison, la solution n’est pas unique. Certains algorithmes numériques peuvent être utilisés pour forcer une solution en minimisant la distance du point solution présumé à chacune des lignes du système. Telle est l’approche employée par la résolution numérique de la HP 49 G. Utilisons la résolution numérique pour essayer de trouver une solution à ce système d’équations : ‚Ï ˜˜˜ @@OK@@ . Saisissez la matrice A et le vecteur b comme illustré à l’exemple précédent et appuyez sur @SOLVE quand le champ X: est en surbrillance : Page 11-24 Pour voir les détails du vecteur solution, si nécessaire, appuyez sur le bouton @EDIT!. Ceci active l’Editeur de matrices. Utiliser ensuite les touches directionnelles droite et gauche pour déplacer le vecteur. Appuyer sur ` pour retourner à l’environnement de résolution numérique. Pour vérifier que la solution est correcte, essayez la procédure suivante : • • • • • • Appuyer sur ——, pour mettre en surbrillance le champ A:. Appuyer sur L @CALC@ `, pour copier la matrice A dans la pile. Appuyer sur @@@OK@@@ pour retourner à l’environnement de résolution numérique. Appuyer sur ˜ ˜@CALC@ `, pour copier le vecteur solution X dans la pile. Appuyer sur @@@OK@@@ pour retourner à l’environnement de résolution numérique. Appuyer sur ` pour retourner à la pile. En mode ALG, la pile se présente maintenant comme suit : Enregistrons le dernier résultat dans une variable X et la matrice dans la variable A, comme suit : Appuyez sur K~x` pour enregistrer le vecteur solution dans la variable X Appuyez sur ƒ ƒ ƒ pour effacer les trois niveaux de la pile Appuyez sur K~a` pour enregistrer la matrice dans la variable A Page 11-25 Vérifions maintenant la solution en utilisant : @@@A@@@ * @@@X@@@ `, qui donne un vecteur [8.6917… -3.4109… -1.1301…], qui n’est pas égal à [15 5 22], le vecteur original b. Comme " solution" , nous trouvons tout simplement le point le plus proche des trois lignes représentées par les trois équations du système et non une solution exacte. Solution des moindres carrés (fonction LSQ) La fonction LSQ renvoie la solution des moindres carrés norme minimum d’un système linéaire Ax = b, d’après les critères suivants : • • • Si A est une matrice carrée et A n’est pas singulière (c’est-à-dire : sa matrice inverse existe ou son déterminant n’est pas zéro), LSQ renvoie la solution exacte du système linéaire. Si A a un rang inférieur à une ligne pleine (système d’équations sousdéterminé), LSQ renvoie la solution avec la longueur euclidienne minimum sur un nombre infini de solutions. Si A a un rang inférieur à une colonne entière (système d’équations sur-déterminé), LSQ renvoie la "solution" avec la valeur résiduelle minimum e = A⋅x – b. Il se peut que le système d’équations n’ait pas de solutions et par conséquent que la valeur retournée ne soit pas une vraie solution au système mais juste la solution avec la plus petite valeur résiduelle. La fonction LSQ prend comme données d’entrée un vecteur b et une matrice A, dans cet ordre. La fonction LSQ se trouve dans le catalogue de commandes (‚N). Nous allons utiliser ci-dessous la fonction LSQ pour répéter les solutions trouvées précédemment avec la résolution numérique : Système carré Considérons le système 2x1 + 3x2 –5x3 = 13, x1 – 3x2 + 8x3 = -13, 2x1 – 2x2 + 4x3 = -6, avec Page 11-26 13 x1 2 3 − 5 A = 1 − 3 8 , x = x2 et b = − 13. − 6 x3 2 − 2 4 La solution utilisant LSQ est présentée ci-dessous : Système sous-déterminé Considérons le système 2x1 + 3x2 –5x3 = -10, x1 – 3x2 + 8x3 = 85, avec x1 − 10 2 3 − 5 A= , x = x2 et b = . 85 1 − 3 8 x3 La solution utilisant LSQ est présentée ci-dessous : Système sur-déterminé Considérons le système x1 + 3x2 = 15, 2x1 – 5x2 = 5, -x1 + x2 = 22, avec Page 11-27 3 15 1 x1 A = 2 − 5, x = et b = 5 . x2 22 − 1 1 La solution utilisant LSQ est présentée ci-dessous : Comparez ces trois solutions avec celles de résolution numérique. Résolution avec la matrice inverse La solution au système A⋅x = b, où A est une matrice carrée, est x = A-1⋅ b. Ceci résulte de la multiplication de la première équation par A-1, à savoir : A-1⋅A⋅x = A-1⋅b. Par définition, A-1⋅A = I, par conséquent, nous pouvons écrire I⋅x = A-1⋅b. De même, I⋅x = x, par conséquent, nous avons x = A-1⋅ b. Pour l’exemple utilisé précédemment, à savoir : 2x1 + 3x2 –5x3 = 13, x1 – 3x2 + 8x3 = -13, 2x1 – 2x2 + 4x3 = -6, nous pouvons trouver la solution avec la calculatrice comme suit : Page 11-28 qui est le même résultat que celui trouvé précédemment. Résolution par “division“ de matrices Bien que l’opération de division ne soit pas définie dans les matrices, nous pouvons utiliser la touche / de la calculatrice pour “diviser” le vecteur b par la matrice A pour trouver x dans l’équation matricielle A⋅x = b. Il s’agit d’une extension arbitraire de l’opération de division algébrique aux matrices, c’est-à-dire qu’à partir de A⋅x = b, nous osons écrire x = b/A (les mathématiciens feraient la grimace s’ils lisaient cela !) Ceci, bien sûr, est interprété comme (1/A)⋅b = A-1⋅b, ce qui revient au même que d’utiliser l’inverse de A comme dans la section précédente. La procédure dans ce cas de “division“ de b par A est illustrée ci-dessous pour les cas étudiés. 2x1 + 3x2 –5x3 = 13, x1 – 3x2 + 8x3 = -13, 2x1 – 2x2 + 4x3 = -6, La procédure est présentée dans les saisies d’écran suivantes : Il s’agit de la même solution que celle trouvée auparavant avec la matrice inverse. Page 11-29 Résolution d’ensembles multiples d’équations avec une matrice de même coefficient Supposons que nous voulions résoudre les trois ensembles d’équations suivants : X +2Y+3Z = 14, 2X +4Y+6Z = 9, 3X -2Y+ Z = 2, 3X -2Y+ Z = -5, 4X +2Y -Z = 5, 4X +2Y -Z = 19, 2X +4Y+6Z = -2, 3X -2Y+ Z = 2, 4X +2Y -Z = 12. Nous pouvons écrire les trois systèmes d’équations sous forme d’équation matricielle unique : A⋅X = B, où X (1) 3 1 2 A = 3 − 2 1 , X = Y(1) Z (1) 4 2 − 1 X ( 2) Y( 2) Z ( 2) X ( 3) Y( 3) , Z ( 3) 14 9 − 2 B = 2 − 5 2 . 5 19 12 Les sous-indices dans les noms des variables X, Y et Z déterminent à quel système d’équations elles se réfèrent. Afin de résoudre ce système développé, nous utilisons la procédure suivante, en mode RPN : [[14,9,-2],[2,-5,2],[5,19,12]] ` [[1,2,3],[3,-2,1],[4,2,-1]] `/ Le résultat de cette opération est : Page 11-30 2 1 2 1 . X = 2 5 3 − 1 − 2 Elimination de Gauss et de Gauss-Jordan L’élimination gaussienne est une procédure par laquelle la matrice carrée des coefficients appartenant à un système de n équations linéaires à n inconnues est réduit à une matrice triangulaire supérieure (forme en échelon) par le biais d’une série d’opérations de ligne. Cette procédure est connue comme l'élimination en avant ou forward elimination. La réduction de la matrice de coefficients à une matrice de forme triangulaire supérieure permet de résoudre les n inconnues, en utilisant une équation à la fois, dans une procédure appelée, cette fois substitution en arrière ou backward substitution. Exemples d’élimination gaussienne utilisant des équations Afin d’illustrer la procédure d’élimination gaussienne, nous allons utiliser le système suivant de 3 équations à 3 inconnues : 2X +4Y+6Z = 14, 3X -2Y+ Z = -3, 4X +2Y -Z = -4. Nous pouvons enregistrer ces équations dans la calculatrice dans les variables E1, E2 et E3, respectivement, comme montré ci-dessous. A des fins de sauvegarde, une liste contenant les trois équations a également été créée et enregistrée dans la variable EQS. De cette façon, si l’on fait une erreur, l’équation sera toujours disponible pour l’utilisateur : Page 11-31 Pour commencer le processus d’élimination en avant, nous divisons la première équation (E1) par 2 et l’enregistrons dans E1, puis affichons à nouveau les trois équations pour obtenir : Ensuite, nous remplaçons la deuxième équation E2 par (équation 2 – 3×équation 1, c’est-à-dire : E1-3×E2) et la troisième par (équation 3 – 4×équation 1), pour obtenir Ensuite, nous divisons la deuxième équation par –8 pour obtenir Ensuite, nous remplaçons la troisième équation, E3 par l’équation 3 + 6×équation 2, c’est-à-dire : E2+6×E3), pour obtenir Page 11-32 Notez que lorsque nous effectuons une combinaison linéaire d’équations, la calculatrice modifie le résultat en une expression du côté gauche de signe égale, ce qui équivaut à une expression = 0. Par conséquent, le dernier ensemble d’équations est interprété comme étant équivalent à l’ensemble d’équations : X +2Y+3Z = 7, Y+ Z = 3, -7Z = -14. La procédure de substitution en arrière par élimination gaussienne consiste à trouver les valeurs des inconnues, en commençant par la dernière équation et en remontant. Par conséquent, nous allons résoudre Z en premier : Ensuite, nous remplaçons Z=2 dans l’équation 2 (E2) et résolvons E2 pour Y: Ensuite, nous remplaçons Z=2 et Y = 1 dans E1 et résolvons E1 pour X: La solution est, par conséquent, X = -1, Y = 1, Z = 2. Page 11-33 Exemple d’élimination gaussienne utilisant des matrices Le système d’équation utilisé dans l’exemple précédent peut s’écrire comme une équation matricielle A⋅x = b, si nous utilisons : 6 14 X 2 4 A = 3 − 2 1 , x = Y , b = − 3. 4 2 − 1 − 4 Z Pour obtenir une solution au système d’équations matricielles en utilisant l’élimination gaussienne, nous commençons par créer ce que l’on appelle une matrice augmentée correspondant à A, telle que : A aug 2 4 6 14 = 3 − 2 1 − 3 4 2 −1 − 4 La matrice Aaug est la même que la matrice originale A avec une nouvelle ligne, correspondant aux éléments du vecteur b, ajoutée (d’où le terme augmentée) à la droite de la dernière colonne de A. Une fois que la matrice augmentée est construite, nous pouvons continuer à effectuer des opérations de ligne sur cette dernière, lesquelles vont réduire la matrice originale A à une matrice triangulaire supérieure. Pour cet exercice, nous allons utiliser la mode RPN (H\@@OK@@), avec l’indicateur système 117 paramétré sur menu SOFT. Utilisez ensuite la combinaison de touches indiquée ci-dessous : Tout d’abord, saisissez la matrice augmentée et faites-en une copie supplémentaire dans la pile (cette étape n’est pas obligatoire, c’est une assurance pour conserver une copie de secours de la matrice augmentée en cas d’erreur, dans la procédure d’élimination en avant que nous sommes sur le point d’entreprendre) : [[2,4,6,14],[3,-2,1,-3],[4,2,-1,-4]] `` Page 11-34 Enregistrez la matrice augmentée dans la variable AAUG: ³~~aaug~ K Ayant une copie de la matrice augmentée dans la pile, appuyez sur „´ @MATRX! @ROW! pour activer le menu ROW. Ensuite, effectuez les opérations de ligne suivantes sur la matrice augmentée : Multipliez la ligne 1 par ½: 2Y 1 @RCI! Multipliez la ligne 1 par –3 , ajoutez-la à la ligne 2, en la remplaçant : 3\ # 1 #2 @RCIJ! Multipliez la ligne 1 par –4, ajoutez-la à la ligne 3, en la remplaçant : 4\#1#3@RCIJ! Multipliez la ligne 2 par –1/8: 8\Y2 @RCI! Multipliez la ligne 2 par 6, ajoutez-la à la ligne 3, en la remplaçant : 6#2#3 @RCIJ! Si vous deviez effectuer ces opérations à la main, vous écririez les opérations suivantes : 2 4 6 14 1 2 3 7 A aug = 3 − 2 1 − 3 ≅ 3 − 2 1 − 3 4 2 −1 − 4 4 2 −1 − 4 1 2 3 7 1 2 3 7 A aug ≅ 0 − 8 − 8 − 24 ≅ 0 1 1 3 0 − 6 − 13 − 32 0 − 6 − 13 − 32 1 2 3 7 A aug ≅ 0 1 1 3 0 0 − 7 − 14 Page 11-35 Le symbole ≅ ("est équivalent à") indique que ce qui suit est équivalent à la matrice précédente avec quelques opérations de lignes (ou de colonnes) en plus. La matrice résultante est de forme triangulaire supérieure et équivalente à l’ensemble d’équations X +2Y+3Z = 7, Y+ Z = 3, -7Z = -14, qui peut maintenant être résolu, équation par équation, par une substitution en arrière comme dans l’exemple précédent : Elimination de Gauss-Jordan utilisant des matrices L’élimination de Gauss-Jordan consiste en une continuation des opérations de ligne dans la matrice triangulaire supérieure aboutissant à une procédure d’élimination en avant jusqu’à obtenir une matrice identité à la place de la matrice originale A. Par exemple, pour le cas que nous venons de présenter, les opérations de lignes sont les suivantes : Multipliez la ligne 3 par –1/7: 7\Y 3 @RCI! Multipliez la ligne 3 par –1, ajoutez-la à la ligne 2, en la remplaçant : 1\#3#2 @RCIJ! Multipliez la ligne 3 par –3, ajoutez-la à la ligne 1, en la remplaçant : 3\#3#1@RCIJ! Multipliez la ligne 2 par –2, ajoutez-la à la ligne 1, en la remplaçant : 2\#2#1 @RCIJ! Si vous deviez effectuer ces opérations à la main, vous obtiendriez les étapes suivantes : 1 2 3 7 1 2 3 7 1 2 3 7 A aug = 0 1 1 3 ≅ 0 1 1 3 ≅ 0 1 1 1 0 0 − 7 − 14 0 0 1 2 0 0 1 2 Page 11-36 Aaug 1 2 0 1 1 0 0 − 1 ≅ 0 1 0 1 ≅ 0 1 0 1 . 0 0 1 2 0 0 1 2 Pivot Si vous observez les opérations de ligne dans les exemples présentés ci-dessus, vous constaterez que la plupart de ces opérations divisent une ligne par son élément correspondant dans la diagonale principale. Cet élément est appelé élément pivot ou simplement pivot. Dans de nombreuses situations, il est possible que l’élément pivot devienne zéro, auquel cas l’on ne peut pas diviser la ligne par son pivot. De même, pour améliorer la solution numérique d’un système d’équations en utilisant l’élimination de Gauss ou de GaussJordan, il est recommandé que le pivot soit l’élément avec la plus grande valeur absolue de la colonne donnée. Dans de tels cas, nous permutons les colonnes avant d’effectuer les opérations de ligne. Cette permutation de lignes est appelée pivot partiel. Pour suivre cette recommandation il est souvent nécessaire de permuter les lignes de la matrice augmentée tout en effectuant l’élimination gaussienne ou de Gauss-Jordan. Tout en effectuant le pivot dans une procédure d’élimination de matrice, vous pouvez davantage améliorer la solution numérique en sélectionnant comme pivot l’élément ayant la plus grande valeur absolue dans la colonne et la ligne concernées. Cette opération peut nécessiter de permuter non seulement des lignes mais aussi des colonnes dans certaines opérations de pivot. Lorsque des permutations de lignes et de colonnes sont autorisées dans le pivot, la procédure est appelée pivot complet. Lorsque l’on échange des lignes ou des colonnes lors d’un pivot partiel ou complet, il est nécessaire de bien suivre les permutations parce que l’ordre des inconnues dans la solution est altéré par ces permutations. Une façon de ne pas se perdre dans les permutations de colonnes lors d’une procédure de pivot partiel ou complet consiste à créer une matrice de permutation P = In×n, au début de la procédure. Toute permutation de ligne ou de colonne exigée dans la matrice augmentée Aaug est aussi consignée respectivement comme Page 11-37 permutation de ligne ou de colonne dans la matrice de permutation. Une fois que la solution a été obtenue, nous multiplions la matrice de permutation par le vecteur des inconnues x afin d’obtenir l’ordre des inconnues dans la solution. En d’autres termes, la solution finale est donnée par P⋅x = b’, où b’ est la dernière colonne de la matrice augmentée après que la solution a été trouvée. Exemple d’élimination de Gauss-Jordan avec pivot complet Illustrons le pivot complet par un exemple. Résoudre le système d’équations suivant en utilisant le pivot complet et la procédure d’élimination de GaussJordan : X + 2Y + 3Z = 2, 2X + 3Z = -1, 8X +16Y- Z = 41. La matrice augmentée et la matrice de permutation se présentent comme suit : A aug 1 0 0 1 2 3 2 = 2 0 3 − 1, P = 0 1 0. 0 0 1 8 16 − 1 41 Enregistrez la matrice augmentée dans la variable AAUG, puis appuyez sur ‚ @AAUG pour obtenir une copie dans la pile. Nous voulons garder la commande CSWP (Column Swap) facile d’accès et, pour ce faire, nous utilisons : ‚N~~cs~ (trouver CSWP), @@OK@@. Vous obtenez un message d’erreur, appuyez sur $, et ignorez le message. Ensuite, rendez le menu ROW facile d’accès en appuyant sur : „Ø @)CREAT @)@ROW@. Nous sommes maintenant prêts à commencer l’élimination de Gauss-Jordan avec pivot complet. Nous aurons besoin de garder une trace de la matrice de permutation sous la main, donc prenez une feuille et notez la matrice P présentée précédemment. Page 11-38 Tout d’abord, nous vérifions le pivot a11. Nous remarquons que l’élément avec la plus grande valeur absolue dans la première ligne et première colonne est la valeur de a31 = 8. Puisque nous voulons que ce nombre soit le pivot, nous allons permuter les lignes 1 et 3 en utilisant : 1#3L @RSWP. La matrice augmentée et la matrice de permutation se présentent maintenant comme suit : 8 2 1 16 0 2 -1 3 3 41 -1 2 0 0 1 0 1 0 0 0 1 Après avoir vérifié que le pivot est en position (1,1) nous trouvons maintenant que 16 est un meilleur pivot que 8, par conséquent, nous effectuons une permutation de colonnes comme suit : 1#2‚N@@OK@@ @RSWP. La matrice augmentée et la matrice de permutation se présentent maintenant comme suit : 16 0 2 8 2 1 -1 3 3 41 -1 2 0 0 1 1 0 0 0 1 0 Maintenant nous avons la plus grande valeur possible en position (1,1), ce qui signifie que nous avons effectué un pivot complet à (1,1). Ensuite, nous continuons de diviser par le pivot : 16Y1L @RCI@ . La matrice de permutation ne change pas mais la matrice augmentée se présente maintenant comme suit :] 1 0 2 1/2 -1/16 41/16 2 3 -1 1 3 2 0 0 1 1 0 0 0 1 0 L’étape suivante consiste à éliminer le 2 de la position (3,2) en utilisant : 2\#1#3@RCIJ 1 0 1/2 -1/16 41/16 2 3 -1 0 1 0 0 1 0 Page 11-39 0 0 25/8 -25/8 0 1 0 Après avoir rempli de zéros les éléments de la colonne 1 en dessous du pivot, nous pouvons maintenant continuer et vérifier le pivot en position (2,2). Nous trouvons que le nombre 3 en position (2,3) sera un meilleur pivot et par conséquent nous permutons les colonnes 2 et 3 en utilisant : 2#3 ‚N@@@OK@@ 1 0 0 -1/16 3 25/8 1/2 41/16 2 -1 0 -25/82 0 1 0 1 0 0 0 0 1 Ayant vérifié le pivot à la position (2,2), nous trouvons maintenant que la valeur de 25/8, à la position (3,2), est supérieure à 3. Par conséquent, nous échangeons les lignes 2 et 3 en utilisant : 2#3 L@RSWP 1 0 0 -1/16 25/8 3 1/2 41/16 0 -25/8 2 -1 0 0 1 1 0 0 0 1 0 Nous sommes maintenant prêts à diviser le ligne 2 par le pivot 25/8, en utilisant ³ 8/25™#2 L @RCI 1 0 0 -1/16 1/2 1 0 3 2 41/16 -1 -1 0 1 0 0 0 1 1 0 0 Ensuite, nous éliminons le 3 de la position (3,2) en utilisant : 3\# 2#3@RCIJ 1 0 0 -1/16 1/2 1 0 0 2 41/16 -1 2 0 1 0 0 1 0 0 1 0 Après avoir rempli de zéros les éléments de la colonne en dessous du pivot, nous pouvons maintenant continuer et vérifier le pivot en position (3,3). La valeur actuelle de 2 étant supérieure à ½ ou 0, nous ne changeons donc rien Page 11-40 à la matrice. Nous divisons la totalité de la troisième ligne par 2 pour convertir le pivot à 1, en utilisant : 2Y3@RCI 1 0 0 -1/16 1/2 1 0 0 1 41/16 -1 1 0 1 0 0 0 1 1 0 0 Ensuite, nous continuons en éliminant le ½ en position (1,3) en utilisant : 2 Y \#3#1@RCIJ 1 0 0 -1/16 1 0 0 0 1 33/16 -1 1 0 0 1 1 0 0 0 1 0 Enfin, nous éliminons le–1/16 de la position (1,2) en utilisant : 16 Y # 2#1@RCIJ 1 0 0 0 1 0 0 0 1 2 -1 1 0 1 0 0 0 1 1 0 0 Nous avons maintenant une matrice identité dans la partie de la matrice augmentée correspondant au coefficient original de la matrice A et par conséquent nous pouvons continuer pour obtenir la solution, tout en rendant compte des permutations de lignes et de colonnes codées dans la matrice de permutation P. Nous identifions le vecteur des inconnues x, le vecteur indépendant modifié b’ et la matrice de permutation P comme suit : 0 1 0 2 X x = Y , b' = − 1, P = 0 0 1. 1 0 0 1 Z La solution est donnée par P⋅x=b’, ou Page 11-41 0 1 0 X 3 0 0 1 ⋅ Y = − 1. 1 0 0 Z 1 Ce qui donne comme résultat : Y 3 Z = − 1. X 1 Procédure pas à pas sur la calculatrice pour résoudre des systèmes linéaires Dans l’exemple que nous venons de présenter, il s’agit, bien sûr, de la procédure pas à pas, pilotée par l’utilisateur, pour utiliser le pivot complet pour une élimination de Gauss-Jordan visant à résoudre des systèmes d’équations linéaires. Vous pouvez consulter la procédure pas à pas utilisée par la calculatrice pour résoudre un système d’équations, sans l’intervention de l’utilisateur, en paramétrant l’option étape par étape du CAS de la calculatrice, comme suit : Ensuite, pour cet exemple particulier, en mode RPN, utilisez : [2,-1,41] ` [[1,2,3],[2,0,3],[8,16,-1]] `/ La calculatrice affiche une matrice augmentée consistant en les coefficients de la matrice A et de la matrice identité I, tout en affichant, en même temps, la prochaine procédure à calculer : Page 11-42 L2 = L2-2⋅L1 signifie “remplacer la ligne 2 (L2) avec l’opération L2 – 2⋅L1. Si nous avions effectué cette opération à la main, elle aurait correspondu à : 2\#1#1@RCIJ. Appuyez sur @@@OK@@@, et suivez les opérations à l’écran de la calculatrice. Vous allez voir les opérations suivantes s’exécuter : L3=L3-8⋅L1, L1 = 2⋅L1--1⋅L2, L1=25⋅L1--3⋅L3, L2 = 25⋅L2-3⋅L3, Et finalement un message indiquant “Reduction result” s’affiche : Quand vous appuyez sur @@@OK@@@ , la calculatrice renvoie le résultat final [1 2 –1]. Calcul de la matrice inverse pas à pas Le calcul de la matrice inverse peut être considéré comme le calcul de la solution du système augmenté [A | I ]. Par exemple, pour la matrice A utilisée à l’exemple précédent, nous écririons la matrice augmentée comme A aug ( I ) 1 2 3 1 0 0 = 3 − 2 1 0 1 0. 4 2 − 1 0 0 1 Pour voir les étapes intermédiaires dans le calcul de l’inverse, saisissez juste la matrice A présentée ci-dessus et appuyez sur Y, tout en gardant l’option étape par étape activée dans le CAS de la calculatrice. Utilisez la commande suivante : [[ 1,2,3],[3,-2,1],[4,2,-1]] `Y Après être passée par les différentes étapes, la solution retournée est : Page 11-43 Ce que la calculatrice a affiché n’est pas exactement une élimination de Gauss-Jordan avec pivot complet, mais une façon de calculer la matrice inverse en effectuant une élimination de Gauss-Jordan, sans pivot. Cette procédure pour calculer l’inverse est basée sur la matrice augmentée (Aaug)n×n = [A n×n |In×n]. La calculatrice vous a montré les étapes jusqu’au stade où la moitié de gauche de la matrice augmentée est convertie en matrice diagonale. A partir de là, l’étape finale consiste à diviser chacune des lignes par le pivot de la diagonale principale correspondante. En d’autres termes, la calculatrice a transformé (Aaug)n×n = [A n×n |In×n] en [I |A-1]. Matrices inverses et déterminants Notez que tous les éléments d’une matrice inverse calculés ci-dessus sont divisés par la valeur 56 ou l’un de ses facteurs (28, 7, 8, 4 or 1). Si vous calculez le déterminant de la matrice A, vous obtenez det(A) = 56. Nous pourrions écrire, A-1 = C/det(A), où C est la matrice 8 8 0 C = 7 − 13 8 . 14 6 − 8 Le résultat (A-1)n×n = C n×n /det(A n×n), est un résultat général qui s’applique à n’importe quelle matrice non singulière A. Une forme générale pour les éléments de C peut s’écrire en se basant sur l’algorithme de Gauss-Jordan. Page 11-44 En se basant sur l’équation A-1 = C/det(A), ébauchée ci-dessus, la matrice inverse, A-1, n’est pas définie si det(A) = 0. Par conséquent, la condition det(A) = 0 définit aussi une matrice singulière. Résolution de systèmes linéaires en utilisant les fonctions de la calculatrice La façon la plus simple de résoudre des équations linéaires A⋅x = b dans la calculatrice est de saisir b, saisir A puis d’utiliser la fonction division /. Si le système d’équations linéaires est sur-déterminé ou sous-déterminé, une “solution” peut être produite en utilisant la fonction LSQ (Least-SQuares), comme indiqué précédemment. La calculatrice, cependant, offre d’autres possibilités pour résoudre des systèmes linéaires d’équations en utilisant des fonctions contenues dans le menu MATRICES’ LINEAR SYSTEMS.. accessible via „Ø (paramétrer l’indicateur système 117 sur CHOOSE boxes) : Les fonctions incluses sont LINSOLVE, REF, rref, RREF et SYST2MAT. Fonction LINSOLVE La fonction LINSOLVE prend comme argument un ensemble d’équations et un vecteur contenant le nom des inconnues et produit la solution au système linéaire. Les écrans suivants montrent l’entrée de la fonction Aide (voir Chapitre 1) pour la fonction LINSOLVE et les exemples correspondants affichés dans l’entrée. L’écran de droite montre le résultat en utilisant l’éditeur de ligne (appuyez sur ˜ pour l’activer) : Page 11-45 Voici un exemple en mode ALG : Saisissez les données suivantes : LINSOLVE([X-2*Y+Z=-8,2*X+Y-2*Z=6,5*X-2*Y+Z=-12], [X,Y,Z]) pour produire la solution : [X=-1,Y=2,Z = -3]. La fonction LINSOLVE travaille avec des expressions symboliques. Les fonctions REF, rref et RREF travaillent avec la matrice inverse dans une approche d’élimination gaussienne. Les fonctions REF, rref, RREF La forme triangulaire supérieure à laquelle la matrice augmentée est réduite pendant la phase d’élimination en avant de la procédure gaussienne s’appelle forme en "échelon". La fonction REF (Reduce to Echelon Form) produit une telle matrice à partir de la matrice augmentée saisie au niveau 1 de la pile. Considérons la matrice augmentée A aug 1 − 2 1 0 = 2 1 − 2 − 3. 5 − 2 1 12 représentant un système linéaire d’équations A⋅x = b, où A = [[1,-2,1],[2,1,-2],[5,-2,1]], et b = [[0],[-3],[12]]. Saisissez la matrice augmentée et enregistrez-la dans la variable AAUG, en mode ALG : [[1,-2,1,0],[2,1,-2,-3][5,-2,1,12] A AUG L’application de la fonction REF donne : Page 11-46 Le résultat est la matrice de forme haut de triangle (forme en échelon) des coefficients résultant de l’étape d’élimination en avant de la procédure d’élimination gaussienne. La matrice diagonale qui résulte d’une élimination de Gauss-Jordan est appelée forme en échelon réduite à une ligne. La fonction RREF ( RowReduced Echelon Form) Les résultats du recours à cette fonction sont la production de la forme en échelon réduite à une ligne, de telle sorte que la matrice de coefficients soit réduite à une matrice identité. La colonne supplémentaire dans la matrice augmentée contiendra la solution au système d’équations. A titre d’exemple, nous montrons le résultat de l’application de la fonction RREF à la matrice AAUG en mode ALG : Le résultat est une matrice augmentée finale résultant de l’élimination de Gauss-Jordan sans pivot. On peut obtenir une matrice augmentée de forme réduite en échelon à une ligne (row-reduced echelon form) en utilisant la fonction rref. Cette fonction produit une liste de pivots et une matrice équivalente sous forme d’échelon réduite à une ligne, de sorte que la matrice de coefficient soit réduite à une matrice diagonale. Page 11-47 Par exemple, pour la matrice AAUG, la fonction rref produit le résultat suivant : Le deuxième écran ci-dessus est obtenu en activant l’éditeur de ligne (appuyez sur ˜). Le résultat montre les pivots 3, 1, 4, 1, 5, et 2, ainsi qu’une matrice diagonale réduite. Fonction SYST2MAT Cette fonction convertit un système d’équations linéaires en son équivalent de matrice augmentée. L’exemple suivant est disponible dans la fonction Aide de la calculatrice : Le résultat est la matrice augmentée correspondant au système d’équations : X+Y = 0 X-Y =2 Erreurs résiduelles dans la résolution de systèmes linéaires (Fonction RSD) La fonction RSD calcule le résidu ReSiDuals ou erreurs dans la solution de l’équation matricielle A⋅x=b, représentant un système de n équations linéaires et n inconnues. Nous pouvons envisager la résolution de ce système comme la résolution de l’équation matricielle : f(x) = b -A⋅x = 0. Supposons que, par une méthode numérique, nous produisions comme première approximation la Page 11-48 solution x(0). En évaluant f(x(0)) = b - A⋅x(0) = e ≠ 0. Par conséquent, e est un vecteur de restes de la fonction pour le vecteur x = x (0). Pour utiliser la fonction RSD vous avez besoin des termes b, A, et x(0), comme arguments. Le vecteur retourné est e = b - A⋅x(0). Par exemple, en utilisant A = [[2,-1][0,2]], x(0) = [1.8,2.7], et b = [1,6], nous pouvons trouver le vecteur de restes comme suit : Le résultat est e = b - A⋅x(0) = [ 0.1 0.6 ]. Note: Si nous admettons que le vecteur ∆x = x – x (0), représente la correction dans les valeurs de x (0), nous pouvons écrire une nouvelle équation matricielle pour ∆x, à savoir A⋅∆x = e. En résolvant ∆x nous pouvons en fait trouver la solution du système original puisque x = x(0) + ∆x. Valeurs propres et vecteurs propres Etant donné une matrice carrée A, nous pouvons écrire l’équation à valeur propre A⋅x = λ⋅x, Où les valeurs de λ qui satisfont l’équation sont connues comme les valeurs propres de la matrice A. Pour chaque valeur de λ, nous pouvons trouver, à partir de la même équation, les valeurs de x qui satisfont l’équation à valeur propre. Ces valeurs de x sont appelées vecteurs propres de la matrice A. L’équation à valeur propre peut donc être écrite comme (A – λ⋅I)x = 0. Cette équation aura une solution non triviale seulement si la matrice (A – λ⋅I) est singulière, c’est-à-dire si det(A – λ⋅I) = 0. La dernière équation génère une équation algébrique impliquant un polynôme d’ordre n pour une matrice carrée An×n. L’équation qui en résulte est appelée polynôme caractéristique de la matrice A. La résolution du polynôme caractéristique de la matrice produit les valeurs propres de la matrice. Page 11-49 La calculatrice propose plusieurs fonctions qui donnent des informations concernant les valeurs propres et vecteurs propres d’une matrice carrée. Certaines de ces fonctions sont situées dans le menu MATRICES/EIGEN, activé par „Ø. Fonction PCAR La fonction PCAR génère le polynôme caractéristique d’une matrice carrée en utilisant le contenu de la variable VX (une variable réservée du CAS, généralement égale à ‘X’) comme inconnue du polynôme. Par exemple, saisissez la matrice suivante en mode ALG et trouvez l’équation caractéristique en utilisant PCAR: [[1,5,-3],[2,-1,4],[3,5,2]] En utilisant la variable λ pour représenter les valeurs propres, ce polynôme caractéristique doit être interprété comme λ 3-2λ 2-22λ +21=0. Fonction EGVL La fonction EGVL (Valeur propres) produit les valeurs propres d’une matrice carrée. Par exemple, les valeurs propres de la matrice présentée ci-dessous sont calculées en mode ALG en utilisant la fonction EGVL : Page 11-50 Les valeurs propres λ = [ -√10, √10 ]. Note: Dans certains cas, il se peut que vous ne puissiez pas trouver une solution " exacte" au polynôme caractéristique et vous obtiendrez une liste vide comme résultat de l’utilisation de la fonction EGVL. Si cela devait vous arriver, changez le mode de calcul à Approx dans le CAS et recommencez votre calcul. Par exemple, en mode exact, l’exercice suivant produit une liste vide pour toute solution : Changez le mode à Approx et recommencez la saisie pour obtenir les valeurs propres suivantes : [(1.38,2.22), (1.38,-2.22), (-1.76,0)]. Fonction EGV La fonction EGV (Valeurs propres et vecteurs propres) produit les valeurs propres et vecteurs propres d’une matrice carrée. Les vecteurs propres sont retournés sous forme de colonnes d’une matrice, tandis que les valeurs propres correspondantes sont retournées comme composantes d’un vecteur. Par exemple, en mode ALG mode, les vecteurs propres et les valeurs propres de la matrice qui sont énumérés ci-dessous sont trouvés en appliquant la fonction EGV: Page 11-51 Le résultat montre les valeurs propres comme colonnes de la matrice dans la liste de résultat. Pour voir les valeurs propres, nous pouvons utiliser la formule : GET(ANS(1),2), ce qui revient à obtenir le deuxième élément dans la liste du résultat précédent. Les valeurs propres sont : En résumé, λ1 = 0.29, x1 = [ 1.00,0.79,–0.91]T, λ2 = 3.16, x2 = [1.00,-0.51, 0.65] T, λ3 = 7.54, x1 = [-0.03, 1.00, 0.84] T. Note: Une matrice symétrique produit toutes les valeurs propres réelles et ses vecteurs propres sont mutuellement perpendiculaires. Pour l’exemple juste présenté, vous pouvez vérifier que x1 •x2 = 0, x1 •x3 = 0, et x2 •x3 = 0. Fonction JORDAN La fonction JORDAN a pour but de produire la diagonalisation ou décomposition en cycles de Jordan d’une matrice. En mode RPN, étant donnée la matrice carrée A, la fonction JORDAN produit quatre résultats, à savoir : • • • Le polynôme minimal de la matrice A (niveau de pile 4) Le polynôme caractéristique de la matrice A (niveau de pile 3) Une liste avec les vecteurs propres correspondants à chaque valeur propre de la matrice A (niveau de pile 2) Page 11-52 • Un vecteur avec les vecteurs propres de la matrice A (niveau de pile 4) Par exemple, essayez de poser cet exercice en mode RPN : [[4,1,-2],[1,2,-1],[-2,-1,0]] JORDAN Le résultat est le suivant : 4: 3: 2: 1: ‘X^3+-6*x^2+2*X+8’ ‘X^3+-6*x^2+2*X+8’ {} {} Le même exercice, en mode ALG, donne le résultat présenté sur les saisies d’écran suivantes : Fonction MAD Cette fonction, bien qu’elle ne soit pas disponible dans le menu EIGEN, fournit aussi des informations relatives aux valeurs propres d’une matrice. La fonction MAD est disponible par l’intermédiaire du sous-menu MATRICES OPERATIONS („Ø) et a pour but de produire la matrice adjointe à la matrice. En mode RPN, la fonction MAD génère plusieurs propriétés d’une matrice carrée, à savoir : • • • • Le déterminant (niveau de pile 4) L’inverse formelle (niveau de pile 3), Au niveau de pile 2, les coefficients matriciels du polynôme p(x) défini par (x⋅I-A) ⋅p(x)=m(x)⋅I, Le polynôme caractéristique de la matrice (niveau de pile 1) Page 11-53 Notez que l’équation (x⋅I-A)⋅p(x)=m(x)⋅I est similaire, dans sa forme, à l’équation à valeur propre A⋅x = λ⋅x. Par exemple, en mode RPN, essayez : [[4,1,-2] [1,2,-1][-2,-1,0]] MAD Le résultat est : 4: 3: 2: 1: -8. [[ 0.13 –0.25 –0.38][-0.25 0.50 –0.25][-0.38 –0.25 –0.88]] {[[1 0 0][0 1 0][0 0 1]] [[ -2 1 –2][1 –4 –1][-2 –1 –6] [[-1 2 3][2 –4 2][3 2 7]]} ‘X^3+-6*x^2+2*X+8’ Le même exercice, en mode ALG, donnera un résultat identique à ce qui suit : Factorisation de matrices La factorisation de matrices ou décomposition consiste à obtenir des matrices, qui, une fois multipliées, produisent une matrice donnée. Nous présentons la décomposition matricielle à travers l’utilisation des fonctions contenues dans le menu matriciel FACT. Vous pouvez accéder à ce menu par l’intermédiaire de „Ø. Page 11-54 Les fonctions contenues dans ce menu sont : LQ, LU, QR,SCHUR, SVD, SVL. Fonction LU La fonction LU prend comme données d’entrée une matrice carrée A et renvoie une matrice triangulaire supérieure L, une matrice triangulaire supérieure U et une matrice de permutation P, aux niveaux de pile respectifs 3, 2 et 1. Les résultats L, U, et P, satisfont l’équation P⋅A = L⋅U. Quand vous avez recours à la fonction LU, la calculatrice effectue une décomposition Crout LU de A en utilisant un pivot partiel. Par exemple, en mode RPN : [[-1,2,5][3,1,-2][7,6,5]] LU Donne : 3:[[7 0 0][-1 2.86 0][3 –1.57 –1] 2: [[1 0.86 0.71][0 1 2][0 0 1]] 1: [[0 0 1][1 0 0][0 1 0]] En mode ALG, le résultat apparaîtra comme indiqué ci-dessous : Matrices orthogonales et décomposition en valeur singulière Une matrice carrée est dite orthogonale si ses colonnes représentent des vecteurs d’unités qui sont mutuellement orthogonaux. Par conséquent, si nous prenons une matrice U = [v1 v2 … vn] où les vi, i = 1, 2, …, n, sont des vecteurs colonnes et si vi•vj = δij, où δij est la fonction delta de Kronecker, alors U est une matrice orthogonale. Ces conditions impliquent également que U⋅ UT = I. Page 11-55 La décomposition en valeur singulière (Singular Value Decomposition) (SVD) d’une matrice rectangulaire Am×n consiste à déterminer les matrices U, S, et V, de telle sorte que Am×n = U m×m ⋅S m×n ⋅V T n×n, où U et V sont des matrices orthogonales, et Sest une matrice diagonale. Les éléments de la diagonale de S sont appelés les valeurs singulières de A et sont généralement classées de telle sorte que si ≥ si+1, for i = 1, 2, …, n-1. Les colonnes [uj] de U et [vj] de V sont les vecteurs singuliers correspondants. Fonction SVD En mode RPN, la fonction SVD (Singular Value Decomposition) prend comme données d’entrée la matrice An×m, et renvoie les matrices Un×n, Vm×m, et un vecteur s aux niveaux de pile respectifs 3, 2 et 1. La dimension du vecteur s est égale au minimum des valeurs n et m. Les matrices U et V sont similaires à celles définies précédemment pour la décomposition en valeur singulière, tandis que le vecteur s représente la diagonale principale de la matrice S utilisée précédemment. Par exemple, en mode RPN : [[5,4,-1],[2,-3,5],[7,2,8]] SVD 3: [[-0.27 0.81 –0.53][-0.37 –0.59 –0.72][-0.89 3.09E-3 0.46]] 2: [[ -0.68 –0.14 –0.72][ 0.42 0.73 –0.54][-0.60 0.67 0.44]] 1: [ 12.15 6.88 1.42] Fonction SVL La fonction SVL (Singular VaLues) renvoie les valeurs singulières d’une matrice An×m comme un vecteur s dont les dimensions sont égales au minimum des valeurs n et m. Par exemple, en mode RPN, [[5,4,-1],[2,-3,5],[7,2,8]] SVL donne [ 12.15 6.88 1.42]. Fonction SCHUR En mode RPN, la fonction SCHUR produit la Décomposition de Schur d’une matrice carrée A et retournant les matrices Q et T, aux niveaux de pile respectifs 2 et 1, de telle sorte que A = Q⋅T⋅QT, où Q est une matrice orthogonale et T est une matrice triangulaire. Par exemple, en mode RPN, [[2,3,-1][5,4,-2][7,5,4]] SCHUR Page 11-56 donne: 2: [[0.66 –0.29 –0.70][-0.73 –0.01 –0.68][ -0.19 –0.96 0.21]] 1: [[-1.03 1.02 3.86 ][ 0 5.52 8.23 ][ 0 –1.82 5.52]] Fonction LQ La fonction LQ produit la Factorisation LQ d’une matrice An×m et renvoie une matrice trapézoïdale inférieure Ln×m , une matrice orthogonale Qm×m et une matrice de permutation Pn×n aux niveaux 3, 2 et 1. Les matrices A, L, Q et P sont liées par P⋅A = L⋅Q. (une matrice trapézoïdale issue d’une matrice n×m est l’équivalent d’une matrice triangulaire issue d’une matrice n×n ). Par exemple, [[ 1, -2, 1][ 2, 1, -2][ 5, -2, 1]] LQ donne 3: [[-5.48 0 0][-1.10 –2.79 0][-1.83 1.43 0.78]] 2: [[-0.27 0.81 –0.18][ -0.36 –0.50 –0.79][-0.20 –0.78 –0.59]] 1: [[0 0 1][0 1 0][1 0 0]] Fonction QR En mode RPN, la fonction QR produit la Factorisation QR d’une matrice An×m et renvoie une matrice orthogonale Qn×n , une matrice trapézoïdale supérieure Rn×m et une matrice de permutation Pm×m au niveaux de pile 3, 2, et 1. Les matrices A, P, Q et R sont liées par A⋅P = Q⋅R. Par exemple, [[ 1,-2,1][ 2,1,-2][ 5,-2,1]] QR donne 3: [[-0.18 0.39 0.90][-0.37 –0.88 0.30][-0.91 0.28 –0.30]] 2: [[ -5.48 –0.37 1.83][ 0 2.42 –2.20][0 0 –0.90]] 1: [[1 0 0][0 0 1][0 1 0]] Note: Des exemples et des définitions de toutes les fonctions de ce menu sont disponibles dans la fonction Aide de la calculatrice. Effectuez ces exercices en mode ALG pour voir les résultats dans ce mode. Formes quadratiques d’une matrice Une forme quadratique d’une matrice carrée A est une expression polynomiale créée par x⋅A⋅xT. Par exemple, si nous utilisons A = [[2,1, Page 11-57 –1][5,4,2][3,5,–1]], et x = [X Y Z]T, la forme quadratique correspondante est calculée comme suit 2 1 − 1 X x ⋅ A ⋅ x = [ X Y Z ] ⋅ 5 4 2 ⋅ Y 3 5 − 1 Z 2X + Y − Z = [ X Y Z ] ⋅ 5 X + 4Y + 2 Z 3 X + 5Y − Z T x⋅A⋅xT = 2X2+4Y2-Z2+6XY+2XZ+7ZY Finalement : Le menu QUADF La calculatrice HP 49 G dispose du menu QUADF pour les opérations liées aux formes QUADratiques. On peut accéder au menu QUADF par l’intermédiaire de „Ø. Ce menu comprend les fonctions AXQ, CHOLESKY, GAUSS, QXA et SYLVESTER. Fonction AXQ En mode RPN, la fonction AXQ produit la forme quadratique correspondant à la matrice An×n au niveau de pile 2 en utilisant les n variables d’un vecteur placé au niveau de pile 1. La fonction renvoie la forme quadratique au niveau de pile 1 et le vecteur de variables au niveau de pile 1. Par exemple, donne [[2,1,-1],[5,4,2],[3,5,-1]] ` ['X','Y','Z'] ` AXQ 2: ‘2*X^2+(6*Y+2*Z)*X+4*Y^2+7*Z*y-Z^2’ 1: [‘X’ ‘Y’ ‘Z’] Page 11-58 Fonction QXA La fonction QXA prend comme argument une forme quadratique au niveau de pile 2 et un vecteur de variable au niveau de pile 1 et renvoie la matrice carrée A dont la forme quadratique est dérivée au niveau de pile 2 et la liste de variables au niveau de pile 1. Par exemple, 'X^2+Y^2-Z^2+4*X*Y-16*X*Z' ` ['X','Y','Z'] ` QXA donne 2: [[1 2 –8][2 1 0][-8 0 –1]] 1: [‘X’ ‘Y’ ‘Z’] Représentation diagonale d’une forme quadratique A partir d’une matrice carrée symétrique A, il est possible de " diagonaliser" la matrice A en trouvant une matrice orthogonale P telle que PT⋅A⋅P = D, où D est la matrice diagonale. Si Q = x⋅A⋅xT est une forme quadratique basée sur A, il est possible d’écrire la forme quadratique Q de telle sorte qu’elle contienne uniquement une variable y, telle que x = P⋅y, en utilisant Q = x⋅A⋅xT = (P⋅y)⋅A⋅ (P⋅y)T = y⋅(PT⋅A⋅P)⋅yT = y⋅D⋅yT. Fonction SYLVESTER La fonction SYLVESTER prend comme argument une matrice carrée symétrique A et renvoie un vecteur contenant les termes diagonaux de la matrice diagonale D et une matrice P, telle que PT⋅A⋅P = D. Par exemple, [[2,1,-1],[1,4,2],[-1,2,-1]] SYLVESTER donne 2: [ 1/2 2/7 -23/7] 1: [[2 1 –1][0 7/2 5/2][0 0 1]] Fonction GAUSS La fonction GAUSS renvoie la représentation diagonale de la forme quadratique Q = x⋅A⋅xT en prenant comme arguments la forme quadratique au niveau de pile 2 et le vecteur de variables au niveau de pile 1. Le résultat du recours à cette fonction est le suivant : Page 11-59 • Un ensemble de coefficients représentant les termes diagonaux de D (niveau de pile 4) • Une matrice P telle que A = PT⋅D⋅P (niveau de pile 3) • La forme quadratique diagonalisée (niveau de pile 2) • La liste des variables (niveau de pile 1) Par exemple, 'X^2+Y^2-Z^2+4*X*Y-16*X*Z' ` ['X','Y','Z'] ` GAUSS donne 4: 3: 2: 1: [1 –0.333 20.333] [[1 2 –8][0 –3 16][0 0 1]] ’61/3*Z^2+ -1/3*(16*Z+-3*Y)^2+(-8*z+2*Y+X)^2‘ [‘X’ ‘Y’ ‘Z’] Applications linéaires Le menu LINEAR APPLICATIONS est disponible par l’intermédiaire de „Ø. La fonction Aide de la calculatrice présente des informations sur les fonctions classées dans ce menu. Les illustrations présentent les entrées de la fonction Aide et les exemples qui y sont liés. Fonction IMAGE Page 11-60 Funktion ISOM Funktion KER Funktion MKISOM Page 11-61 Chapitre 12 Graphiques Dans ce chapitre, nous introduirons certaines des possibilités graphiques de la calculatrice. Nous présenterons des graphiques de fonctions en coordonnées cartésiennes et en coordonnées polaires, à partir de points paramétrés, de graphiques de cônes, de barres d’histogramme, de diagrammes de dispersion et de graphiques rapides 3D. Options graphiques de la calculatrice Pour accéder à la liste des formats graphiques disponibles sur la calculatrice, utiliser la séquence de touches „ô(D) Notez que si vous utilisez le mode RPN, vous devez appuyer simultanément sur ces deux touches pour activer n’importe laquelle des fonctions graphiques. Une fois que vous avez activé la fonction 2D/3D, la calculatrice affichera la fenêtre de configuration PLOT SETUP qui contient le champ TYPE tel qu’illustré ci-dessous. Juste en face du champ TYPE, vous verrez, très probablement, l’option Function surlignée. Il s’agit du type de graphique par défaut de la calculatrice. Pour voir la liste des types de graphiques disponibles, appuyez sur l’indicateur de menu @CHOOS. Un menu déroulant s’affiche avec les options suivantes (utilisez les flèches de direction haut et bas pour consulter toutes les options) : Page 12-1 Elles sont décrites ci-dessous. Function : Pour les équations de la forme y = f(x) en coordonnées de plan cartésiennes. Polar : Pour les équations de la forme r = f(θ) en coordonnées polaires dans un plan . Parametric : Pour tracer des équations de la forme x = x(t), y = y(t) Diff Eq : Pour tracer la solution numérique de l’équation linéaire différentielle Conic : Pour tracer les équations coniques (cercles, ellipses, hyperboles, paraboles) Truth : Pour tracer les inégalités dans un plan Histogram : Pour tracer les histogrammes de fréquence (applications statistiques) Bar : Pour tracer des histogrammes en barre simples Scatter : Pour tracer les diagrammes de dispersion d’ensemble de données discrètes (applications statistiques) Slopefield : Pour tracer les traces des isoclines d’une fonction f(x,y) = 0. Fast3D : Pour tracer les surfaces incurvées dans l’espace Wireframe : Pour tracer des surfaces incurvées dans l’espace montrant des grilles en tracé filaire Ps-Contour : Pour tracer les contours des surfaces Y- Slice : Pour tracer une vue en tranches d’une fonction f(x,y). Gridmap : Pour tracer les parties réelle et imaginaire d’une fonction complexe Pr-Surface : Pour les surfaces paramétriques données par x = x(u,v), y = y(u,v), z = z(u,v). Page 12-2 Tracé d’une expression de forme y = f(x) Dans cette section, nous vous présentons l’exemple du tracé d’une fonction de forme y = f(x). Avant de procéder au tracé, nous devons d’abord purger la variable x, si elle est définie dans le répertoire en cours (x sera la variable indépendante dans la fonction PLOT de la calculatrice et, par conséquent, vous ne souhaitez pas qu’elle soit prédéfinie). Créez un sous-répertoire appelé 'TPLOT' (pour test plot) ou portant tout autre nom évocateur, pour effectuer l’exercice suivant : A titre d’exemple, nous allons tracer la fonction f ( x) = 1 2π exp(− x2 ) 2 • Entrez tout d’abord dans l’environnement de configuration PLOT SETUP en tapant, „ô. Assurez-vous que l’option Function est sélectionnée comme TYPE et que ‘X’ est sélectionné comme variable indépendante (INDEP). Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. La fenêtre de configuration PLOT SET UP doit ressembler à celle illustrée ci-dessous : • Note: Vous noterez qu’une nouvelle variable, appelée PPAR, s’affiche dans les désignations des touches Menu. Il s’agit de Plot PARameters. Pour voir son contenu, appuyez sur ‚@PPAR. Une explication détaillée de PPAR sera fournie ultérieurement dans ce chapitre. Appuyez sur ƒ pour supprimer cette ligne de la pile. Entrez dans l’environnement PLOT en appuyant sur „ñ (appuyez simultanément sur les deux touches en mode RPN). Appuyez sur @ADD pour entrer dans l’Editeur d’équation. On vous demandera de compléter la partie de droite d’une équation Y1(x) = . • Page 12-3 Saisir la fonction que vous voulez tracer de telle sorte que l’Editeur d’équation se présente comme suit : • Appuyez sur ` pour retourner à la fenêtre de configutaion PLOT SETUP. L’expression ‘Y1(X) = EXP(-X^2/2)/√(2*π)’ est surlignée. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Note: Deux nouvelles variables s’affichent dans les désignations des touches, à savoir EQ et Y1. Pour voir le contenu de EQ, utilisez : ‚@@@EQ@@. Le contenu de EQ est simplement le nom de la fonction ‘Y1(X)’. La variable est utilisée par la calculatrice pour enregistrer l’équation, ou les équations, à tracer. Pour afficher le contenu de Y1, appuyez sur ‚@@@Y1@@. Vous obtiendrez la fonction « will get the function » Y1(X) définie comme étant le programme : << →X ‘EXP(-X^2/2)/ √(2*π)‘ >>. Appuyez sur ƒ pour supprimer le contenu de la pile. • Entrez dans l’environnement PLOT WINDOW en appuyant sur „ò (appuyez simultanément sur les deux touches en mode RPN). Utilisez une échelle allant de –4 à 4 pour H-VIEW, puis appuyez sur @AUTO pour générer automatiquement V-VIEW. L’écran PLOT WINDOW se présente comme suit : Page 12-4 • • • • • Tracé du graphe : @ERASE @DRAW (attendre que la calculatrice ait terminé les graphes) Pour voir les étiquettes : @EDIT L @LABEL @MENU Pour restaurer le premier menu des graphiques : LL@)PICT Tracé de la courbe : @TRACE @@X,Y@@ . Utilisez ensuite les touches directionnelles droite et gauche (š™) pour vous déplacer sur la courbe. Les coordonnées du point sur lequel se trouve le curseur s’affichent en bas de l’écran. Vérifiez que pour x = 1.05 , y = 0.231. De même, vérifiez que pour x = -1.48 , y = 0.134. Voici une image du graphe en mode Trace : Pour restaurer le menu et retourner à l’environnement PLOT WINDOW, appuyez sur L@CANCL, puis L@@OK@@. Quelques opérations utiles pour la fontion PLOT Afin de discuter de ces options PLOT, nous allons modifier la fonction pour la forcer à avoir certaines racines réelles (puisque la courbe actuelle est entièrement contenue au-dessus de l’axe des abscisses, elle n’a pas de racines réelles). Appuyez sur ‚@@@Y1@@ pour obtenir la liste du contenu de la fonction Y1 dans la pile : << →X ‘EXP(-X^2/2)/ √(2*π) ‘ >>. Pour éditer cette expression, utilisez : ˜ ‚˜ ššš-0.1 Lance l’éditeur de ligne Déplace le curseur en bout de ligne Modifie l’expression Page 12-5 ` Retourne à l’affichage de la calculatrice Ensuite, enregistrez l’expression modifiée dans y en utilisant „@@@Y1@@ si vous êtes en mode RPN ou „îK @@@Y1@@ en mode ALG. La fonction f ( x) = 1 2π à exp(− tracer a maintenant l'équation suivante : 2 x ) − 0.1 2 Entrez dans l’environnement PLOT WINDOW en appuyant sur „ò (appuyez simultanément sur les deux touches en mode RPN). Conservez l’intervalle de –4 à 4 pour H-VIEW, appuyez sur ˜@AUTO pour générer la VVIEW. Pour tracer le graphe, appuyez sur @ERASE @DRAW • • • Une fois que le graphe a été tracé, appuyez sur @)@FCN! pour accéder au menu function. Avec ce menu, vous pouvez obtenir des informations complémentaires sur le tracé, telles que son intersection avec l’axe des abscisses, les racines, les pentes des lignes tangentes, la zone sous la courbe etc. Par exemple, pour trouver la racine sur la partie gauche de la courbe, déplacez le curseur près de ce point et appuyez sur @ROOT. Vous obtiendrez le résultat : ROOT: -1.6635…. Appuyez sur L pour retourner au menu. Voici le résultat de ROOT pour le tracé actuel : Si vous déplacez le curseur vers la partie droite de la courbe, en appuyant sur la touche de direction vers la droite, (™), et en appuyant sur @ROOT, le résultat est maintenant ROOT: 1.6635... La calculatrice a indiqué, avant d’afficher le graphqiue, qu’il avait été trouvé par l’intermédiaire d’une inversion du signe SIGN REVERSAL. Appuyez sur L pour retourner au menu. Page 12-6 • • • • • • • An appuyant sur @ISECT , vous obtiendrez l’intersection de la courbe avec les abscisses, qui représente essentiellement la racine. Placez le curseur exactement sur la racine et appuyez sur @ISECT. Vous obtenez le même message que précédemment, à savoir : SIGN REVERSAL, avant d’obtenir le résultat I-SECT: 1.6635…. La fonction @ISECT a pour but de déterminer l’intersection des deux courbes quelconques les plus proches de l’emplacement du curseur. Dans ce cas, où seule une courbe, à savoir Y1(X), est impliquée, l’intersection recherchée est celle de f(x) avec les abscisses. Cependant, vous devez placer le curseur précisément à la racine pour produire le même résultat. Appuyez sur L pour retourner au menu. Placez le curseur sur n’importe quel point de la courbe et appuyez sur @SLOPE pour obtenir la valeur de la pente à ce point. Par exemple, à la racine négative SLOPE: 0.16670…. Appuyez sur L pour retourner au menu. Pour déterminer le point le plus haut de la courbe, placez le curseur près du sommet de la courbe et appuyez sur @EXTR . Le résultat est EXTRM: 0.. Appuyez sur L pour retourner au menu. Les autres touches disponibles dans le premier menu sont @AREA pour calculer la zone sous la courbe et @SHADE pour ombrer une zone sous la courbe. Appuyez sur L pour voir plus d'options. Le second menu inclut une touche appelée @VIEW qui fait clignoter pendant quelques secondes l’équation tracée. Appuyez sur @VIEW. A titre alternatif, vous pouvez appuyer sur la touche @NEXQ (NEXt eQuation) pour voir le nom de la fonction, Y1(x). Appuyez sur L pour retourner au menu. La touche @@F(X)@@ donne la valeur de f(x) correspondant à la position du curseur. Placez le curseur n’importe où sur la courbe et appuyez sur @@F(X)@@. La valeur sera affichée dans le coin inférieur gauche de l’écran. Appuyez sur L pour retourner au menu. Placez le curseur sur n’importe quel point donné de la trajectoire et appuyez sur TANL pour obtenir l’équation de la ligne tangente à la courbe à ce point. L’équation sera affichée dans le coin supérieur gauche de l’écran. Appuyez sur L pour retourner au menu. Si vous appuyez sur @@F ' @@ , la calculatrice tracera la fonction dérivée, f'(x) = df/dx, ainsi que la fonction originale, f(x). Notez que les deux Page 12-7 • • courbes se coupent en deux points. Déplacez le curseur près du point d’intersection de gauche et appuyez sur @)@FCN! @ISECT, pour obtenir ISECT: (-0.6834…,0.21585). Appuyez sur L pour retourner au menu. Pour quitter l'environnement FCN, appuyez sur @)PICT (ou L@)PICT). Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur L @@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Note: La pile affichera toutes les opérations graphiques effectuées correctement identifiées. • • Entrez dans l’environnement PLOT en appuyant sur „ñ (appuyez simultanément sur les deux touches en mode RPN). Notez que le champ surligné contient maintenant la dérivée de Y1(X). Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur ‚@@EQ@@ pour vérifier le contenu de EQ. Vous remarquerez qu’elle contient une liste au lieu d’une seule expression. La liste a pour éléments une expression pour la dérivée de Y1(X) et une pour Y1(X) elle-même. A l’origine, EQ contenait uniquement Y1(x). Après avoir appuyé sur @@F' @@ dans l’environnement @)FCN@ , la calculatrice a automatiquement ajouté la dérivée de Y1(x) à la liste des équations dans EQ. Enregistrement d’un graphe pour une utilisation future Si vous voulez enregistrer votre graphe dans une variable, entrez dans l’environnement PICTURE en appuyant sur š. Ensuite, appuyez sur @EDIT LL@PICT. Cela effectue une capture de l’image actuelle dans un objet graphique. Pour retourner à l’affichage normal de la calculatrice, appuyez sur @)PICT @CANCL. Au niveau 1 de la pile, vous verrez un objet graphique décrit comme Graphic 131 × 64. Ceci peut être enregistré dans un nom de variable, appelons-le PIC1. Page 12-8 Pour afficher à nouveau l’image, rapellez le contenu de la variable PIC1 dans la pile. La pile affichera la ligne: Graphic 131 × 64. Pour voir le graphe, entrez dans l’environnement PICTURE en appuyant sur š. Effacez l’image actuelle avec @EDIT L@ERASE. Déplacez le curseur dans l’angle supérieur gauche de l’écran en utilisant les touches š et — . Pour afficher l’image actuellement au niveau 1 de la pile, appuyez sur L REPL. Pour retourner à l’affichage normal de la calculatrice, appuyez sur @)PICT @CANCL. Note: Par contrainte de place dans ce document, nous n’inclurons pas davantage de graphiques résultants des instructions du présent chapitre. L’utilisateur est invité à produire ces graphiques lui-même. Graphiques de fonction transcendantes Dans cette section nous utilisons certaines des fonctions graphiques de la calculatrice pour montrer le comportement des fonctions natural log, exponentielle, trigonométrique et hyperbolique. Vous ne verrez pas de graphiques dans ce chapitre, car nous souhaitons que vous les visualisiez sur votre calculatrice. Graphique de ln(X) Appuyez, simultanément en mode RPN, sur la touche directionnelle de gauche „ et sur la touche ô (D) pour produire la fenêtre de configuration PLOT SETUP. Le champ nommé Type est surligné. Si l’option Function n’est pas déjà sélectionnée, appuyez sur la touche menu nommée @CHOOS, utilisez les touches directionnelles haut et bas pour sélectionner Function et appuyez sur @@@OK@@@ pour terminer la sélection. Vérifiez que le champ nommé Indep: contient la variable ‘X’. Si tel n’est pas le cas, appuyez deux fois sur la touche Page 12-9 directionnelle vers le bas jusqu’à ce que le champ Indep soit surligné, appuyez sur la touche menu nommée @EDIT et modifiez la valeur de la variable pour identifier la coordonnée ‘X’. Appuyez sur @@@OK@@@ quand vous avez terminé. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Ensuite, nous allons redimensionner la fenêtre du graphique. En mode RPN, appuyez simultanément sur la touche directionnelle de gauche „ et sur la touche ñ (A) pour produire la fenêtre PLOT-FUNCTION. Si une équation est surlignée dans cette fenêtre, appuyez sur @@DEL@@ autant de fois que nécessaire pour effacer complètement le contenu de la fenêtre. Lorsque la fenêtre PLOT-FUNCTION est vide, vous obtenez le message d’invite suivant: No Equ., Press ADD. Appuyez sur la touche de menu @@ADD@!. Ceci enclenchera l'Editeur d'équation EQN avec l'expression Y1(X)= . Tapez LN(X). Appuyez sur ` pour retourner à la fenêtre PLOT-FUNCTION. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. L’étape suivante consiste à appuyer (simultanément en mode RPN) sur la touche directionnelle de gauche „ et sur la touche ò(B) pour produire la fenêtre PLOT WINDOW-FUNCTION. Selon toute vraisemblance, l’affichage montrera les intervalles de la vue horizontale (H-View) et verticale (V-View) tels que : H-View: -6.5 6.5, V-View: -3.1 3.2 Il s’agit des valeurs par défaut respectives pour les abscisses et les ordonnées de la fenêtre d’affichage des graphiques. Ensuite, changez les valeurs de H10 en utilisant 1\@@@OK@@ 10@@@OK@@@. View pour lire : H-View: -1 Ensuite, appuyez sur la touche menu, @AUTO pour laisser la calculatrice déterminer l’échelle verticale correspondant. Après quelques secondes, cette échelle s’affiche dans la PLOT WINDOW-FUNCTION. A ce stade, vous êtes prêt à produire le graphe de ln(X). Appuyez sur @ERASE @DRAW pour tracer la fonction logarithme naturel. Pour ajouter des étiquettes au graphique, appuyez sur @EDIT L@MENU. Appuyez sur @MENU pour enlever les étiquettes et obtenir une vue complète du Page 12-10 graphique. Appuyez sur L pour retourner au menu des graphiques. Appuyez sur L@)PICT pour restaurer le premier menu des graphiques. Pour déterminer les coordonnées des points de la courbe, appuyez sur @TRACE (le curseur se déplace en haut de la courbe à un point situé envion à la moitié de l’intervalle de l’échelle horizontale). Ensuite, appuyez sur (X,Y) pour voir les coordonnées de l’emplacement actuel du vecteur. Ces coordonnées se trouveront en bas de l’écran. Utiliser ensuite les touches directionnelles droite et gauche pour vous déplacer sur la courbe. Au fur et à mesure que vous déplacez le curseur le long de la courbe, les coordonnées de la courbe sont affichées en bas de l’écran. Vérifiez que quand Y:1.00E0, X:2.72E0. Il s’agit du point (e,1), puisque ln(e) = 1. Appuyez sur L pour retourner au menu des graphiques. Ensuite, nous allons trouver le point d’intersection de la courbe avec l’axe des abscisses en appuyant @)FCN @ROOT. La calculatrice retourne la valeur Root: 1, confirmant que ln(1) = 0. Appuyez sur LL@)PICT @CANCL pour retourner à l’environnement PLOT WINDOW – FUNCTION. Appuyez sur ` pour retourner en mode d’affichage normal. Vous remarquerez que la racine trouvée dans l’environnement graphique a été copiée dans la pile de la calculatrice. Note: Quand vous appuyez sur J, votre liste de variables affiche de nouvelles variables appelées @@@X@@ et @@Y1@@. Pour afficher le contenu de cette dernière variable, appuyez sur ‚@@Y1@@. Vous obtenez le programme << → X ‘LN(X)’ >> , que vous reconnaitrez comme étant le programme qui sert à définir la fonction ‘Y1(X) = LN(X)’ en utilisant „à. C'est en fait ce qui se passe si vous appliquez @@ADD@! à une fonction dans la fenêtre PLOT – FUNCTION (la fenêtre qui s’affiche quand on appuie sur ñ, simultanément en mode RPN), c’est-à-dire que la fonction est définie et ajoutée à votre liste de variables. Pour afficher le contenu de cette variable, appuyez sur ‚@@@X@@@. Une valeur de 10.275 est placée dans la pile. Cette valeur est déterminée par notre sélection pour l’affichage de l’échelle horizontale. Nous avons sélectionné un intervalle compris entre -1 et 10 pour X. Pour produire le graphe, la Page 12-11 calculatrice génère des valeurs comprises entre les limites de l’intervalle en utilisant un incrément constant et en enregistrant les valeurs générées, l’une après l’autre, dans la variable @@@X@@@ au fur et à mesure que le graphe est tracé. Pour l’intervalle horizontal, ( –1,10), l’incrément utilisé semble être 0.275. Quand la valeur de X devient supérieure à la valeur maximale de l’intervalle (dans ce cas, quand X = 10.275), le tracé du graphe s’arrête. La dernière valeur du graphe étudié est conservée dans la variable X. Effacez X et Y1 avant de continuer. Graphe d’une fonction exponentielle Tout d’abord, chargez la fonction exp(X), en appuyant, simultanément en mode RPN, sur la touche majuscule de gauche „ et sur la touche ñ (V) pour accéder à la fenêtre PLOT-FUNCTION. Appuyez sur @@DEL@@ pour retirer la fonction LN(X), si vous n’avez pas effacé Y1 comme suggéré dans la note précédente. Appuyez sur @@ADD@! et saisissez „¸~x` pour entrer EXP(X) et retourner à la fenêtre PLOT-FUNCTION. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Ensuite, appuyez, simultanément en mode RPN, sur la touche majuscule de gauche „ et sur la touche ò ( B) pour accéder à la fenêtre PLOTFUNCTION. Changez les valeurs de la vue H-View pour lire : H-View: -8 2 en utilisant 8\@@@OK@@ @2@@@OK@@@. Ensuite, appuyez sur @AUTO. Une fois que l’intervalle vertical a été calculé, appuyez sur @ERASE @DRAW pour tracer la fonction exponentielle. Pour ajouter des étiquettes au graphe, appuyez sur @EDIT L@)LABEL. Appuyez sur @MENU pour retirer les étiquettes Menu et obtenir une vue complète du graphe. Appuyez sur L L @)PICT! @CANCL pour retourner à PLOT WINDOW – FUNCTION. Appuyez sur ` pour retourner en mode d’affichage normal. La variable PPAR Appuyez sur J pour retourner au menu des variables. Dans votre Menu variables, vous devriez avoir une variable intitulée PPAR. Appuyez sur Page 12-12 ‚@PPAR pour obtenir le contenu de cette variable dans la pile. Appuyez sur la touche flèche vers le bas pour lancer l’éditeur de pile et utilisez les touches directionnelles vers le haut et vers le bas pour voir tout le contenu de PPAR. L’affichage est alors le suivant : PPAR signifie Plot PARameters, et son contenu comprend deux paires ordonnées de nombres réels (-8.,-1.10797263281) et (2.,7.38905609893), Ces paires représentent les coordonnées respectives du coin inférieur gauche et du coin supérieur droit du tracé. Ensuite, PPAR affiche le nom de la variable indépendante, X, suivi par un nombre qui spécifie l’incrément de la variable indépendante dans le tracé du graphe. La valeur affichée ici est la valeur par défaut, zero (0.), qui spécifie des incréments de X correspondant à 1 pixel dans l’affichage des graphiques. L’élément suivant de PPAR est une liste contenant d’une part les coordonnées du point d’intersection des axes du tracé, (à savoir : 0.,0.), suivie par une liste qui spécifie l’annotation tick mark sur les axes respectifs des abscisses et des ordonnées {# 10d # 10d}. Ensuite, PPAR liste le type de tracé qui sera généré, (à savoir : FUNCTION) et, finalement, l’étiquette de l’axe des ordonnées (à savoir : Y). La variable PPAR, si elle n’existe pas, est générée à chaque fois que vous créez un tracé. Le contenu de la fonction change en fonction du type de tracé et des options que vous sélectionnez dans la fenêtre PLOT (la fenêtre générée en appuyant simultanément sur les touches „ et ò(B). Fonctions inverses et leurs graphes Supposons que y = f(x). Si nous pouvons trouver une fonction y = g(x), telle que g(f(x)) = x, alors nous pouvons dire que g(x) est la fonction inverse de f(x). Généralement, la notation g(x) = f -1(x) est utilisée pour dénoter une fonction Page 12-13 inverse. En utilisant cette notation, nous pouvons écrire : Si y = f(x), alors x = f -1 (y). De même, f(f -1(x)) = x et f -1(f(x)) = x. Comme indiqué précédemment, les fonctions ln(x) et exp(x) sont les inverses l’une de l’autre,ce qui signifie que : ln(exp(x)) = x et exp(ln(x)) = x. Ceci peut être vérifié avec la calculatrice en saisissant et évaluant les expressions suivantes dans l’Editeur d’équation : LN(EXP(X)) et EXP(LN(X)). Elles devraient toutes deux être égales à X. Quand une fonction f(x) et son inverse f -1(x) sont tracées simultanément dans le même système d’axes, leurs graphes sont des reflets l’un de l’autre sur la ligne y = x. Vérifions ce fait avec la calculatrice pour les fonctions LN(X) et EXP(X) en appliquant la procédure suivante : Appuyez, simultanément en mode RPN, sur „ñ. La fonctions Y1(X) = EXP(X) devrait être disponible dans la fenêtre PLOT - FUNCTION depuis l’exercice précédent. Appuyez sur @@ADD@! et saisissez la fonction Y2(X) = LN(X). De même, chargez la fonction Y3(X) = X. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez, simultanément en mode RPN, sur „ò, et changez la vue horizontale pour lire : H-View: -8 8 Appuyez sur @AUTO pour générer l’intervalle vertical. Appuyez sur @ERASE @DRAW pour produire le graphe de y = ln(x), y = exp(x), et y =x, simultanément en mode RPN. Vous remarquerez que seul le graphe de y = exp(x) est clairement visible. Une erreur s’est produite avec la sélection @AUTO de l’intervalle vertical. Ce qui se passe, c’est que quand vous appuyez sur @AUTO dans l’écran PLOT FUNCTION – WINDOW, la calcularice produit l’intervalle vertical correspondant à la première fonction dans la liste des fonctions à tracer. Laquelle, dans ce cas, se trouve être Y1(X) = EXP(X). A nous de saisir par nous-même l’intervalle vertical afin d’afficher les deux autres fonctions dans le même graphique. Page 12-14 Appuyez sur @CANCL pour retourner à l’environnement PLOT FUNCTION WINDOW. Modifiez les intervalles verticaux et horizontaux pour lire : H-View: -8 8, V-View: -4 4 En sélectionnant ces intervalles, nous nous assurons que l’échelle du graphe reste 1 en vertical pour 1 horizontal. Appuyez sur @ERASE @DRAW et vous obtiendrez les tracés des fonctions logarithme naturel, exponentielles et y = x . Il sera évident sur le graphe que LN(X) et EXP(X) sont des reflets l’une de l’autre sur la ligne y = X. Appuyez sur @CANCL pour retourner à l’environnement PLOT - FUNCTION. Appuyez sur ` pour retourner en mode d’affichage normal. Résumé du fonctionnement de la Fonction Plot Dans cette section, nous présentons des informations concernant les écrans PLOT SETUP, PLOT-FUNCTION, et PLOT WINDOW, accessibles par l’intermédiaire de la touche majuscule de gauche combinée aux touches menu A à D. Basée sur les exemples graphiques présentés ci-dessus, la procédure à suivre pour produire un tracé FUNCTION (c’est-à-dire un tracé avec une ou plusieurs fonctions Y = F(X)), est la suivante : Appuyez sur les deux touches „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. Si nécessaire, changez TYPE à FUNCTION, et saisisssez le nom de la variable indépendante. Paramétrages : • Une coche sur _Simult signifie que si vous avez deux ou plus de deux graphes dans le même graphe, ils seront tracés simultanément lors de la production du graphe. • Une coche sur _Connect signifie que la courbe sera une courbe continue plutôt qu’un ensemble de points individuels. • Une coche sur _Pixels signifie que les marques indiquées par H-Tick et V-Tick seront séparées par autant de pixels. • La valeur par défaut pour les deux est de 10 par H-Tick et V-Tick . Options des touches menu : Page 12-15 • • Utilisez @EDIT pour éditer les fonctions des valeurs dans le champ sélectionné. Utilisez @CHOOS pour sélectionner le type de tracé à utiliser quand le champ Type: est surligné. Pour les exercices que nous effectuons actuellement, nous voulons que ce champ soit paramétré sur FUNCTION. Note: les touches menu @EDIT et @CHOOS ne sont pas disponibles simultanément. L’une ou l’autre sera sélectionnée suivant le champ de saisie surligné. • • • • • • • Appuyez sur la touche menu AXES pour sélectionner ou désélectionner le tracé des axes sur le graphe. Si l’option ‘plot axes’ est sélectionnée, un point carré apparaîtra dans la désignation correspondante : @AXES . L’absence de point carré indique que les axes ne seront pas tracés dans le graphe. Utilisez @ERASE pour effacer tout graphe actuellement dans la fenêtre d’affichage des graphes. Utilisez @DRAW pour produire le graphe en fonction du contenu actuel de PPAR pour les équations affichées dans la fenêtre PLOT-FUNCTION. Appuyez sur L pour accéder au deuxième ensemble de touches menu de cet écran. Utilisez @RESET pour réinitialiser tout champ sélectionné à sa valeur par défaut. Utilisez @CANCL pour annuler tout changement dans la fenêtre de configuration PLOT SETUP et retourner à l’affichage normal de la calculatrice. Appuyez sur @@@OK@@@ pour enregistrer les changements des options de la fenêtrede configuration PLOT SETUP et retourner à l’affichage normal de la calculatrice. „ñ, simultanément en mode RPN : accéde à la fenêtre PLOT (dans ce cas elle sera PLOT –FUNCTION window). Options des touches menu : • Utilisez @EDIT pour éditer l’équation surlignée. Page 12-16 • Utilisez @@ADD@! pour ajouter de nouvelles équations au tracé. Note: @@ADD@! ou @EDIT lancent l’Editeur d’équation EQW que vous pouvez utiliser pour écrire de nouvelles équations ou pour en éditer d’anciennes. • Utilisez @@DEL@@ pour retirer l’équation surlignée. • Utilisez @CHOOS pour ajouter une équation qui est déjà définie dans votre Menu variables, mais pas affichée dans la fenêtre PLOT – FUNCTION. • Utilisez @ERASE pour effacer tout graphe actuellement dans la fenêtre d’affichage des graphes. • Utilisez @DRAW pour produire le graphe en fonction du contenu actuel de PPAR pour les équations affichées dans la fenêtre PLOT-FUNCTION. • Appuyez sur L pour accéder à la seconde liste du menu. • Utilisez @MOVE° et @MOVE³ pour déplacer l’équation sélectionnée d’un emplacement respectif vers le haut ou vers le bas. • Utilisez @CLEAR si vous voulez effacer toutes les équations actuellement actives dans la fenêtre PLOT – FUNCTION. La calculatrice vérifie si vous souhaitez vraiment effacer toutes les fonctions avant de les effacer. Sélectionnez YES et appuyez sur @@@OK@@@ pour continuer d’effacer toutes les fonctions. Sélectionnez NO et appuyez sur @@@OK@@@ pour désactiver l’option CLEAR. • Appuyez sur @@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches - „ ò, simultanémenten mode RPN - pour accéder à la PLOT WINDOW. Paramétrages : • Saisissez les limites inférieures et supérieures pour la vue horizontale (HView) et la vue verticale (V-View) des intervalles de la fenêtre de tracé. Ou • saisissez les limites inférieures et supérieures pour la vue horizontale (HView) et appuyez sur @AUTO, tandis que le curseur est dans l’un des champs V-View pour générer automatiquement l’intervalle de la vue verticale (V-View). Ou • saisissez les limites inférieures et supérieures pour la vue verticale (V-View) et appuyez sur @AUTO, tandis que le curseur est dans l’un des champs H- Page 12-17 • • View pour générer automatiquement l’intervalle de la vue horizontale (HView). La calculatrice utilisera l’intervalle de la vue horizontale (H-View) pour générer les valeurs du graphe, sauf si vous changez les options Indep Low, (Indep) High et (Indep) Step. Ces valeurs déterminent respectivement les valeurs minimales, maximales et d’incrément de la variable indépendante utilisée dans le tracé. Si l’option Default est indiquée dans les champs Indep Low, (Indep) High, et (Indep) Step, la calculatrice utilisera les valeurs minimales et maximales déterminées par H-View. Une coche sur _Pixels signifie que les valeurs des incréments (Step:) de la variable indépendante sont données en pixels plutôt qu’en coordonnées du tracé. Options des touches menu : • Utilisez @EDIT pour éditer n’importe quelle entrée de la fenêtre. • Utilisez @AUTO comme expliqué dans Paramétrages (cf. ci-dessus). • Utilisez @ERASE pour effacer tout graphe actuellement dans la fenêtre d’affichage des graphes. • Utilisez @DRAW pour produire le graphe en fonction du contenu actuel de PPAR pour les équations affichées dans la fenêtre PLOT-FUNCTION. • Appuyez sur L pour accéder à la seconde liste du menu. • Utilisez @RESET pour réinitialiser le champ sélectionné (à savoir celui dans lequel le curseur est positionné) à sa valeur d’origine. • Utilisez @CALC pour accéder à la pile de la calculatrice pour effectuer des calculs qui pourront être nécessaires pour obtenir une valeur pour l’une des options de cette fenêtre. Lorsque vous pouvez accéder à la pile de la calculatrice, vous disposez aussi des options des touches Menu @CANCL et @@@OK@@@ . • Utilisez @CANCL si vous voulez annuler le calcul en cours et retourner à l’écran PLOT WINDOW. Ou, • Utilisez @@@OK@@@ pour accepter les résultats et retourner à l’écran PLOT WINDOW. • Utilisez @TYPES pour obtenir des informations sur le type d’objets qui peuvent être utilisés dans le champ option sélectionné. • Utilisez @CANCL pour annuler tout changement à l’écran PLOT WINDOW et retourner à l’affichage normal de la calculatrice. Page 12-18 • Appuyez sur @@@OK@@@ pour accepter les changements à l’écran PLOT WINDOW et retourner à l’affichage normal de la calculatrice Appuyez sur „ó, (simultanément en mode RPN) : Trace le graphe basé sur les paramètres enregistrés dans la variable PPAR et les fonctions actuellement définies dans l’écran PLOT – FUNCTION. Si un graphe différent de celui que vous êtes en train de tracer existe déjà à l’écran d’affichage graphique, le nouveau tracé se superposera au tracé existant. Ce n’est peutêtre pas le résultat que vous recherchez et par conséquent je recommande d’utiliser les touches menu @ERASE @DRAW disponibles dans les écrans PLOT SETUP, PLOT-FUNCTION ou PLOT WINDOW. Graphiques de fonctions trigonométriques et hyperboliques et leurs inverses Les procédures utilisées précédemment pour tracer LN(X) et EXP(X), séparément ou simultanément, peuvent être utilisées pour tracer n’importe quelle fonction de forme y = f(x). Nous laissons le soin au lecteur de produire les tracés des fonctions trigonométriques et hyperboliques et leurs inverses, à titre d’exercice. Le tableau ci-dessous suggère les valeurs à utiliser pour les intervalles horizontaux et verticaux dans chacun des cas. Vous pouvez inclure la fonction Y=X lorsque vous tracez simultanément une fonction et son inverse, pour vérifier leur ‘reflet’ sur la ligne Y = X. Fonction SIN(X) ASIN(X) SIN & ASIN COS(X) ACOS(X) COS & ACOS TAN(X) ATAN(X) TAN & ATAN SINH(X) Intervalle H-View Minimum Maximum -3.15 3.15 -1.2 1.2 -3.2 3.2 -3.15 3.15 -1.2 1.2 -3.2 3.2 -3.15 3.15 -10 10 -2 -2 -2 2 Intervalle V-View Minimum Maximum AUTO AUTO -1.6 1.6 AUTO AUTO -1.6 1.6 -10 10 -1.8 1.8 -2 -2 AUTO Page 12-19 ASINH(X) SINH & ASINH COSH(X) ACOSH(X) COS & ACOS TANH(X) ATANH(X) TAN & ATAN -5 -5 -2 -1 -5 -5 -1.2 -5 5 5 2 5 5 5 1.2 5 AUTO -5 AUTO AUTO -1 AUTO AUTO -2.5 5 5 2.5 Générer une table de valeurs pour une fonction En appuyant sur la combinaison de touches „õ(E) et „ö(F), (appuyer simultanément sur les deux touches en mode RPN), l’utilisateur obtient une table de valeurs des fonctions. Par exemple, nous allons créer une table pour la fonction Y(X) = X/(X+10), sur l’échelle -5 < X < 5 en suivant les instructions ci-dessous : • • • • Nous allons générer des valeurs de la fonction f(x), définie ci-dessus, pour des valeurs de x comprises entre –5 et 5, par incréments de 0.5. Tout d’abord, nous devons nous assurer que le type de graphe est paramétré sur FUNCTION dans la fenêtre de configuration PLOT SETUP („ô, appuyez simultanément sur les deux touches en mode RPN). Le champ en face de l’option Type est surlignée. Si ce champ n’est pas déjà paramétré sur FUNCTION, appuyez sur la touche Menu @CHOOS et sélectionnez l’option FUNCTION, puis appuyez sur @@@OK@@@. Ensuite, appuyez sur ˜ pour surligner le champ en face de l’option EQ, et saisissez l’expression de la fonction: ‘X/(X+10)’ Pour accepter les changements effectués sur l’écran PLOT SETUP, appuyez sur L @@@OK@@@. Vous retournez à l’affichage normal de la calculatrice. L’étape suivante consiste à accéder à l’écran de paramétrage de la table en utilisant la combinaison de touches „õ (c’est-à-dire la touche menu E) – appuyez simultanément sur les deux touches en mode RPN). Un écran s’affiche sur lequel vous pouvez sélectionner la valeur de début (Start) et (Step). Saisissez alors les données suivantes: 5\ @@@OK@@@ 0. 5 @@@OK@@@ 0.5 @@@OK@@@ (c’est-à-dire : facteur de zoom = 0.5). Appuyez sur la touche menu @@CHK jusqu’à ce qu’une coche apparaisse Page 12-20 en face de l’option Small Font (petite police de caractère) si vous souhaitez activer cette option. Appuyez ensuite sur @@@OK@@@. Vous retournez ainsi à l’affichage normal de la calculatrice. La variable TPAR Après avoir fini l’écran de paramétrage, votre calculatrice produira une variable dénommée TPAR (Table PARameters) qui enregistre les informations concernant l'écran qui vient d'être affiché. Pour afficher le contenu de cette variable, appuyez sur ‚@TPAR. • Pour voir la table, appuyez sur „ö (c’est-à-dire la touche menu F) – appuyez simultanément sur les deux touches en mode RPN. Une table s’affiche pour les valeurs de x = -5, -4.5, …, et les valeurs correspondantes f(x), présentées en liste Y1 par défaut. Vous pouvez utiliser les touches de direction haut et bas pour vous déplacer dans la table. Vous remarquerez que nous n’avons pas eu à indiquer une valeur de fin pour la variable indépendante x. Par conséquent, la table continue au-delà de la valeur maximale suggérée de x, à savoir x = 5. Certaines des options disponibles quand la table est affichée sont @ZOOM, @@BIG@ et @DEFN : • • • L’option @DEFN, lorsqu’elle est choisie, affiche la définition de la variable indépendante. La touche @BIG@ change simplement la taille de la police de petite à grande et vice-versa. Vous pouvez l'essayer. La touche @ZOOM, si vous appuyez dessus, fait s’afficher un menu avec les options : In, Out, Decimal, Integer et Trig. Effectuez les exercices suivants : • Avec l’option In surlignée, appuyez sur @@@OK@@@. La table est reprise de telle sorte que l’incrément de x soit maintenant de 0.25 plutôt que de 0.5. Simplement, la calculatrice multiplie l’incrément original, 0.5, par le facteur de zoom, 0.5, pour produire un nouvel incrément de Page 12-21 • • • • • • • 0.25. Par conséquent, la fonction zoom in est pratique lorsque vous voulez plus de résolution pour les valeurs de x dans votre table. Pour augmenter la résolution d’un facteur supplémentaire de 0.5, appuyez sur @ZOOM, sélectionnez In une fois de plus et appuyez sur @@@OK@@@. L’incrément de x est maintenant de 0.0125. Pour restaurer l’incrément précédent, appuyez sur @ZOOM —@@@OK@@@ pour sélectionner l’option Un-zoom. L’incrément de x est augmenté à 0.25. Pour restaurer l’incrément d’origine de 0.5, vous pouvez choisir unzoom une fois de plus ou utiliser l’option zoom out en appuyant sur @ZOUT @@@OK@@@. L’option Decimal de @ZOOM produit des incréments de x de 0.10. L’option Integer de @ZOOM produit des incréments de x de 1. L’option Trig in produit des incréments liés aux fractions de π . Elle peut par conséquent être utile pour produire des tables de fonctions trigonométriques. Pour retourner à l’affichage normal de la calculatrice, appuyez sur `. Graphiques en coordonneés polaires Premièrement, vous désireriez peut-être effacer les variables des exemples précédents (par exemple : X, EQ, Y1, PPAR) en utilisant la fonction PURGE (I @PURGE). En faisant cela, tous les paramètres des graphiques seront effacés. Appuyez sur J pour vérifier que les variables ont bien été effacées. Nous allons essayer de dessiner la fonction f(θ) = 2(1-sin(θ)), comme suit : • Premièrement, vérifiez que votre calculatrice est en mode radians. • Appuyez sur les deux touches „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. • Changez TYPE sur Polar, en appuyant sur @CHOOS ˜ @@@OK@@@. • Appuyez sur ˜ et saisissez : ³2* „ Ü1-S~‚t @@@OK@@@. • Le curseur est maintenant dans le champ Indep. Appuyez sur ³~‚t @@@OK@@@ pour changer la variable indépendante sur θ. Page 12-22 • • • • • • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. • Appuyez sur les deux touches „ò, - simultanément en mode RPN - pour accéder à la fenêtre PLOT –POLAR). • Changez l’intervalle H-VIEW : de –8 à 8, en utilisant 8\@@@OK@@@8@@@OK@@@ et l’intervalle V-VIEW de : -6 à 2 en utilisant 6\@@@OK@@@2@@@OK@@@. Note: H-VIEW et V-VIEW ne déterminent que les intervalles de la fenêtre d’affichage et leurs échelles ne sont pas liées à l’échelle des valeurs de la variable indépendante dans ce cas. Changez la valeur de Indep Low à 0 et la valeur supérieure (High value) sur 6.28 (≈ 2π), en utilisant : 0@@@OK@@@ 6.28@@@OK@@@. Appuyez sur @ERASE @DRAW pour tracer la fonction en coordonnées polaires. Le résultat est une courbe en forme de cœur. Cette courbe est appelée cardiode (de cardios, le cœur, en grec). Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification. Appuyez sur L pour retourner au menu. Appuyez sur L@)PICT pour restaurer le premier menu des graphiques. Appuyez sur @TRACE @x,y@ pour tracer la courbe. Les données affichées en bas de l’écran indiquent l’angle θ et le rayon r, bien que ce dernier soit désigné par Y (nom par défaut de la variable dépendante). Appuyez sur L@CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Dans cet exercice, nous avons saisi l’équation à tracer directement dans la fenêtre de configuration PLOT SETUP. Nous pouvons également saisir des équations à tracer en utilisant la fenêtre PLOT, c’est-à-dire en appuyant, simultanément en mode RPN, sur „ñ. Par exemple, quand vous Page 12-23 appuierez sur „ñ. après avoir fini l’exercice précédent, vous obtiendrez l’équation ‘2*(1-SIN(θ))’ surlignée. Supposons que nous voulions aussi tracer la fonction ‘2*(1-COS(θ))’ en même temps que l’équation précédente. • • Appuyez sur @@ADD@! et saisissez 2*„Ü1T~‚t `, afin de saisir la nouvelle équation. Appuyez sur @ERASE @DRAW pour voir les deux équations tracées sur le même graphique. Le résultat en est deux cardioïdes qui se croisent. Appuyez sur @CANCL $ pour retourner en mode d’affichage normal. Tracer des courbes coniques La formule la plus générale d’une courbe conique sur le plan x-y est : Ax2+By2+Cxy+Dx+Ey+F = 0. Nous reconnaissons aussi comme équations coniques celles qui sont données dans leur forme canonique pour les figures suivantes : • • • • Cercle ellipse parabole hyperbole : : : : (x-xo)2+(y-yo)2 = r2 (x-xo) 2/a2 + (y-yo) 2/b2 = 1 (y-b)2 = K(x-a) or (x-a)2 = K(y-b) (x-xo) 2/a2 + (y-yo) 2/b2 = 1 or xy = K, où xo, yo, a, b, et K sont constants. Le nom de courbe conique vient du fait que ces figures (cercles, ellipses, paraboles ou hyperboles) résultent de l’intersection d’un plan avec un cône. Par exemple, un cercle est le résultat de l’intersection d’un cône avec un plan perpendiculaire à l’axe principal du cône. La calculatrice a la possibilité de tracer une ou plusieurs courbes coniques en sélectionnant Conic comme TYPE de fonction dans l’environnement PLOT. Page 12-24 Assurez-vous que vous avez effacé les variables PPAR et EQ avant de continuer. Par exemple, enregistrons la liste d’équations { ‘(X-1)^2+(Y-2)^2=3’ , ‘X^2/4+Y^2/3=1’ } dans la variable EQ. Nous reconnaissons ces équations comme celles d’un cercle centré en (1,2) avec un rayon √3 et d’une ellipse centrée en (0,0) avec des longueurs de demi-axes a = 2 et b = √3. • • • • • • • Entrez dans l’environnement PLOT, en appuyant sur „ô, simultanément en mode RPN - et sélectionnez Conic comme TYPE. La liste d’équations sera affichée dans le champ EQ. Assurez-vous que la variable indépendante (Indep) est paramétrée sur ‘X’ et la variable dépendante (Depnd) sur ‘Y’. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Entrez dans l’environnement PLOT WINDOW en appuyant sur „ò, appuyer simultanément sur les deux touches en mode RPN. Changez l’intervalle de H-VIEW de -3 à 3, en utilisant 3\ @@@OK@@@3@@@OK@@@. Changez aussi l’intervalle de V-VIEW de -1.5 à 2, en utilisant 1.5\@@@OK@@@ 2@@@OK@@@. Changez les champs Indep Low: et High: sur Default en utilisant L @RESET alors que ces deux champs sont surlignés. Sélectionnez l’option Reset value après avoir appuyé sur @RESET. Appuyez sur @@@OK@@@ pour terminer la réinitialisation des valeurs. Appuyez sur L pour retourner en mode d’affichage normal. Tracé du graphe : @ERASE @DRAW. Page 12-25 Note: Les intervalles H-View et V-View ont été sélectionnés pour montrer l’intersection des deux courbes. Il n’existe pas de règle générale pour la sélection de ces intervalles, sauf de vous appuyer sur vos connaissances au sujet des courbes. Par exemple, pour les équations présentées ci-dessus, nous savons que le cercle s’étendra de -3+1 = -2 à 3+1 = 4 en abscisse, et de -3+2=-1 à 3+2=5 en ordonnée. De plus, l’ellipse, qui est centrée à l’origine (0,0), s’étendra de -2 à 2 en abscisse et de -√3 à √3 en ordonnée. Notez que pour le cercle et l’ellipse, la région correspondant aux extrêmes droits et gauches des courbes n’est pas tracée. C’est ce qui intervient avec tous les cercles et ellipses tracés en utilisant Conic comme TYPE. • • • Pour voir les étiquettes : @EDIT L@)LABEL @MENU Pour restaurer le menu : LL@)PICT Pour estimer les coordonnées du point d’intersection, appuyez sur la touche menu @(X,Y)@ et déplacez le curseur aussi près que possible de ces points en utilisant les touches directionnelles. Les coordonnées du curseur sont présentées à l’écran d’affichage. Par exemple, le point d’intersection gauche est proche de (-0.692, 1.67), tandis que le point d’intersection droit est proche de (1.89,0.5). • Pour restaurer le menu et retourner à l’environnement PLOT, appuyez sur L@CANCL. Pour retourner à l’affichage normal de la calculatrice, appuyez sur L@@@OK@@@. • Graphiques paramétriques Les graphiques paramétriques sur un plan sont les tracés dont les coordonnées sont générées par le système d’équations x = x(t) et y = y(t), où t est connu comme le paramètre. Un exemple d’un tel graphique est la trajectoire d’un Page 12-26 projectile, à savoir : x(t) = x0 + v0⋅COS θ0⋅t, y(t) = y0 + v0⋅sin θ0⋅t – ½⋅g⋅t2. Pour tracer des équations comme celles-ci, qui impliquent des valeurs constantes x0, y0, v0, et θ0, nous devons enregistrer les valeurs de ces paramètres dans des variables. Pour développer cet exemple, créez un sousrépertoire appelé ‘PROJM’ pour PROJectile Motion (mouvement des projectiles) et enregistrez au sein de ce sous-répertoire les variables suivantes : X0 = 0, Y0 = 10, V0 = 10 , θ0 = 30 et g = 9.806. Assurez-vous que la mesure d’angle de la calculatrice est paramétrée sur DEG. Ensuite, définissez les fonctions (en utilisant „à) : X(t) = X0 + V0*COS(θ0)*t Y(t) = Y0 + V0*SIN(θ0)*t – 0.5*g*t^2 Cela ajoute les variables @@@Y@@@ et @@@X@@@ aux désignations des touches Menu Pour produire le graphe lui-même, voici les étapes à suivre : • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. • Changez le TYPE sur Parametric, en appuyant sur @CHOOS ˜˜@@@OK@@@. • Appuyez sur ˜ et saisir ‘X(t) + i*Y(t)’ @@@OK@@@ pour définir le tracé paramétrique de cette variable complexe (les parties réelles et imaginaires de cette variable complexe correspondent aux coordonnées en abscisse et en ordonnée de la courbe.) • Le curseur est maintenant dans le champ Indep. Appuyez sur ³~„t @@@OK@@@ pour changer la variable indépendante sur t. • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. • Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre PLOT (dans ce cas, elle sera appelée fenêtre PLOT –PARAMETRIC). Plutôt que de commencer par modifier les vues horizontales et verticales, comme nous l’avons fait pour les autres types Page 12-27 • de tracés, nous allons définir les valeurs inférieures et supérieures de la variable indépendante comme suit : Sélectionnez le champ Indep Low en appuyant sur ˜˜. Changez cette valeur à 0@@@OK@@@. Ensuite, changez la valeur de High en 2@@@OK@@@. Saisissez 0. 1@@@OK@@@ comme valeur Step (c’est-à-dire incrément = 0.1). Note: Par ces paramètres, nous indiquons que le paramètre y prendra les valeurs de t = 0, 0.1, 0.2, …, etc., jusqu’à ce qu’il atteigne une valeur de 2.0. • Appuyez sur @AUTO. Cela va générer des valeurs automatiques des intervalles H-View et V-View basées sur les valeurs de la variable indépendante t et sur les définitions de X(t) et Y(t) utilisées. Le résultat apparaîtra comme indiqué ci-dessous : • • Appuyez sur @ERASE @DRAW pour dessiner les isoclines du graphique. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification. Les paramètres de la fenêtre sont tels que vous ne voyez que la moitié des étiquettes de l’axe des abscisses. • Appuyez sur L pour retourner au menu. Appuyez sur L@)PICT pour restaurer le premier menu des graphiques. Appuyez sur TRACE @(X,Y)@ pour déterminer les coordonnées de n’importe quel point du graphe. Utilisez ™ et š pour déplacer le curseur sur la • Page 12-28 • courbe. En bas de l’écran, vous verrez la valeur du paramètre t et les coordonnées du curseur sous forme (X,Y). Appuyez sur L@CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ , or L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Si vous passez en revue les intitulés de vos touches menu, vous constaterez que vous disposez maintenant des variables suivantes : t, EQ, PPAR, Y, X, g, θ0, V0, Y0, X0. Les variables t, EQ et PPAR sont générées par la calculatrice pour enregistrer les valeurs actuelles du paramètre t de l‘équation à tracer, de EQ (qui contient ‘X(t) + I∗Y(t)’) et les paramètres du tracé. Les autres variables contiennent les valeurs de constantes utilisées dans les définitions de X(t) et Y(t). Vous pouvez enregistrer différentes valeurs dans les variables et produire de nouveaux tracés paramétriques des équations de projectiles utilisées dans cet exemple. Si vous voulez effacer l’image actuelle avant de produire un nouveau tracé, vous devez accéder, au choix, aux écrans PLOT, PLOT WINDOW ou PLOT SETUP, en appuyant sur „ñ , „ò, or „ô (vous devez appuyer simultanément sur les deux touches en mode RPN). Puis appuyez sur @ERASE @DRAW. Appuyez sur @CANCL pour retourner à l’environnement PLOT, PLOT WINDOW ou PLOT SETUP. Appuyez sur $, ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Générer une table pour les équations paramétriques Dans un exemple précédent, nous avons généré une table de valeurs (X,Y) pour une expression de forme Y=f(X), représentant un graphe de type Function. Dans cette section, nous présentons la procédure pour générer une table correspondant à un tracé paramétrique. Dans ce but, nous allons profiter des équations paramétriques définies dans l’exemple précédent. • • Tout d’abord, accédons à la fenêtre TABLE SETUP en appuyant sur „õ, (simultanément en mode RPN). Pour la variable indépendante, changez la valeur de départ en 0.0 et l’incrément Step en 0.1. Appuyez sur @@@OK@@@. Générez la table en appuyant (simultanément en mode RPN) sur „ö. La table en résultant a trois colonnes représentant le Page 12-29 paramètre t et les coordonnées des points correspondants. Pour cette table, les coordonnées sont dénommées X1 et Y1. • • Utilisez les touches directionnelles, š™—˜, pour vous déplacer dans la table. Appuyez sur $ pour retourner à l’affichage normal de la calculatrice. Cette procédure pour créer une table correspondant au type de tracé actuel peut être appliquée à d’autres types de tracés. Tracé de la solution d’équations différentielle simples Le tracé d’une équation différentielle simple peut être obtenu en sélectionnant Diff Eq dans le champ TYPE de l’environnement PLOT SETUP comme suit ; supposons que nous voulions tracer x(t) à partir de l’équation différentielle dx/dt = exp(-t2), avec les conditions initiales : x = 0 à t = 0. La calculatrice permet le tracé de la solution d’équations différentielles de forme Y'(T) = F(T,Y). Dans le cas qui nous intéresse, nous prenons F(T,Y)f(t,x) = exp(-t2). Yx et Tt, par conséquent, F(T,Y)f(t,x) = exp(-t2). Avant de tracer la solution x(t), pour t = 0 à 5, effacez les variables EQ et PPAR. • • • • Appuyez sur les deux touches „ô, - simultanémenten mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Diff Eq. Appuyez sur ˜ et saisissez ³„ ¸-~ „tQ2@@@OK@@@. Le curseur est maintenant dans le champ H-Var. Il devrait indiquer HVar:0 ainsi que V-Var:1. Il s’agit du code employé par la calculatrice pour identifier les variables à tracer. H-Var:0 signifie que la variable Page 12-30 • • • • indépendante (qui sera sélectionnée plus tard) sera tracée dans l’axe horizontal. De plus, V-Var:1 signifie que la variable dépendante (nommée par défaut ‘Y’) sera tracée dans l’axe vertical. Appuyez sur ˜. Le curseur est maintenant dans le champ Indep. Appuyez sur ‚³~„t@@@OK@@@ pour changer la variable indépendante sur t. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre PLOT (dans ce cas, elle sera appelé fenêtre de configuration PLOT WINDOW– DIFF EQ). Changez les paramètres H-VIEW et V-VIEW pour lire : H-VIEW: -1 5, V-VIEW: -1 1.5 • • • • • Changez la valeur de Init en 0 et la valeur finale en 5 en utilisant : 0@@@OK@@@ 5@@@OK@@@. Les valeurs Step et Tol représentent l’incrément de la variable indépendante et la tolérance de convergence qui sera utilisée par la solution numérique. Laissons ces valeurs à leurs paramètres par défaut (si le mot default n’est pas affiché dans le champ Step: utilisez L @RESET pour réinitialiser cette valeur à sa valeur par défaut. Appuyez sur L pour retourner en mode d’affichage normal.) Appuyez sur ˜ . La valeur Init-Soln represente la valeur initiale de la solution pour démarrer le résultat numérique. Pour notre cas, nous avons comme conditions initiales x(0) = 0, par conséquent, nous devons changer cette valeur en 0.0 en utilisant 0@@@OK@@@. Appuyez sur @ERASE @DRAW pour tracer la solution de l’équation différentielle. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé et les étiquettes d’identification. Page 12-31 • • • • • • Appuyez sur L pour retourner au menu. Appuyez sur L@)PICT pour restaurer le premier menu des graphiques. Lorsque nous avons observé le graphe en cours de tracé, nous avons constaté que le graphe n’était pas très uniforme. Cela est dû au fait que le traceur utilise un incrément temporel trop grand. Pour améliorer le graphique et le rendre plus homogène, utilisez un incrément de 0.1. Essayez la combinaison de touches suivante : @CANCL ˜˜˜. 1@@@OK@@@ @ERASE @DRAW. Le tracé mettra plus de temps à s’effectuer mais la forme sera nettement plus homogène qu’auparavant. Appuyez sur @EDIT L @LABEL @MENU, pour voir les étiquettes des axes et l’incrément. Notez que les étiquettes pour les axes sont montrées comme 0 (horizontal) et 1 (vertical). Il s’agit des définitions pour les axes telles que données à l’écran de configuration PLOT WINDOW (voir précédemment ), à savoir : H-VAR (t): 0, et V-VAR(x): 1. Appuyez sur LL@)PICT pour retourner au menu et à l’environnement PICT. Appuyez sur (X,Y) pour déterminer les coordonnées de n’importe quel point du graphe. Utilisez ™et š pour déplacer le curseur dans la surface de tracé. Vous verrez les coordonnées du curseur comme (X,Y) en bas de l’écran. La calculatrice utilise respectivement X et Y comme noms par défaut pour les axes horizontaux et verticaux. Appuyez sur L@)CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur $ pour retourner en mode d’affichage normal. Plus de détails sur l’utilisation des solutions graphiques d’équations différentielles sont présentés au Chapitre 16. Page 12-32 Graphiques Truth Les graphiques Truth (vérité) sont utilisés pour produire des tracés bidimensionnels de régions qui satisfont une certaine condition mathématique qui peut être vraie ou fausse. Par exemple, supposons que nous voulions tracer la région pour X^2/36 + Y^2/9 < 1. Procéder comme suit : • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. • Modifiez TYPE pour Truth. • Appuyez sur ˜ et saisissez {‘(X^2/36+Y^2/9 < 1)','(X^2/16+Y^2/9 > 1)’} @@@OK@@@ pour définir les conditions du tracé. • Le curseur est maintenant dans le champ Indep. Laissez-le sur ‘X’ s’il est déjà paramétré sur cette variable ou changez-le en ‘X’ si nécessaire. • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. • Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT (dans ce cas, elle sera appelée PLOT WINDOW – TRUTH ). Gardons les valeurs par défaut pour l’intervalle de la fenêtre : H-View: -6.5 6.5, V-View: -3.1 3.2 (pour les réinitialiser, utilisez L @RESET (sélectionnez Reset all) @@OK@@ L). Note: si les intervalles de la fenêtre ne sont pas paramétrés sur les valeurs par défaut, la façon la plus rapide de les réinitialiser est d’utiliser L@RESET@ (sélectionnez Reset all) @@@OK@@@ L. • • Appuyez sur @ERASE @DRAW pour tracer le graphique Truth. Parce que la calculatrice échantillonne la totalité du domaine à tracer, point par point, il faut quelques minutes pour produire un tracé Truth. Le présent tracé devrait produire une ellipse ombrée de semi-axes respectifs 6 et 3 (en x et y, respectivement), centrée sur l’origine. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification. Les paramètres de la fenêtre sont tels que vous ne voyez que la moitié des étiquettes de l’axe des abscises. Appuyez sur L pour Page 12-33 retourner au menu. Appuyez sur L@)PICT pour restaurer le premier menu des graphiques. • Appuyez sur (X,Y) pour déterminer les coordonnées de n’importe quel point du graphe. Utilisez les touches directionnelles pour déplacer le curseur dans la région tracée. Vous verrez en bas de l’écran les coordonnées du curseur sous forme (X,Y). • Appuyez sur L@)CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $, ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Vous pouvez avoir plus d’une condition tracée simultanément si vous multipliez les conditions. Par exemple, pour tracer le graphique des points pour lesquels X2/36 + Y2/9 < 1, et X2/16 + Y2/9 > 1, procédez comme suit : • • • Appuyez sur les deux touches „ô - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Appuyez sur ˜ et saisissez ‘(X^2/36+Y^2/9 < 1)⋅ (X^2/16+Y^2/9 > 1)’@@@OK@@@ pour définir les conditions du tracé. Appuyez sur @ERASE @DRAW pourtracer le graphique Truth. Là encore, vous devez être patient pendant que la calculatrice produit le graphe. Si vous voulez interrompre le tracé, appuyez une fois sur $. Puis appuyez sur @CANCEL . Tracé d’histogrammes, d’histogrammes à barres et de diagrammes de dispersion Les histogrammes, les histogrammes à barres et les diagrammes de dispersion sont utilisés pour tracer des données discrètes enregistrées dans la variable réservée ΣDAT. Cette variable est utilisée non seulement pour ces types de tracé mais aussi pour toutes sortes d’applications statistiques, comme nous le montrerons au Chapitre18. A vrai dire, l’utilisation du tracé en histogramme est reporté jusqu’à ce chapitre, car le tracé d’un histogramme nécessite de procéder à un regroupement des données et à une analyse de fréquence avant le tracé actuel. Dans cette section, nous allons vous montrer comment charger des données dans la variable ΣDAT et comment tracer des histogrammes à barres et des diagrammes de dispersion. Page 12-34 Nous allons utiliser les données suivantes pour dessiner des diagrammes à barres et des diagrammes de dispersion : x 3.1 3.6 4.2 4.5 4.9 5.2 y 2.1 3.2 4.5 5.6 3.8 2.2 z 1.1 2.2 3.3 4.4 5.5 6.6 Histogramme à barres Premièrement, mettez le CAS de votre calculatrice en mode Exact. Puis saisissez les données ci-dessus dans une matrice, à savoir : [[3.1,2.1,1.1],[3.6,3.2,2.2],[4.2,4.5,3.3], [4.5,5.6,4.4],[4.9,3.8,5.5],[5.2,2.2,6.6]] ` Pour enregistrer vos données dans ΣDAT, utilisez la fonction STOΣ (disponible par la fonction de catalogue, ‚N). Appuyez sur VAR pour retourner au menu des variables. Une touche de menu appelée ΣDAT devrait s’afficher dans la pile. L’illustration ci-dessous montre l'enregistrement de cette matrice en mode ALG : Pour tracer le graphe : • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Bar. Page 12-35 • • • • • • • Une matrice sera visible dans le champ ΣDAT. Il s'agit de la matrice que nous avons enregistrée auparavant dans ΣDAT. Surlignez le champ Col:. Ce champ vous permet de choisir la colonne de ΣDAT à tracer. La valeur par défault est 1. Gardez-la pour tracer colonne 1 dans ΣDAT. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la PLOT WINDOW. Changez V-View pour afficher : V-View: 0 5. Appuyez sur @ERASE @DRAW pour dessiner l’histogramme à barres. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $, ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Le nombre de barres à tracer détermine la largeur de la barre. H- et V-VIEW sont paramétrés sur 10 par défaut. Nous avons changé le V-VIEW pour pouvoir accepter la valeur maximale de la colonne 1 de ΣDAT. Les diagrammes à barres sont utiles pour les tracés de catégories de données (soit non numériques). Imaginez que vous vouliez tracer les données de la colonne 2 de la matrice ΣDAT: • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Appuyez sur ˜˜ pour surligner le champ Col: et tapez 2 @@@OK@@@, suivi par L@@@OK@@@. Page 12-36 • • • • Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Changez V-View pour afficher : V-View: 0 6 Puis appuyez sur @ERASE @DRAW. Appuyez sur @CANCL pour retourner à l'environnement PLOT WINDOW, puis $ pour retourner à l’affichage normal de la calculatrice. Nuages de points Nous allons utiliser la même matrice ΣDAT pour produire des diagrammes de dispersion. En premier lieu, nous allons tracer les valeurs de y vs. x, puis celles de y vs. z, comme suit : • • • • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Scatter. Appuyez sur ˜˜pour surligner le champ Cols:. Tapez 1@@@OK@@@ 2@@@OK@@@ pour choisir colonne 1 comme X et colonne 2 comme Y dans le diagramme de dispersion Y-et-X. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à l'environnement PLOT WINDOW. Changez l'échelle de la fenêtre pour lire : H-View: 0 6 V-View: 0 6. Appuyez sur @ERASE @DRAW pour dessiner l’histogramme à barres. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé sans le menu et avec les étiquettes d’identification (le curseur, par contre, sera au centre du tracé) : Page 12-37 • • Appuyez sur L@)PICT pour quitter l’environnement EDIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Méthode pour tracer y contre Z : • • • • • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Appuyez sur ˜˜pour surligner le champ Cols:. Saisissez 3@@@OK@@@ 2@@@OK@@@ pour choisir la colonne 3 comme X et la colonne 2 comme Y dans la dispersion Y contre X . Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la PLOT WINDOW. Changez l'échelle de la fenêtre pour lire : H-View: 0 7, V-View: 0 7. Appuyez sur @ERASE @DRAWpour dessiner l’histogramme à barres. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé sans le menu et avec les étiquettes d’identification. Appuyez sur LL@)PICT pour quitter l’environnement EDIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Page 12-38 Isoclines Les isoclines sont utilisées pour afficher la solution d'une équation différentielle de la forme y’ = f(x,y). Ce qui est affiché dans le graphique ne représente, en fait, que des segments tangentiels aux courbes de solution, puisque y’ = dy/dx, évalué pour tous les points (x,y), représente la pente de la ligne tangente au point (x,y). Par exemple, pour afficher la solution de l'équation différentielle y’ = f(x,y) = x+y, utilisez la méthode suivante : • • • • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Slopefield. Appuyez sur ˜ et saisissez ‘X+Y’ @@@OK@@@. Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd:. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ ò - simultanément en mode RPN pour accéder à la fenêtre PLOT WINDOW. Changez l'échelle de la fenêtre pour lire : X-Left:-5, X-Right:5, Y-Near:-5, Y-Far: 5 • Appuyez sur @ERASE @DRAW pour tracer les isoclines du graphique. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé sans le menu et avec les étiquettes d’identification. • Appuyez sur LL@)PICT pour quitter l’environnement EDIT. Page 12-39 • Appuyez sur L@CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $, or L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Si vous vouliez tracer ces isoclines sur un papier, il faudrait tracer des lignes tangentes aux lignes des segments du graphique. Ces lignes sont des lignes de y(x,y) = constant, pour la solution de y’ = f(x,y). Les isoclines du graphique sont donc des outils très utiles pour visualiser des opérations particulièrement compliquées. Essayer aussi les isoclines du graphique pour la fonction y’ = f(x,y) = - (y/x)2, selon les instructions suivantes : • • • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Slopefield. Appuyez sur ˜et saisissez ‘− (Y/X)^2’ @@@OK@@@. Appuyez sur @ERASE @DRAW pour dessiner les isoclines du graphique. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé sans le menu et avec les étiquettes d’identification. Appuyez sur LL@)PICT pour quitter l’environnement EDIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Graphiques rapides 3D Les graphiques rapides 3D sont utilisés pour visualiser des surfaces tridimensionnelles représentées par des équations de forme z = f(x,y). Par exemple, si vous voulez visualiser z = f(x,y) = x2+y2, vous pouvez procéder de la manière suivante : • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Page 12-40 • • • • • • Modifiez TYPE pour Fast3D. Appuyez sur ˜ et saisissez ‘X^2+Y^2’ @@@OK@@@. Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la PLOT WINDOW. Conservez une échelle de graphique identique pour pouvoir lire : X-Left:-1, X-Right:1, Y-Near:-1, Y-Far: 1, Z-Low: -1, Z-High: 1, Step Indep: 10, Depnd: 8 Note: Les valeurs Step Indep: et Depnd: représentent le nombre de lignes de la grille qui sera utilisée pour le tracé. Plus ce nombre est grand, plus le tracé du graphe sera long, même si les graphiques sont générés à une vitesse relativement rapide. Pour l’instant, nous conserverons des valeurs par défaut de 10 et 8 pour les paramètres Step. • Appuyez sur @ERASE @DRAW pour dessiner la surface tridimensionnelle. Le résultat est une image quadrillée de la surface avec le système de coordonnées de référence affiché dans le coin inférieur gauche de l’écran. En utilisant les touches de direction (š™—˜) vous pouvez changer l’orientation de la surface. L’orientation du système de coordonnées de référence sera modifiée en conséquence. Essayez seul de changer l’orientation de la surface. Les illustrations suivantes montrent deux vues différentes du graphique : • • • Quand vous avez fini, appuyez sur @EXIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Modifiez les paramètres Step afin d’afficher : Step Indep: 20 Depnd: 16 • Appuyez sur @ERASE @DRAW pour voir le tracé de la surface. Exemples de vues : Page 12-41 • • • Quand vous avez fini, appuyez sur @EXIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur $, ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Essayez également de tracer un graphique rapide 3D pour la surface z = f(x,y) = sin (x2+y2) • • • • • • Appuyez sur les touches „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. Appuyez sur ˜ et saisissez ‘SIN(X^2+Y^2)’ @@@OK@@@. Appuyez sur @ERASE @DRAW pour dessiner tracé. Une fois fait, appuyez sur @EXIT. Appuyez sur @CANCL pour retourner à PLOT WINDOW. Appuyez sur $, ou L@@@OK@@@, pour retourner à l'affichage normal de calculatrice. Graphiques filaires Les graphiques filaires sont des graphiques des surfaces en 3-D de par z = f(x,y). Contrairement aux graphiques rapides 3D, les graphiques filaires sont des graphes statiques. L'utilisateur peut choisir la vue du graphique, c'est-àdire les coordonnées utilisées pour afficher la surface du graphe. Par exemple, pour dessiner un graphique filaire pour la surface z = x + 2y –3, utilisez ces instructions : • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Wireframe. Appuyez sur ˜ et saisissez ‘X+2*Y-3’ @@@OK@@@. Page 12-42 • • • • Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre PLOT. Conservez une échelle de graphique identique pour pouvoir lire : X-Left:-1, X-Right:1, Y-Near:-1, Y-Far: 1, Z-Low: -1, Z-High: 1, XE:0,YE:-3, ZE:0, Step Indep: 10 Depnd: 8 Les coordonnées XE, YE, ZE, s'appellent « coordonnées point de vue », c'està-dire coordonnées utilisées pour afficher le graphe. Les valeurs données cidessous sont les valeurs par défaut. Note: Les valeurs Step Indep: et Depnd: représentent le nombre de lignes de la grille qui sera utilisée pour le tracé. Plus ce nombre est grand, plus le tracé du graphe sera long, même si les graphiques sont générés à une vitesse relativement élevée. Pour l’instant, nous conserverons des valeurs par défaut de 10 et 8 pour les paramètres Step. • • • • • • Appuyez sur @ERASE @DRAW pour dessiner la surface tridimensionnelle. Le résultat est un graphique filaire de la surface. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification et l'échelle. Ce type de graphe se trouve à la partie inférieure de l'écran. Il est possible de changer la direction de regard sur graphe. Appuyez sur LL@)PICT @CANCL pour retourner à l’environnement PLOT WINDOW. Modifiez les coordinées pour pouvoir y lire : XE:0 YE:-3 ZE:3 Appuyez sur @ERASE @DRAW pour voir le tracé de la surface. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification et l'échelle. Page 12-43 Cette version du graphe prend plus d'espace que la version précédente. Nous pouvons changer à nouveau la direction de regard, pour voir une autre version de ce graphe. • • • • • Appuyez sur LL@)PICT @CANCL pour retourner à l’environnement PLOT WINDOW. Modifiez les coordonnées pour pouvoir y lire : XE:3 YE:3 ZE:3 Appuyez sur @ERASE @DRAW pour voir le tracé de la surface. Cette fois, l'ensemble des graphes se trouve à la droite de l'écran. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur $, ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Essayez également de projeter un graphique filaire pour la surface z = f(x,y) = x2+y2 • • • Appuyez sur „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. Appuyez sur ˜ et saisissez ‘X^2+Y^2’ @@@OK@@@. Appuyez sur @ERASE @DRAW pour dessiner les isoclines du graphique. Appuyez sur @EDIT L@)MENU @LABEL pour voir le tracé sans le menu et avec les étiquettes d’identification. Page 12-44 • • Appuyez sur LL@)PICT pour quitter l’environnement EDIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Graphiques Ps-Contour Les graphiques Ps-Contour sont des graphiques du contour des surfaces en trois dimensions, par z = f(x,y). Les contours sont des projections des niveaux de surface z = constante sur l'axe x-y. Par exemple, pour dessiner un graphique Ps-Contour de la surface z = x2+y2, utilisez les instructions suivantes : • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. • Modifiez TYPE pour Ps-Contour. • Appuyez sur ˜ et saisissez ‘X^2+Y^2’ @@@OK@@@. • Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd. • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. • Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la PLOT WINDOW. • Conservez une échelle de graphique identique pour pouvoir lire : X-Left:-2, X-Right:2, Y-Near:-1 Y-Far: 1, Step Indep: 10, Depnd: 8 • • Appuyez sur @ERASE @DRAW pour dessiner les isoclines du graphique. Ceci prendra du temps, donc soyez patient. Le résultat est un graphique du contour de la surface. Notez que les contours ne sont pas nécessairement continus, mais ils donnent une bonne représentation du niveau des surfaces de la fonction. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification et l'échelle. Page 12-45 • • Appuyez sur LL@)PICT @CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Essayez également de projeter un graphique contour Ps pour la surface z = f(x,y) = sin x cos y. • • • • • Appuyez sur „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. Appuyez sur ˜ et saisissez ‘SIN(X)*COS(Y)’ @@@OK@@@. Appuyez sur @ERASE @DRAW pour dessiner les isoclines du graphique. Appuyez sur @EDIT L @LABEL @)MENU pour voir le tracé sans le menu et avec les étiquettes d’identification. Appuyez sur LL@)PICT pour quitter l’environnement EDIT. Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Graphiques Y-Slice (tranche Y) Les graphiques Y-Slice sont des graphiques animés de z-vs.-y pour des valeurs différentes de x avec la fonction z = f(x,y). Par exemple, pour dessiner un graphique Y-Slice pour la surface de z = x3-xy3, utilisez la méthode cidessous : Page 12-46 • • • • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Y-Slice. Appuyez sur ˜ et saisissez ‘X^3+X*Y^3’ @@@OK@@@. Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd:. Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre PLOT. Conservez une échelle de graphique identique pour pouvoir lire : X-Left:-1, X-Right:1, Y-Near:-1, Y-Far: 1, Z-Low: -1, Z-High: 1, Step Indep: 10, Depnd: 8 • Appuyez sur @ERASE @DRAW pour dessiner la surface tridimensionnelle. La calculatrice dessinera une série de courbes sur l'écran, qui s’effaceront aussitôt. Une fois que la calculatrice a fini de dessiner toutes les courbes y-slice, ces courbes s'animeront. L'une de ces courbes est présentée cidessous. • Appuyez sur $ pour arrêter l'animation. Appuyer sur @CANCL pour retourner à l’environnement PLOT WINDOW. • Appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Essayez également de projeter un graphique contour PS pour la surface z = f(x,y) = (x+y) sin y. • Appuyez sur „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. • Appuyez sur ˜et saisissez ‘(X+Y)*SIN(Y)’ @@@OK@@@. • Appuyez sur @ERASE @DRAW pour voir le tracé de la surface. • Appuyez sur $ pour arrêter l'animation. Page 12-47 • Appuyez sur @CANCL pour retourner à l’environnement PLOT WINDOW. Puis appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice. Graphiques gridmap Les graphiques gridmap produisent une grille des courbes orthogonales représentant une fonction d'une variable complexe du type w =f(z) = f(x+iy), où z = x+iy est une variable complexe. Les fonctions correspondant à la partie réelle et imaginaire de w = Φ(x,y) + iΨ(x,y), c'est-à-dire représentant les courbes Φ(x,y) =constant et Ψ(x,y) = constant. Par exemple, pour dessiner un graphique Gridmap pour la fonction w = sin (z), utilisez: • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. • Modifiez TYPE pour Gridmap. • Appuyez sur ˜ et saisissez ‘SIN(X+i*Y)’ @@@OK@@@. • Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd:. • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. • Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre PLOT. • Conservez une échelle de graphique identique pour pouvoir lire : X-Left:-1, X-Right:1, Y-Near:-1, Y-Far: 1, XXLeft:-1, XXRight:1, YYNear:-1, yyFar: 1, Step Indep: 10, Depnd: 8 • • Appuyez sur @ERASE @DRAW pour dessiner un graphique gridmap. Le résultat en est une grille des fonctions correspondant à la partie réelle et imaginaire de la fonction complexe. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification et l'échelle. Page 12-48 • • Appuyez sur LL@)PICT @CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur $ ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice.. Voici une liste d’autres fonctions d'une variable complexe, toujours utiles à appliquer pour les graphiques ridmap : (1) (3) (5) (7) (9) SIN((X,Y)) EXP((X,Y)) TAN((X,Y)) (X,Y)^3 √ (X,Y) soit soit soit soit soit F(z) F(z) F(z) F(z) F(z) = = = = = sin(z) ez tan(z) z3 z1/2 (2)(X,Y)^2 (4) SINH((X,Y)) (6) ATAN((X,Y)) (8) 1/(X,Y) soit soit soit soit F(z) F(z) F(z) F(z) = = = = z2 sinh(z) tan-1(z) 1/z Graphique Pr-Surface Les graphiques Pr-Surface (surface paramétrique) sont utilisés pour dessiner une surface 3-D avec des coordonnées (x,y,z) représentées par x = x(X,Y), y = y(X,Y), z=z(X,Y), où X et Y sont les paramètres indépendants. Note: Les équations x = x(X,Y), y = y(X,Y), z=z(X,Y) représentent une description paramétrique de la surface. X et Y sont les paramètres indépendants. La plupart des livres utilisent les paramètres (u,v) au lieu de (X,Y). Donc, la description paramétrique de la surface est donnée comme x = x(u,v), y = y(u,v), z=z(u,v). Par exemple, pour produire un graphique Pr-Surface pour la surface x = x(X,Y) = X sin Y, y = y(X,Y) = x cos Y, z=z(X,Y)=X, utilisez : • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Pr-Surface. Appuyez sur ˜ et saisissez ‘{X*SIN(Y), X*COS(Y), X}’ @@@OK@@@. Assurez-vous que ‘X’ est sélectionné dans les variables Indep: et ‘Y’ dans les variables Depnd. Page 12-49 • • • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la PLOT WINDOW. Conservez une échelle de graphique identique pour pouvoir lire : X-Left:-1, X-Right:1, Y-Near:-1, Y-Far: 1, Z-Low: -1, Z-High:1, XE: 0, YE:-3, zE:0, Step Indep: 10, Depnd: 8 • • Appuyez sur @ERASE @DRAW pour dessiner la surface tridimensionnelle. Appuyez sur @EDIT L @LABEL @MENU pour voir le tracé avec les étiquettes d’identification et l'échelle. • Appuyez sur LL@)PICT @CANCL pour retourner à l’environnement PLOT WINDOW. Appuyez sur $, ou L@@@OK@@@, pour retourner à l’affichage normal de la calculatrice.. • La variable VPAR La variable VPAR (Volume Parameter) contient des informations concernant le « volume » utilisé pour produire un graphique tridimensionnel. Par conséquent, vous la verrez apparaître chaque fois que vous créerez un tracé à trois dimensions Fast3D, Filaire ou Pr-Surface. Graphique interactif Chaque fois que nous produisons un graphique bidimensionnel, nous trouvons sur l’écran des graphiques une touche menu intitulée @)EDIT. En appuyant sur @)EDIT, on obtient un menu qui comprend les options suivantes (appuyez sur L pour voir les fonctions additionnelles) : Page 12-50 Grâce aux exemples ci-dessus, vous avez la possibilité d’essayer les fonctions LABEL, MENU, PICT, et REPL. De nombreuses fonctions restantes, telles que DOT+, DOT-, LINE, BOX, CIRCL, MARK, DEL etc., peuvent être utilisées pour tracer des points, des lignes, des cercles etc, sur l’écran des graphiques, comme cela a été décrit précédemment. Pour voir comment utiliser ces fonctions, nous allons essayer l’exercice suivant : Commençons par mettre l’écran graphique en conformité avec les instructions suivantes : • • • • • • • • Appuyez sur les deux touches „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Function, si besoin Modifiez EQ pour ‘X’ Vérifiez que Indep: est aussi sur ‘X’ Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN - pour accéder à la fenêtre PLOT –POLAR). Changez l’échelle H-VIEW de –10 à 10, en utilisant 10\ @@@OK@@@ 10@@@OK@@@ et l’échelle V-VIEW de -5 à 5 en utilisant 5\ @@@OK@@@ 5@@@OK@@@. Appuyez sur @ERASE @DRAW pour dessiner la fonction. Page 12-51 • Appuyez sur @EDIT L @LABEL pour ajouter des étiquettes d’identification au graphe. Appuyez sur LL (ou „«) pour restaurer le menu EDIT original. Ensuite, nous illustrons l’utilisation des différentes fonctions de dessin sur l’écran graphique qui résulte de ce paramétrage. Elles nécessitent d’utiliser le curseur et les touches directionnelles (š™—˜) pour déplacer le curseur dans l’écran graphique. DOT+ et DOTQuand DOT+ est sélectionnée, les pixels seront activés chaque fois que le curseur se déplace en laissant derrière lui une trace de sa position. Quand DOT- est sélectionné, c’est l’effet inverse qui se manifeste, c’est-à-dire qu’à chaque mouvement du curseur, vous détruisez des pixels. Par exemple, utilisez les touches ™— pour déplacer le curseur quelque part au milieu du premier quart du plan x-y, puis appuyez sur @DOT+@@. L’étiquette sera sélectionnée (DOT+@). Appuyez et maintenez la touche ™ pour voir se tracer une ligne horizontale. Appuyez maintenant sur @DOT-@, pour sélectionner cette option ( @DOT-@ ). Appuyez et maintenez la touche š pour voir s’effacer la ligne que vous venez de tracer. Appuyez sur @DOT-, quand vous avez fini pour désélectionner cette option. MARK Cette commande permet à l’utilisateur de fixer un point de marquage qui peut être utilisé à plusieurs fins, telles que : • • • Commencer une ligne avec la commande LINE ou TLINE Coin d’une commande BOX Centre pour une commande CIRCLE L’utilisation de la commande MARK toute seule laisse simplement un x à l’emplacement de la marque (appuyez sur L@MARK pour la voir fonctionner). Page 12-52 LINE Cette commande est utilisée pour tracer une ligne entre deux points dans un graphe. Pour voir comment elle fonctionne, positionnez le curseur quelque part dans le premier quart de l’écran et appuyez sur „«@LINE. Une marque est placée sur le curseur pour indiquer l’origine de la ligne. Utilisez la touche ™ pour déplacer le curseur sur la droite de cet emplacement, disons d’environ un centimètre vers la droite, et appuyez sur @LINE. Une ligne est tracée entre le premier et le dernier points. Notez que le curseur à la fin de cette ligne est toujours actif, ce qui indique que la calculatrice est prête pour tracer une ligne partant de ce point. Appuyez sur ˜ pour déplacer le curseur vers le bas, disons d’environ un centimètre de plus, et appuyez une fois encore sur @LINE . Vous devriez avoir maintenant un angle droit tracé par un segment horizontal et un segment vertical. Le curseur est toujours actif. Pour le désactiver, sans du tout le déplacer , appuyez sur @LINE. Le curseur reprend sa forme normale (une croix) et la fonction LINE n’est plus active. TLINE (Toggle LINE) Déplacez le curseur dans le deuxième quart de l’écran pour voir le fonctionnement de cette option. Appuyez sur @TLINE. Une marque est placée au début de la ligne toggle. Grâce aux touches directionnelles, éloignez le curseur de ce point et appuyez sur @TLINE. Une ligne est tracée de l’emplacement actuel du curseur au point de référence sélectionné précédemment. Les pixels activés sur le tracé de la ligne seront désactivés et vice versa. Pour effacer la dernière ligne tracée, appuyez encore une fois sur @TLINE. Pour désactiver TLINE, déplacez le curseur jusqu’au point d’origine où la commande TLINE a été activée et appuyez sur @LINE @LINE. BOX Cette commande est utilisée pour tracer une boîte dans un graphe. Déplacez le curseur dans une zone libre du graphe et appuyez sur @BOX@. Ceci surligne le curseur. Déplacez le curseur avec les touches directionnelles vers un point éloigné et en diagonale par rapport à l’emplacement actuel du curseur. Appuyez à nouveau sur @BOX@ . Un rectangle est dessiné dont la diagonale joint les emplacements initiaux et finaux du curseur. La position initiale de la Page 12-53 boîte est toujours marquée par une croix. En déplaçant le curseur vers un autre endroit et en appuyant sur @BOX@ vous générez une nouvelle boîte contenant le point initial. Pour désélectionner BOX, déplacez le curseur jusqu’au point original où la commande BOX a été activée et appuyez sur @LINE @LINE. CIRCL Cette commande produit un cercle. Marquez le centre du cercle avec la commande MARK puis déplacez le curseur vers un point qui fera partie de la périphérie du cercle et appuyez sur @CIRCL. Pour désactiver CIRCL, ramenez le curseur à la position MARK et appuyez sur @LINE. Essayez cette commande en déplaçant le curseur dans une partie libre du graphe, appuyez sur @MARK. Déplacez le curseur vers un autre point, puis appuyez sur @CIRCL. Un cercle centré autour de la marque et passant par le dernier point est tracé. LABEL En appuyant sur @LABEL des étiquettes sont placées sur les axes des abscisses et des ordonnées du tracé actuel. Cette fonction a été largement utilisée pendant tout le présent chapitre. DEL Cette commande est utilisée pour retirer les parties du graphe situées entre deux marques. Déplacez le curseur jusqu’à un point dans le graphe et appuyez sur @MARK. Déplacez le curseur jusqu'à un point différent et appuyez sur @MARK une fois de plus. Puis appuyez sur @@DEL@. La section du graphe encadrée par les deux marques est effacée. ERASE La fonction ERASE efface toute la fenêtre graphique. Cette commande est disponible dans le menu PLOT ainsi que dans la fenêtre de tracé accessible via la touche menu. Page 12-54 MENU En appuyant sur @MENU on efface les dénominations des touches menu pour montrer le graphique non encombré de ces étiquettes. Pour restaurer les étiquettes, appuyez sur L. SUB Utilisez cette commande pour extraire un sous-ensemble d’un objet graphique. L’objet extrait est automatiquement placé dans la pile. Sélectionnez le sousensemble que vous voulez extraire en plaçant une marque sur un point du cercle, en déplaçant le curseur jusqu’au coin diagonal du rectangle comprenant le sous-ensemble du graphique et appuyez sur @@SUB@. Cette fonction peut être utilisée pour déplacer des parties d’un objet graphique à l’intérieur du graphe. REPL Cette commande place le contenu d’un objet graphique actuellement au niveau de pile 1 à l’emplacement du curseur de la fenêtre graphique. Le coin supérieur gauche de l’objet graphique inséré dans le graphique sera placé à l’emplacement du curseur. Par conséquent, si vous voulez qu’un graphique à partir de la pile remplisse complètement la fenêtre graphique, assurez-vous que le curseur est placé dans le coin supérieur gauche de l’affichage. PICT Cette commande place une copie du graphe actuellement dans la fenêtre graphique dans la pile sous forme d’objet graphique. L’objet graphique placé dans la pile peut être enregistré dans un nom de variable pour sa sauvegarde ou pour d’autres types de manipulations. X, Y Cette commande copie les coordonnées de l’emplacement actuel du curseur dans la pile, en coordonnées utilisateur. Zoom avant et zoom arrière dans l’affichage graphique Chaque fois que vous produisez un graphique bidimensionnel FUNCTION de manière interactive, la première touche menu, dénommée @)ZOOM, vous permet d’accéder aux fonctions qui peuvent être utilisées pour faire un zoom avant ou Page 12-55 arrière sur l’affichage graphique actuel. Le menu ZOOM comprend les fonctions suivantes (appuyez sur L pour passer au menu suivant) : Nous présentons chacune de ces fonctions ci-dessous. Vous avez juste besoin de produire un graphe comme indiqué au Chapitre 12 ou dansl’un des programmes présentés précédemment dans ce chapitre. ZFACT, ZIN, ZOUT et ZLAST En appuyant sur @)ZFACT, un écran de saisie, qui vous permet de changer les facteurs X et Y actuels, s’affiche. Les facteurs X et Y relient les échelles d’unité verticale et horizontale définies par l’utilisateur à leur échelle correspondante en pixels. Changez facteur H pour 8 et appuyez sur @@@OK@@@, puis changez facteur V pour 2. et appuyez sur @@@OK@@. Désélectionnez l’option Recenter on cursor et appuyez sur @@@OK@@. De retour à l’affichage graphique, appuyez sur @@ZIN@ . Le graphique est à nouveau tracé avec le nouveau facteur d’échelle verticale et horizontale, centré sur l’emplacement où le curseur était situé, tout en maintenant la taille PICT originale (soit le nombre original de pixels dans les deux directions). En utilisant les touches directionnelles, faites défiler horizontalement et verticalement, autant que possible, le graphe sur lequel le zoom avant a été effectué. Pour faire un zoom arrière, sujet au paramétrage des facteurs H et V par ZFACT, appuyez sur @)ZOOM @ZOUT. Le graphe résultant fournit plus de détails que le graphe avec zoom avant. Page 12-56 Vous pouvez toujours retourner à la toute dernière fenêtre de zoom en utilisant @ZLAST. BOXZ Le zoom avant et arrière sur un graphique donné peut être effectué en utilisant la touche menu BOXZ. Avec BOXZ, vous sélectionnez le secteur rectangulaire (la « boîte ») dans laquelle vous voulez effectuer le zoom avant. Déplacez le curseur sur l’un des coins de la boîte (en utilisant les touches directionnelles) et appuyez sur @)ZOOM @BOXZ. En utilisant une fois de plus les touches directionnelles, déplacez le curseur jusqu’au coin opposé de la boîte de zoom désirée. Le curseur trace la boîte de zoom à l’écran. Lorsque la boîte de zoom désirée a été sélectionnée, appuyez sur @ZOOM. La calculatrice effectuera un zoom avant sur le contenu de la boîte de zoom que vous avez sélectionnée de telle sorte qu’il remplisse la totalité de l’écran. Si vous appuyez maintenant sur @ZOUT, la calculatrice fait un zoom arrière hors de la boîte actuelle en utilisant les facteurs H et V, ; ceci risque d’empêcher la restauration de la vue du graphe dont vous êtes parti quand vous avez commencé l’opération avec la boîte de zoom. ZDFLT, ZAUTO En appuyant sur @ZDFLT, vous tracez à nouveau le graphe actuel en utilisant les échelles par défaut des abscisses et des ordonnées (à savoir : -6.5 à 6.5 en x et –3.1 à 3.1 en y). La commande @ZAUTO, d’un autre côté, crée une fenêtre de zoom en utilisant l’échelle de la variable indépendante actuelle (x), mais en ajustant l’échelle de la variable dépendante, (y) pour s’adapter à la courbe (comme quand on utilise la fonction @AUTO dans le formulaire de saisie PLOT WINDOW (appuyer sur „ò, simultanément en mode RPN). HZIN, HZOUT, VZIN et VZOUT Ces fonctions effectuent un zoom avant ou un zoom arrière sur l’écran graphique dans la direction horizontale ou verticale, suivant les facteurs H et V actuels. Page 12-57 CNTR Effectue un zoom avant avec le centre du zoom à l’emplacement actuel du curseur. Les facteurs de zoom sont les facteurs H et V actuels. ZDECI Effectue un zoom sur le graphe afin d’arrondir les limites de l’intervalle x à une valeur décimale. ZINTG Effectue un zoom sur le graphe afin que les unités pixels deviennent les unités définies par l’utilisateur. Par exemple, la fenêtre PICT minimale a 131 pixels. Quand vous utilisez ZINTG, avec le curseur au centre de l’écran, la fenêtre est soumise à un zoom de telle sorte que l’axe des abscisses s’étende de –64.5 à 65.5. ZSQR Effectue un zoom sur le graphe de telle sorte que l’échelle de tracé soit maintenue à 1:1 en ajustant l’échelle des x et en gardant l’échelle des y si la fenêtre est plus large que haute. Cela force un zoom proportionnel. ZTRIG Effectue un zoom sur le graphe de telle sorte que l’échelle des x incorpore une échelle allant d’environ –3π à +3π, l’échelle préférée pour les fonctions trigonométriques. Note: Aucune de ces fonctions n’est programmable. Elles ne sont utiles que de manière interactive. Ne confondez pas la commande @ZFACT dans le menu ZOOM avec la fonction ZFACTOR, qui est utilisée pour la dynamique des gaz et les applications de chimie (voir Chapitre 3). Le menu SYMBOLIC et les graphes Le menu SYMBOLIC est activé en appuyant sur la touche P (la quatrième touche, en partant de gauche, de la quatrième ligne depuis le haut du clavier). Page 12-58 Ce menu propose une liste de menus liés au ou système CAS (Computer Algebraic System). Voici ces fonctions : A une seule exception près, tous les menus sont accessibles directement depuis le clavier en effectuant la combinaison de touches appropriée, comme expliqué ci-dessous. La liste indique aussi le Chapitre du manuel de l’utilisateur où les menus sont décrits: ALGEBRA.. ARITHMETIC.. CALCULUS.. SOLVER.. TRIGONOMETRIC.. EXP&LN.. ‚× „Þ „Ö „Î ‚Ñ „Ð (touche 4 ) (touche 1 ) (touche 4 ) (touche 7 ) (touche 8 ) (touche 8 ) Ch. Ch. Ch. Ch. Ch. Ch. 5 5 13 6 5 5 Le menu SYMB/GRAPH Le sous-menu GRAPH du menu SYMB comprend les fonctions suivantes : DEFINE: identique à la combinaison de touches „à (touche 2 ) GROBADD: colle deux GROBs l’un par dessus l’autre (voir Chapitre 22) PLOT(function): trace une fonction, similaire à „ô PLOTADD(function): ajoute cette fonction à la liste de fonctions à tracer, similaire à „ô Plot setup..: identique à „ô Page 12-59 SIGNTAB (fonction): table de signe d’une fonction donnée montrant les intervalles des variations positives et négatives, les points zéro et les asymptotes infinies. TABVAL: table des valeurs pour une fonction TABVAR: table de variation d’une fonction Des exemples de certaines de ces fonctions sont fournis ci-dessous. PLOT (X^2-1) est similaire à „ô avec EQ: X^2 -1. L’utilisation de @ERASE @DRAW produit le tracé: PLOTADD (X^2-X) est similaire à „ô mais en ajoutant cette fonction à EQ: X^2 -1. L’utilisation de @ERASE @DRAW produit le tracé suivant : TABVAL (X^2-1,{1, 3}) produit une liste de {min max} valeurs de la fonction dans l’intervalle {1,3}, tandis que SIGNTAB(X^2-1) montre le signe de la fonction dans l’intervalle (-∞,+), avec f(x) > 0 en (-∞,-1), f(x) <0, en (-1,1), et f(x) > 0 en (1,+ ∞). TABVAR (LN(X)/X) produit la table de variation suivante : Page 12-60 Une interprétation détaillée de la table de variation est plus facile à suivre en mode RPN: Le résultat est en format graphique et après simplification, il s’agit finalement d’une table de variation. La table consiste en deux lignes, désignées du côté droit. Par conséquent, la ligne supérieure représente les valeurs de X et la deuxième ligne représente les valeurs de F. Le point d’interrogation indique une incertitude ou l'absence de définition. Par exemple, pour X<0, LN (X) n’est pas définie, par conséquent les lignes X montrent un point d’interrogation dans cet intervalle. Le juste zéro (0+0) F est infini pour X = e, F = 1/e. F croît avant d’atteindre cette valeur, comme indiqué par la flèche vers le haut, et décroît au-delà de cette valeur (X=e), devenant légèrement supérieure à zéro (+:0) quand X tend vers l’infini. Un tracé du graphe est présenté ci-dessous pour illustrer ces observations : Page 12-61 Fonction DRAW3DMATRIX Cette fonction prend comme argument une matrice n×m, Z, = [ zij ], nm, Z, = [ zij ] et des valeurs minimales et maximales pour le tracé. Vous souhaitez sélectionner les valeurs de vmin et vmax de telle sorte qu’elles contiennent les valeurs affichées dans Z. L’intitulé général de cette fonction est, par conséquent, DRAW3DMATRIX (Z,vmin,vmax). Pour illustrer l’usage de cette fonction, nous commençerons par générer une matrice 6×5 à l’aide de RANM ({6,5}) avant d’appliquer la fonction DRAW3DMATRIX, comme indiqué cidessous : Le tracé est du style d’un tracé rapide 3-D. Différentes vues du tracé sont illustrées ci-dessous: Page 12-62 Chapitre 13 Applications différentielles Dans ce chapitre, nous discuterons des applications des fonctions de la calculatrice à des opérations de type différentiel, c'est-à-dire les limites, dérivées, intégrales, séries de puissances, etc. Le menu CALC (Calculus) Plusieurs des fonctions présentées dans ce chapitre sont contenues dans le menu CALC de la calculatrice, accessible grâce à la combinaison de touches „Ö (associée à la touche 4) ; le menu CALC contient les fonctions suivantes : Les quatre premières options de ce menu sont en fait des sous-options qui s’appliquent (1) aux dérivées et intégrales (2), aux limites et séries de puissance, (3) aux équations différentielles et (4) aux graphiques. Les fonctions des entrées (1) et (2) seront présentées dans le présent chapitre. Les équations différentielles, qui font l’objet de l’élément (3), sont présentées au Chapitre 16. Les fonctions graphiques, qui font l’objet de l’élément (4), ont été présentées à la fin du Chapitre 12 : enfin, les entrées 5. DERVX et 6.INTVX permettent d’obtenir une dérivée et une intégrale indéfinie pour une fonction de la variable CAS par défaut (généralement, ‘X’). Les Fonctions DERVX et INTVX seront discutées en détail ultérieurement. Limites et dérivées Les calculs différentiels traitent des dérivées, ou taux de variation, des fonctions et de leurs applications en analyse mathématique. La dérivée d’une fonction est définie comme la limite de la différence d’une fonction lorsque Page 13-1 l’incrément de la variable indépendante tend vers zéro. Les limites sont aussi utilisées pour vérifier la continuité d’une fonction. Fonction lim La calculatrice dispose d’une fonction lim pour calculer les limites des fonctions. Cette fonction utilise comme donnée de base une expression représentant une fonction et la valeur à laquelle la limite doit être calculée. La fonction lim est disponible par le biais du catalogue de commande (‚N~„l) ou grâce à l’option 2. LIMITS & SERIES… du menu CALC (voir plus haut). Note: les fonctions disponibles dans le menu LIMITS & SERIES sont présentées ci-dessous: La fonction DIVPC permet de diviser deux polynômes afin de produire un développement en série. Les fonctions DIVPC, SERIES, TAYLOR0 et TAYLOR sont utilisées dans les développements en série de fonctions et évoquées plus en détail dans ce chapitre. La fonction lim est saisie en mode ALG comme lim(f(x),x=a) pour calculer la limite : lim f ( x) . En mode RPN, saisir d’abord la fonction puis x→ a l’expression ‘x=a’ et appuyer finalement sur « function lim ». Des exemples en mode ALG sont présentés ci-dessous, y compris quelques limites tendant vers l’infini. Les touches utilisées dans le premier exemple sont les suivantes (en mode algébrique, l’indicateur système 117 étant paramétré sur CHOOSE boxes) : „Ö2 @@OK@@ 2 @@OK@@ x+1‚í x‚Å 1` Page 13-2 Le symbole infini est associé à la touche 0 (c’est-à-dire : „è). Dérivées La dérivée d’une fonction f(x) à x = a est définie comme la limite f ( x + h) − f ( x ) df = f ' ( x) = lim h − >0 h dx Certains exemples de dérivées utilisant cette limite sont présentées dans les captures d’écran suivantes : Fonctions DERIV et DERVX La fonction DERIV est utilisée pour dériverpar rapport à n’importe quelle variable indépendante, alors que la fonction DERVX prend les dérivées par rapport à la variable par défaut du CAS VX (généralement ‘X’). Alors que seule la fonction DERVX est disponible directement dans le menu CALC, les deux fonctions sont disponibles dans le sous-menu DERIV.& INTEG du menu CALCL ( „Ö). Page 13-3 La fonction DERIV nécessite une fonction, disons f(t), et une variable indépendante, disons t, alors que la fonction DERVX ne nécessite qu’une fonction de VX. Des exemples sont montrés ci-dessous en mode ALG. Se souvenir qu’en mode RPN, les arguments doivent être saisis avant que la fonction ne soit appliquée. Le menu DERIV&INTEG Les fonctions fournies dans ce sous-menu sont également présentées ci-dessous : Parmi ces fonctions, DERIV et DERVX sont utilisées pour les dérivées. Les autres comprennent notamment des fonctions liées aux anti-dérivées et aux intégrales (IBP, INTVX, PREVAL, RISCH, SIGMA et SIGMAVX), aux séries de Fourier (FOURIER) et à l’analyse des vecteurs (CURL, DIV, HESS, LAPL). Nous évoquerons ici les fonctions DERIV et DERVX, les autres étant présentées soit plus bas dans ce chapitre, soit dans les chapitres suivants. Page 13-4 Calcul de dérivées avec ∂ La symbole est facilement accessible grâce à ‚¿ (la touche T). Ce symbole peut être utilisé pour entrer une dérivée dans la pile ou dans l’Editeur d’équations (voir Chapitre 2). Si vous utilisez ce symbole pour écrire une dérivée dans la pile, faites-le suivre immédiatement de la variable indépendante, puis de deux parenthèses entourant la fonction à différencier. Ainsi, pour calculer la dérivée d(sin(r),r), en mode ALG, utilisez : ‚¿~„r„ÜS~„r` En mode RPN, cette expression doit être placée entre guillemets avant son entrée dans la pile. Le résultat obtenu en mode ALG est le suivant : Dans l’Editeur d’équations, si vous appuyez sur ‚¿, la calculatrice fournit l’expression suivante : Le curseur d’insertion () se trouve à droite du dénominateur, afin de permettre à l’utilisateur d’entrer une variable indépendante, par exemple, s: ~„s. Appuyez ensuite sur la flèche droite (™) afin de passer au champ entre parenthèses : Entrez ensuite la fonction à différencier, par exemple, s*ln(s) : Page 13-5 Pour évaluer la dérivée dans l’Editeur d’équations, appuyez sur la flèche haut —, quatre fois afin de sélectionner l’expression entière, puis appuyez sur @EVAL. La dérivée sera évaluée ainsi dans l’Editeur d’équations : Note : le symbole ∂ est utilisé de manière formelle en mathématiques pour indiquer une dérivée partielle, c’est-à-dire la dérivée d’une fonction comprenant plusieurs variables. Toutefois, la calculatrice ne fait pas la distinction entre les dérivées ordinaires et partielles : elle utilise le même symbole dans les deux cas. L’utilisateur doit garder cette distinction à l’esprit pour traduire sur le papier les résultats de la calculatrice. La règle de la chaîne La règle de la chaîne pour les dérivées s’applique aux dérivées de fonctions composites. Une expression générale de la règle de la chaîne est : d{f[g(x)]}/dx = (df/dg)⋅ (dg/dx). Sur la calculatrice, cette formule apparaît ainsi : Page 13-6 Les termes d1 placés devant g(x) et f(g(x)) dans l’expression ci-dessus sont des abréviations utilisées par la calculatrice pour indiquer une première dérivée lorsque la variable indépendante, dans ce cas x, est clairement définie. Ainsi, ce dernier résultat est interprété comme dans la formule pour la règle de chaîne présentée ci-dessus. Voici un autre exemple d’application de la règle de chaîne : Dérivées des équations Vous pouvez utiliser la calculatrice pour calculer des dérivées d’équations, c’est-à-dire des expressions dans lesquelles des dérivées existeront de part et d’autre du signe égal. Des exemples sont affichés ci-dessous : Vous pouvez remarquer que dans les expressions où le signe dérivée (∂) ou la fonction DERIV sont utilisés, le signe égal est conservé dans l’équation, ce qui n’est pas le cas lorsque la fonction DERVX est utilisée. Dans ces circonstances, l’équation a été rédigée de nouveau, tous ses termes étant déplacés vers le côté gauche du signe égal. De même, le signe égal a été supprimé, mais il est sous-entendu que l’expression obtenue est égale à zéro. Page 13-7 Dérivées implicites Les dérivées implicites sont possibles dans les expressions telles que : Application des dérivées On peut utiliser les dérivées pour analyser les graphiques des fonctions et pour optimiser les fonctions d’une variable (c’est-à-dire pour trouver les valeurs minimale et maximale). Quelques exemples de dérivées partielles de premier ordre sont montrés ci-dessous. Analyse des graphiques de fonctions Dans le Chapitre 11, nous avons présenté certaines fonctions disponibles dans l’écran des graphiques pour l’analyse des graphiques de fonctions de type y = f(x). Ces fonctions comprennent (X,Y) et TRACE pour déterminer des points du graphique, ainsi que les fonctions des menus ZOOM et FCN. Les fonctions du menu ZOOM permettent à l’utilisateur d’agrandir un graphique pour l’analyser plus en détail. Ces fonctions sont décrites au Chapitre 12. Parmi les fonctions du menu FCN, on peut utiliser SLOPE, EXTR, F’ et TANL pour déterminer la pente d’une tangente dans le graphique, les extrêmes (minimale et maximale) de la fonction, pour tracer la dérivée et pour trouver l’équation de la tangente. Essayez l’exemple suivant pour la fonction y = tan(x). • Appuyez sur les deux touches „ô, - simultanémenten mode RPN - pour accéder à la fenêtre PLOT SETUP. • Le cas échéant, remplacez TYPE par FUNCTION, à l’aide de [@CHOOS]. • Appuyez sur ˜ et tapez l’équation ‘TAN(X)’. • Par défaut, cette variable est paramétrée comme ‘X’. • Appuyez sur L@@@OK@@@ pour retourner à l’affichage normal de la calculatrice. Page 13-8 • Appuyez sur les deux touches „ò, - simultanémenten mode RPN - pour accéder à la fenêtre PLOT SETUP. • Remplacez la plage H-VIEW par –2 à 2 et la plage V-VIEW par –5 à 5. • Appuyez sur @ERASE @DRAW pour tracer la fonction en coordonnées polaires. Ainsi se présente le tracé obtenu : • • • • Remarquez les lignes verticales représentant les asymptotes. Elles ne font pas partie du graphique, mais indiquent les points où TAN(X) passe à ± ∞ à certaines valeurs de X. Appuyez sur @TRACE @(X,Y)@, et déplacez le curseur jusqu’au point X: 1.08E0, Y: 1.86E0. Appuyez ensuite sur L@)@FCN@ @SLOPE. Le résultat est Slope: 4.45010547846. Appuyez sur LL@TANL. Cette opération produit l’équation de la tangente et trace son graphique dans la même figure. Le résultat qui s’affiche est le suivant : Appuyez sur L@PICT @CANCL $ pour revenir à l’affichage normal de la calculatrice. Remarquez que la pente et la tangente que vous avez demandées sont répertoriées dans la pile. Page 13-9 Fonction DOMAIN La fonction DOMAIN, disponible via le catalogue de commandes (‚N), fournit le domaine de définition d’une fonction sous forme de liste de nombres et de spécifications. Par exemple, indique que de –∞ à 0, la fonction LN(X) n’est pas définie (?), alors que de 0 à +∞, elle est définie (+). D’autre part, indique que la fonction n’est pas définie de –∞ à -1, ni de 1 à +∞. Le domaine de cette fonction est par conséquent -1<X<1. Fonction TABVAL Cette fonction est accessible via le catalogue de commandes ou via le sousmenu GRAPH du menu CALC. La fonction TABVAL accepte comme arguments une fonction de la variable CAS, f(X), et une liste de deux nombres représentant un domaine d’intérêt pour la fonction f(X). La fonction TABVAL retourne les valeurs d’entrée plus la plage de la fonction correspondant au domaine utilisé en entrée. Par exemple, Page 13-10 Ce résultat indique que la plage de la fonction 1 f (X ) = X 2 +1 2 26 , . 2 26 correspondant au domaine D = { -1,5 } est R = Fonction SIGNTAB La fonction SIGNTAB, disponible par le catalogue de commandes (‚N), fournit des informations sur le signe d’une fonction par le biais de son domaine. Par exemple, pour la fonction TAN(X), SIGNTAB indique que TAN(X) est négatif de –π/2 à 0, et positif de 0 à π /2. Dans ce cas, SIGNTAB ne fournit aucune information (?) pour les intervalles entre –∞ et -π /2, ni entre +π /2 et ∞. Ainsi, SIGNTAB, dans ce cas précis, donne uniquement des informations concernant le domaine principal de TAN(X), à savoir : -π /2 < X < +π /2. Un deuxième exemple de la fonction SIGNTAB est présenté ci-dessous : Dans ce cas, la fonction est négative pour X<-1 et positive pour X> -1. Fonction TABVAR Cette fonction est accessible via le catalogue de commandes ou via le sousmenu GRAPH du menu CALC. Elle utilise en entrée la fonction f(VX), où VX est la variable CAS par défaut. La fonction retourne les éléments suivants, en mode RPN : • Niveau 3: la fonction f(VX) Page 13-11 • Deux listes, la première indiquant la variation de la fonction (c’est-àdire l’endroit où elle augmente ou diminue) en fonction de variable indépendante VX, la deuxième indiquant la variation de la fonction en fonction de variable dépendante. • Un objet graphique indiquant la manière dont le tableau de variations a été calculée. Exemple : analysez la fonction Y = X3-4X2-11X+30, à l’aide de la fonction TABVAR. Utilisez ensuite la combinaison de touches suivante, en mode RPN : 'X^3-4*X^2-11*X+30' `‚N ~t(choisir TABVAR)[@@OK@@ Voici le contenu du niveau 1 de la pile dans la calculatrice: Il s’agit d’un objet graphique. Pour afficher le résultat dans son intégralité, appuyez sur ˜. Le tableau de variations de la fonction apparaît comme suit : Appuyez sur $ pour retourner en mode d’affichage normal. Appuyez sur ƒ pour supprimer ce dernier résultat de la pile. Deux listes, correspondant aux lignes supérieure et inférieure de la matrice de graphique présentée précédemment, occupent désormais le niveau 1. Ces Page 13-12 listes peuvent être utiles à des fins de programmation. Appuyez sur ƒ pour supprimer ce dernier résultat de la pile. L’interprétation du tableau de variations présenté ci-dessus est la suivante : la fonction F(X) augmente pour X dans l’intervalle (-∞, -1), atteignant un maximum égal à 36 à X = -1. Puis, F(X) diminue jusqu’à X = 11/3, atteignant un minimum de -400/27. Après cela, F(X) augmente jusqu’à +∞. De même, à X = ±∞, F(X) = ±∞. Utilisation de dérivées pour calculer les points extrêmes Les « points extrêmes » désignent les valeurs minimale et maximale d’une fonction dans un intervalle donné. Dans la mesure où la dérivée d’une fonction à un point donné représente la pente d’une tangente à la courbe en ce point, les valeurs de x pour lesquelles f’(x) =0 représentent les points où le graphique de la fonction atteint un maximum ou un minimum. De plus, la valeur de la dérivée seconde de la fonction, f”(x), en ces points détermine si le point est un maximum relatif [f”(x)<0] ou un minimum relatif ou local [f”(x)>0]. Ces idées sont illustrées dans la figure ci-dessous. Dans cette figure, nous nous limitons à déterminer les points extrêmes de la fonction y = f(x) dans l’intervalle x [a,b]. Dans cet intervalle, on trouve deux points, x = xm et x = xM, ,auxquels f’(x)=0. Le point x = xm, où f”(x)>0, représente un minimum local, alors que le point x = xM, où f”(x)<0, représente Page 13-13 un maximum local. Pour le graphique de y = f(x), il s’ensuit que le maximum absolu dans l’intervalle [a,b] se situe à x = a, alors que le minimum absolu se situe à x = b. Par exemple, pour déterminer l’endroit où apparaissent les points critiques de la fonction 'X^3-4*X^2-11*X+30', on peut utiliser les entrées suivantes en mode ALG : On trouve deux points critiques, l’un à x = 11/3 et l’autre à x = -1. Pour évaluer la dérivée seconde à chaque point, utilisez : Le dernier écran indique que f”(11/3) = 14, par conséquent, x = 11/3 est un minimum relatif. Pour x = -1, nous obtenons les indications suivantes : Ce résultat indique que f”(-1) = -14, par conséquent, x = -1 est un maximum relatif. Evaluez la fonction en ces points pour vérifier que f(-1) > f(11/3). Page 13-14 Dérivées d’ordre supérieur On peut calculer les dérivées d’ordre supérieur en appliquant une fonction de dérivation plusieurs fois, par exemple , Primitive et intégrales La primitive d’une fonction f(x) est une fonction F(x) telle que f(x) = dF/dx. Par exemple, dans la mesure où d(x3) /dx = 3x2, une anti-dérivée f(x) = 3x2 est F(x) = x3 + C, où C est une constante. On, peut représenter une anti-dérivée sous forme d’intégrale indéfinie, c’est-à-dire, seulement si, f(x) = dF/dx, et C = constante. ∫ f ( x)dx = F ( x) + C , si et Fonctions INT, INTVX, RISCH, SIGMA et SIGMAVX La calculatrice dispose des fonctions INT, INTVX, RISCH, SIGMA et SIGMAVX pour calculer des primitives de fonctions. Les fonctions INT, RISCH et SIGMA peuvent s’appliquer à des fonctions de n’importe quelle variable, alors que les fonctions INTVX et SIGMAVX utilisent des fonctions de la variable du CAS VX (généralement ‘x’). Les fonctions INT et RISCH nécessitent, par conséquent, non seulement l’expression pour la fonction à intégrer mais aussi le nom de la variable indépendante. La fonction INT, nécessite aussi une valeur de x pour laquelle l’anti-dérivée sera évaluée. Les fonctions INTVX et SIGMAVX ne nécessitent que l’expression de la fonction à intégrer en terme de VX. Quelques exemples sont illustrés ci-dessous en mode ALG : Page 13-15 Remarquez que les fonctions SIGMAVX et SIGMA sont prévues pour des intégrandes qui impliquent un certain type de fonction intégrale comme la fonction factorielle (!), illustrée précédemment. Leur résultat est ce que l’on appelle la dérivée discrète, c’est-à-dire une dérivée qui n’est définie que pour des nombres entiers. Intégrales définies Dans l’intégrale définie d’une fonction, la primitive en résultant est évaluée à la borne supérieure et inférieure d’un intervalle (a,b), les valeurs évaluées ayant été soustraites. Symboliquement, on écrit ∫ b a f ( x)dx = F (b) − F (a), avec f(x) = dF/dx. La fonction PREVAL(f(x),a,b) du CAS peut simplifier de tels calculs en retournant f(b)-f(a), x étant la variable du CAS VX. La calculatrice dispose également du symbole d’intégrale, obtenu par la combinaison de touches ‚Á (associée à la touche U ) pour calculer les intégrales définies. La solution la plus simple pour construire une intégrale consiste à utiliser l’Editeur d’équations (voir l’exemple présenté au Chapitre 2). Au sein de l’Editeur d’équations, le symbole ‚Á produit le signe de Page 13-16 l’intégrale et fournit des champs correspondant aux bornes de l’intégration (a,b), pour la fonction f(x) et pour la variable de l’intégration (x). Les captures d’écran suivantes présentent la construction d’une intégrale particulière. Le curseur d’insertion est d’abord situé à la borne inférieure de l’intégration : entrez une valeur et appuyez sur la flèche droite (™) pour passer à la borne supérieure de l’intégration. Entrez une valeur à cet endroit et appuyez de nouveau sur ™ pour passer à l’emplacement de l’intégrande. Tapez l’expression de l’intégrande et appuyez une nouvelle fois pour passer au champs du différentiel ; tapez la variable de l’intégration à cet endroit ; vous êtes prêt à calculer l’intégrale. A ce stade, vous pouvez appuyer sur ` pour retourner l’intégrale dans la pile, qui affichera l’entrée suivante (ici en mode ALG) : Il s’agit du format général de l’intégrale définie lorsqu’elle est tapée directement dans la pile, c’est-à-dire : ∫ (borne inférieure, borne supérieure, intégrande, variable d’intégration) Si vous appuyez sur ` à ce stade, vous évaluerez l’intégrale dans la pile : On peut également évaluer l’intégrale dans l’Editeur d’équations en sélectionnant l’expression entière et en utilisant la touche de menu soft @EVAL. Page 13-17 Evaluation pas à pas des dérivées et des intégrales Si l’option pas à pas de la fenêtre CAS MODES est sélectionnée (voir Chapitre 1), l’évaluation des dérivées et des intégrales sera présentée pas à pas. Par exemple, voici l’évaluation d’une dérivée dans l’Editeur d’équations : Remarquez l’application de la règle de la chaîne à la première étape, qui laisse la dérivée de la fonction sous l’intégrale explicitement dans le numérateur. A la deuxième étape, la fraction résultante est rationalisée (par élimination de la racine carrée du dénominateur) et simplifiée. La version finale apparaît à la troisième étape. Chaque étape est affichée par une pression sur la touche de menu @EVAL , jusqu’à ce qu’une application supplémentaire de la fonction EVAL n’apporte plus de modification à l’expression. L’exemple suivant présente l’évaluation d’une intégrale définie dans l’Editeur d’équations, pas à pas : Page 13-18 Remarquez que le processus pas à pas fournit des informations sur les étapes intermédiaires, suivies du CAS permettant de résoudre cette intégrale. Dans un premier temps, le CAS identifie une intégrale de racine carrée, puis une fraction rationnelle, suivie d’une deuxième expression rationnelle, pour aboutir au résultat final. Remarquez que ces étapes sont très logiques pour la calculatrice, même si les informations fournies à l’utilisateur sur les étapes individuelles sont insuffisantes. Intégration d’une équation L’intégration d’une équation est un processus simple : la calculatrice intègre les deux côtés de l’équation simultanément, par exemple , Techniques d’intégration Plusieurs techniques d’intégration peuvent être mises en oeuvre dans les calculatrices, comme l’illustrent les exemples suivants. Page 13-19 Substitution ou changement de variables Supposons que nous souhaitions calculer l’intégrale. ∫ 2 0 x 1− x2 dx Si nous utilisons le calcul pas à pas dans l’Editeur d’équations, voici la séquence des substitutions de variables : Cette deuxième étape indique la substitution appropriée à utiliser : u = x2-1. Les quatre dernières étapes présentent la progression de la solution : une racine carrée, suivie d’une fraction, d’une seconde fraction et du résultat final. Ce résultat peut être simplifié ainsi, via la fonction @SIMP, pour lire : Page 13-20 Intégration par parties et différentielles La différentielle d’une fonction y = f(x), est défini comme y = f’(x) dx, où f’(x) est la dérivée de f(x). On utilise les différentielles pour représenter les petits incréments des variables. La différentielle du produit de deux fonctions, y = u(x)v(x), est donné par dy = u(x)dv(x) +du(x)v(x), ou, plus simplement, d(uv) = udv - vdu. Ainsi, l’intégrale de udv = d(uv) - vdu, ∫ s’écrit. udv = ∫ d (uv) − ∫ vdu Par définition d’une différentielle, ∫dy = y, l’expression précédente s'écrit donc ainsi : ∫ udv = uv − ∫ vdu . Cette formulation, appelée intégration par parties, peut permettre de rechercher une intégrale si dv est facilement intégrable. Par exemple, l’intégrale ∫xexdx peut être résolue par intégration par parties si vous employez u = x, dv = exdx, puisque, v = ex. Avec du = dx, l’intégrale devient ∫xexdx = ∫udv = uv - ∫vdu = xex - ∫exdx = xex - ex. La calculatrice fournit la fonction IBP, sous le menu CALC/DERIV&INTG, laquelle accepte comme arguments la fonction originelle à intégrer, à savoir u(X)*v’(X), et la fonction v(X), et retourne u(X)*v(X) et -v(X)*u’(X). En d’autres termes, la fonction IBP retourne les deux termes de droite de l’équation en intégration par parties. Pour l’exemple utilisé ci-dessus, on peut écrire en mode ALG : Ainsi, on peut utiliser la fonction IBP pour fournir les composants d’une intégration par parties. L’étape suivante devra être effectuée séparément. Il est important de mentionner que l’intégrale peut être calculée directement, par exemple à l’aide de : Page 13-21 Intégration par fractions partielles La fonction PARTFRAC, présentée au Chapitre 5, fournit la décomposition d’une fraction en fractions partielles. Cette technique est utile pour réduire une fraction complexe en une somme de fractions simples qui peuvent ensuite être intégrées terme par terme. Par exemple, pour intégrer ∫ X5 +5 dX X 4 + 2X 3 + X on peut décomposer la fraction en ses fractions partielles composantes, comme suit : L’intégration directe produit le même résultat, avec certaines inversions de termes (mode Rigorous paramétré dans le CAS – voir Chapitre 2) : Intégrales généralisée Il s’agit d’intégrales présentant des bornes d’intégration infinies. Généralement, on traite une intégrale généralisée en calculant d’abord l’intégrale en tant que limite à l’infini, par exemple, Page 13-22 ∫ ∞ 1 ε dx dx . = lim ε→∞ ∫ 1 x 2 x2 En utilisant la calculatrice, on procède comme suit : On peut aussi calculer l’intégrale jusqu’à l’infini à partir du début, par exemple, Intégration avec des unités Une intégrale peut être utilisée avec des unités incorporées dans les bornes de l’intégration, comme indiqué dans l’exemple ci-dessous du mode ALG, le système CAS étant paramétré sur mode Approx. La figure du côté gauche indique l’intégrale affichée dans la pile avant le appui sur `. La figure du côté droit indique le résultat après appui sur `. Si vous entrez l’intégrale, alors que le système CAS est paramétré sur mode Exact, il vous sera proposé de changer en mode Approx, par contre les Page 13-23 bornes de l’intégrale seront affichées dans un format différent de celui cidessous : Ces bornes représentent 1×1_mm et 0×1_mm, ce qui est pareil que 1_mm et 0_mm, comme précédemment. Faites attention avec les différents types de format. Quelques remarques sur l’utilisation des unités dans les bornes des intégrations : 1 – Les unités de la borne inférieure d’intégration seront celles qui seront utilisées pour afficher le résultat final, comme indiqué dans les deux exemples ci-dessous : 2 – Les unités de la borne supérieure doivent être cohérentes avec les unités de la borne inférieure. Sinon, la calculatrice affiche l’intégrale initiale. Par exemple, 3 – L’intégrande peut aussi avoir des unités. Par exemple : Page 13-24 4 – Si les bornes de l’intégration et l’intégrande ont des unités, les unités sont combinées selon les règles de l’intégration. Par exemple, Séries infinies ∞ Une série infinie se présente sous la forme ∑ h ( n)( x − a ) n . La série infinie n = 0 ,1 débute généralement par les indices n = 0 ou n = 1. Chaque terme de la série possède un coefficient h(n) qui dépend de l’indice n. Séries de Taylor et Maclaurin Une fonction f(x) peut être développée en des séries infinies autour d’un x=x0 en utilisant les séries de Taylor, à savoir, ∞ f ( x) = ∑ n =0 f ( n ) ( xo ) ⋅ ( x − xo ) n , n! où f(n)(x) représente la dérivée n-th de f(x) par rapport à x, f(0)(x) = f(x). Si la valeur de x0 = 0, on appelle ces séries Séries de Maclaurin. Page 13-25 ∞ f ( x) = ∑ n =0 f ( n ) ( 0) n ⋅x n! Polynôme de Taylor et rappel Dans la pratique, on ne peut pas évaluer tous les termes d’une série infinie ; on effectue une approximation de la série par un polynôme de l’ordre k, Pk(x), et on estime l’ordre d’un reste, Rk(x), tel que k f ( x) = ∑ n =0 ∞ f ( n ) ( xo ) f ( n ) ( xo ) ⋅ ( x − xo ) n + ∑ ⋅ ( x − xo ) n , n! n! n = k +1 f ( x) = Pk ( x) + Rk ( x). c’est-à-dire, Le polynôme Pk(x) est appelé polynôme de Taylor. L’ordre du reste est estimé en termes d’une petite quantité h = x-x0, c’est-à-dire par l’évaluation du polynôme à une valeur de x très proche de x0. Le reste est obtenu par Rk ( x ) = f ( k +1) (ξ ) k +1 ⋅h , k! où ξ est un nombre proche de x = x0. Dans la mesure où ξ est habituellement inconnu, on fournit une estimation de l’ordre du reste dans la référence à h, soit on dit que Rk(x) possède une erreur de l’ordre hn+1, ou R ≈ O(hk+1). Si h est un petit nombre, par exemple, h<<1, alors hk+1 sera généralement très petit, à savoir, hk+1<<hk<< …<< h << 1. Ainsi, pour x proche de x0, plus le nombre d’éléments du polynôme de Taylor est important, plus l’ordre du reste est petit. Fonctions TAYLR, TAYLR0 et SERIES Les fonctions TAYLR, TAYLR0 et SERIES sont utilisées pour générer des polynômes de Taylor, ainsi que des séries de Taylor avec reste. Ces fonctions sont disponibles dans le menu CALC/LIMITS&SERIES décrit précédemment dans ce chapitre. Page 13-26 La fonction TAYLOR0 effectue un développement en séries de Maclaurin, c’està-dire de X = 0, d’une variable indépendante par défaut VX (généralement ‘X’). Le développement utilise une puissance relative de 4ème degré, à savoir la différence entre la puissance la plus forte et la plus faible du développement est 4. Par exemple, La fonction TAYLR produit un développement en séries de Taylor d’une fonction de n’importe quelle variable x de point x = a pour l’ordre k spécifié par l’utilisateur. Par conséquent, la fonction a le format TAYLR(f(x-a),x,k). Par exemple , La fonction SERIES produit un polynôme de Taylor utilisant comme argument la fonction f(x) à développer, un nom de variable seul (pour les séries de Maclaurin) ou une expression de forme ‘variable = valeur’ indiquant le point de développement d’une série de Taylor et l’ordre des séries à produire. La fonction SERIES produit deux résultats par liste de quatre données et une expression pour h = x – a si le deuxième argument de la fonction est ‘x=a’ soit une expression de l’incrément de h. La liste produite comme premier objet calculé comprend les données suivantes : 1 – la limite bidirectionnelle de la fonction au point de développement, c’està-dire : lim f ( x) x→a 2 – Une valeur équivalente de la fonction proche de x = a 3 – L’expression pour le polynôme de Taylor 4 – L’ordre du résidu ou du reste Page 13-27 Du fait de la relative grande quantité de données produites, cette fonction est plus facile à manipuler en mode RPN. Par exemple : Déplacez le contenu du niveau de pile 1 vers le bas en appuyant sur ƒ, puis saisissez µ, pour décomposer la liste. Les résultats sont les suivants : Dans l’illustration de droite ci-dessus, nous utilisons l’éditeur de lignes pour voir le développement des séries en détail. Page 13-28 Chapitre 14 Applications différentielles à plusieurs variables Les calculs différentiels se réfèrent à des fonctions de deux variables ou plus. Dans ce chapitre, nous discuterons des concepts de base des calculs différentiels à plusieurs variables, y compris les dérivées partielles et les intégrales multiples. Fonctions de plusieurs variables Une fonction à deux variables ou plus peut être définie dans la calculatrice en utilisant la fonction DEFINE („à). Pour illustrer le concept de dérivée partielle, nous allons définir deux fonctions à plusieurs variables, f(x,y) = x cos(y), et g(x,y,z) = (x2+y2)1/2sin(z), en procédant comme suit : Nous pouvons évaluer les fonctions comme nous le ferions pour n’importe quelle autre fonction de la calculatrice, c’est-à-dire : Les graphiques de fonctions bidimensionnelles sont réalisables en utilisant les tracés Fast3D, Wireframe, Ps-Contour, Y-Slice, Gridmap et Pr-Surfaces, tels que décrits au Chapitre 12. Dérivées partielles Considérons la fonction à deux variables z = f(x,y). La dérivée partielle de la fonction par rapport à x est définie par la limite, Page 14-1 f ( x + h, y ) − f ( x , y ) ∂f . = lim h ∂x h→0 De même, ∂f f ( x, y + k ) − f ( x, y ) = lim . ∂y k →0 k Nous utiliserons les fonctions à plusieurs variables définies auparavant pour calculer les dérivées partielles en utilisant ces définitions. Voici les dérivées partielles. Ci-dessous les dérivées de f(x,y) par rapport à x et y, respectivement : Noter que la définition d’une dérivée partielle par rapport à x, par exemple, nécessite que nous conservions y fixe tout en prenant la limite telle que h0. Ceci suggère une façon plus facile de calculer rapidement des dérivées partielles de fonctions à plusieurs variables : utiliser les règles des dérivées classiques par rapport à la variable intéressante, tout en considérant toutes les autres variables comme des constantes. Ainsi, par exemple, ∂ (x cos( y ) ) = cos( y ), ∂ (x cos( y ) ) = − x sin( y ) , ∂x ∂y qui sont identiques aux résultats trouvés avec les limites calculées précédemment. Considérons un autre exemple, ∂ yx 2 + y 2 = 2 yx + 0 = 2 xy ∂x ( ) Dans ce calcul, nous traitons y comme une constante et prenons des dérivées de l’expression par rapport à x. Page 14-2 De façon similaire, vous pouvez utiliser les fonctions de dérivation de la calculatrice, c’est-à-dire DERVX, DERIV, ∂ (décrites en détail au Chapitre 13) pour calculer des dérivées partielles. N’oubliez pas que la fonction DERVX utilise la variable par défaut du CAS VX (généralement, ‘X’) et que, par conséquent, vous ne pourrez calculer avec DERVX que des dérivées par rapport à X. Quelques exemples de dérivées partielles de premier ordre sont montrés ci-dessous : Dérivées d’ordres supérieurs Les dérivées de second ordre suivantes peuvent être définies ∂ ∂f ∂2 f ∂ ∂f ∂ 2 f = , 2 = , 2 ∂x ∂x ∂y ∂y ∂y ∂x ∂ ∂f ∂2 f ∂ ∂f ∂ 2 f = = , ∂y∂x ∂y ∂x ∂x∂y ∂x ∂y Les deux dernières expressions représentent des dérivées croisées, l’ordre de dérivation étant indiqué par les signes des dérivées partielles du dénominateur. A gauche, la dérivée est prise d’abord par rapport à x puis par rapport à y, et, à droite, on a procédé dans l’ordre inverse. Il est important d’indiquer que si la fonction est continue et différentiable, alors Page 14-3 ∂2 f ∂2 f . = ∂y∂x ∂x∂y Les dérivées de troisième, quatrième… ordres ou d’ordres supérieurs sont définies de la même manière. Pour calculer des dérivées d’ordres supérieurs, répéter simplement la fonction de dérivation autant de fois que nécessaire. Quelques exemples sont montrés ci-dessous : Règle de dérivation en chaîne des dérivées partielles Considérons la fonction z = f(x,y), telle que x = x(t) et y = y(t). La fonction z représente en fait une fonction composite de t si nous l’écrivons comme z = f[x(t),y(t)]. La formule de dérivation pour la dérivée dz/dt dans ce cas s’écrit : ∂z ∂z ∂x ∂z ∂y = ⋅ + ⋅ ∂v ∂x ∂v ∂y ∂v Pour voir l’expression produite par la calculatrice pour cette version de la formule de dérivation, utilisez : Le résultat est donné par d1y(t)⋅d2z(x(t),y(t))+d1x(t)⋅d1z(x(y),y(t)). Le terme d1y(t) s’interprète comme « la dérivée de y(t) par rapport à la 1ère variable indépendante, à savoir t » ou d1y(t) = dy/dt. De même, d1x(t) = dx/dt. D’un autre côté, d1z(x(t),y(t)) signifie « la première dérivée de z(x,y) par rapport Page 14-4 à la première variable indépendante, à savoir x" ou d1z(x(t),y(t)) = ∂z/∂x. De même, d2z(x(t),y(t)) = ∂z/∂y. Par conséquent, l’expression ci-dessus doit être interprétée comme : dz/dt = (dy/dt)⋅(∂z/∂y) + (dx/dt)⋅(∂z/∂x). Différentielle totale d’une fonction z = z(x,y) Partant de la dernière équation, si nous la multiplions par dt, nous obtenons la différentielle totale de la fonction z = z(x,y), à savoir : dz = (∂z/∂x)⋅dx + (∂z/∂y)⋅dy. Une version différente de la formule de dérivation s’applique aux cas pour lesquels z = f(x,y), x = x(u,v), y = y(u,v), de telle sorte que z = f[x(u,v), y(u,v)]. Les formules suivantes représentent des formules de dérivation dans cette situation : ∂z ∂z ∂x ∂z ∂y = ⋅ + ⋅ , ∂u ∂x ∂u ∂y ∂u ∂z ∂z ∂x ∂z ∂y = ⋅ + ⋅ ∂v ∂x ∂v ∂y ∂v Déterminer les extrêmes de fonctions à deux variables Afin que la fonction z = f(x,y) puisse avoir un point extrême (extrêmum) à (xo,yo), ses dérivées ∂f/∂x et ∂f/∂y doivent disparaître à ce point. Il s’agit de conditions nécessaires. Les conditions suffisantes pour que la fonction ait un point extrême au point (xo,yo) sont ∂f/∂x = 0, ∂f/∂y = 0 et ∆ = (∂2f/∂x2)⋅ (∂2f/∂y2)-[∂2f/∂x∂y]2 > 0. Le point (xo,yo) est un maximum relatif si ∂2f/∂x2 < 0, ou un minimum relatif si ∂2f/∂x2> 0. La valeur ∆ est appelée discriminant. Si ∆ = (∂2f/∂x2)⋅ (∂2f/∂y2)-[∂2f/∂x∂y]2 < 0, nous avons une condition connue comme point selle, où la fonction atteindrait un maximum de x si nous maintenions y constant, tout en atteignant en même temps un minimum si nous maintenions x constant ou vice-versa. Exemple 1 – Déterminons les points extrêmes (s’ils existent) des fonctions Page 14-5 f(X,Y) = X3-3X-Y2+5. D’abord, nous définissons la fonction f(X,Y) et ses dérivées fX(X,Y) = ∂f/∂X, fY(X,Y) = ∂f/∂Y. Ensuite, nous résolvons les équations fX(X,Y) = 0 et fY(X,Y) = 0 simultanément : Nous trouvons les points critiques à (X,Y) = (1,0) et (X,Y) = (-1,0). Pour calculer le discriminant, nous continuons par le calcul des dérivées secondes fXX(X,Y) = ∂2f/∂X2, fXY(X,Y) = ∂2f/∂X/∂Y et fYY(X,Y) = ∂2f/∂Y2. Le dernier pour (X,Y) (maximum éditée par résultat indique que le discriminant est ∆ = -12X, par conséquent = (1,0), ∆ <0 (point selle) et pour (X,Y) = (-1,0), ∆>0 et ∂2f/∂X2<0 relatif). L’illustration ci-dessous, produite par la calculatrice et ordinateur, montre l’existence de ces deux points : Page 14-6 Utilisation de la fonction HESS pour analyser les extrêmes La fonction HESS peut être utilisée pour analyser les extrêmes d’une fonction à deux variables, comme cela est démontré ci-dessous. La fonction HESS, en général, prend comme donnée de départ une fonction de n variables indépendantes φ(x1, x2, …,xn) et un vecteur des fonctions [‘x1’ ‘x2’…’xn’]. La fonction HESS inverse la matrice Hessienne de la fonction φ, définie comme la matrice H = [hij] = [∂2φ/∂xi∂xj], le gradient de la fonction par rapport aux n variables grad f = [ ∂φ/∂x1, ∂φ/∂x2 , … ∂φ/∂xn] et la liste des variables [‘x1’ ‘x2’…’xn’]. Les applications de la fonction HESS sont plus faciles à visualiser en mode RPN. Considérons à titre d’exemple la fonction φ(X,Y,Z) = X2 + XY + XZ. Nous allons appliquer la fonction HESS à la fonction φ dans l’exemple suivant. Les saisies d’écran montrent la pile RPN avant et après avoir appliqué la fonction HESS. Lorsqu’il est appliqué à une fonction à deux variables, le gradient de niveau 2 , s’il est égal à zéro, représente les équations des points critiques, c’est-àdire : ∂φ/∂xi = 0, tandis que la matrice au niveau 3 représente les dérivées secondes . Par conséquent, les résultats de la fonction HESS peuvent être utilisés pour analyser les extrêmes des fonctions à deux variables. Par exemple, pour la fonction f(X,Y) = X3-3X-Y2+5, procéder comme suit en mode RPN : ‘X^3-3*X-Y^2+5’ ` [‘X’,’Y’] ` HESS SOLVE µ ‘s1’ K ‘s2’ K Saisir la fonction et les variables Appliquer la fonction HESS Trouver les points critiques Décomposer le vecteur Enregistrer les points critiques Page 14-7 Les variables s1 et s2, à ce stade, contiennent, respectivement les vecteurs [‘X=-1’,’Y=0] et [‘X=1’,’Y=0]. La matrice Hessienne est au niveau 1 à ce stade. ‘H’ K J @@@H@@@ @@s1@@ SUBST ‚ï Enregistrer la matrice Hessienne Substituer s1 dans H La matrice résultante A contient a11 éléments a11 = ∂2φ/∂X2 = -6., a22 = ∂2φ/∂X2 = -2., et a12 = a21 = ∂2φ/∂X∂Y = 0. Le discriminant, pour ce point critique s1(-1,0) est ∆ = (∂2f/∂x2)⋅ (∂2f/∂y2)-[∂2f/∂x∂y]2 = (-6.)(-2.) = 12.0 > 0. Puisque ∂2φ/∂X2 <0, le point s1 représente un maximum relatif. Ensuite, nous allons substituer le deuxième point, s2, dans H : J @@@H@@@ @@s2@@ SUBST ‚ï Substituer s2 dans H La matrice résultante contient les éléments a11 = ∂2φ/∂X2 = 6., a22 = ∂2φ/∂X2 = -2. et a12 = a21 = ∂2φ/∂X∂Y = 0. Le discriminant, pour ce point critique s2(1,0) est ∆ = (∂2f/∂x2)⋅ (∂2f/∂y2)-[∂2f/∂x∂y]2 = (6.)(-2.) = -12.0 < 0, indiquant un point selle. Intégrales multiples Une interprétation physique d’une intégrale classique, ∫ b a f ( x)dx consiste en la zone sous la courbe y = f(x) d’abscisses x = a et x = b. La généralisation à trois dimensions d’une intégrale classique est une intégrale double d’une fonction f(x,y) sur une région R sur le plan x-y représentant le volume d’un corps solide contenu sous la surface f(x,y) au-dessus de la région R. La région R peut être décrite ainsi : R = {a<x<b, f(x)<y<g(x)} ou encore R = {c<y<d, r(y)<x<s(y)}. Par conséquent, l'intégrale double peut être écrite b g( x) a f ( x) ∫∫ φ ( x, y )dA = ∫ ∫ R φ ( x, y )dydx = ∫ d c ∫ s( y ) r( y) φ ( x, y )dydx Page 14-8 Il est très simple de calculer une intégrale double avec la calculatrice. Une intégrale double peut être construire dans l’Editeur d’équation (voir l’exemple au Chapitre 2). Un exemple est présenté ci-dessous. Cette intégrale double est calculée directement dans l’Editeur d’équation en sélectionnant toute l’expression et en utilisant la fonction @EVAL. Le résultat est 3/2. La progression du résultat pas à pas est possible en paramétrant l’option Step/Step dans l’écran CAS MODES. Jacobienne de transformation de coordonnées Considérons la transformation de coordonnées x = x(u,v), y = y(u,v). Jacobienne de cette transformation est définie comme ∂x | J |= det( J ) = det ∂u ∂y ∂u La ∂x ∂v . ∂y ∂v Lorsqu’on calcule une intégrale en utilisant une telle transformation, l’expression à utiliser est ∫∫φ ( x, y)dydx = ∫∫φ[ x(u, v), y(u, v)] | J | dudv , R R' où R’ est la région R exprimée en coordonnées de (u,v). Page 14-9 Intégrale double en coordonnées polaires Pour passer des coordonnées polaires aux coordonnées cartésiennes nous utilisons x(r,θ) = r cos θ et y(r, θ) = r sin θ. Par conséquent, la Jacobienne de cette transformation est ∂x | J |= ∂r ∂y ∂r ∂x ∂θ = cos(θ ) − r ⋅ sin(θ ) = r ∂y sin(θ ) r ⋅ cos(θ ) ∂θ Avec ce résultat, les intégrales en coordonnées polaires s’écrivent comme suit β g (θ ) α f (θ ) ∫∫ φ ( r,θ )dA = ∫ ∫ R' φ ( r,θ ) rdrdθ où la région R’ en coordonnées polaires est R’ = {α < θ < β, f(θ) < r < g(θ)}. Les intégrales doubles en coordonnées polaires peuvent être saisies dans la calculatrice en s’assurant que la Jacobienne |J| = r est incluse dans l’intégrande. L’exemple suivant illustre pas à pas une intégrale double calculée en coordonnées polaires : Page 14-10 Chapitre 15 Applications d’analyse vectorielle Dans ce chapitre nous vous présentons plusieurs fonctions du menu CALC qui s’appliquent à l’analyse de champs scalaires et vectoriels. Le menu CALC a été présenté dans le détail au Chapitre 13. En particulier, dans le menu DERIV&INTEG, nous avons identifié un certain nombre de fonctions qui ont des applications en analyse vectorielle, à savoir CURL, DIV, HESS, LAPL. Pour les exercices de ce chapitre, paramétrez votre mesure d’angle en radians. Définitions Une fonction définie dans une région de l’espace telle que φ(x,y,z) est appelée champ scalaire. Des exemples de ces champs sont fournis par les températures, les densités et le potentiel de tension près d’une charge. Si la fonction est définie par un vecteur, à savoir F(x,y,z) = f(x,y,z)i+g(x,y,z)j+h(x,y,z)k, elle est appelée champ de vecteurs. L’opérateur suivant, appelé opérateur ‘del’ ou ‘nabla’, est un opérateur basé sur vecteurs qui peut être appliqué à un scalaire ou à une fonction vectorielle ∇[ ] = i ⋅ ∂ [ ]+ j ⋅ ∂ [ ]+ k ⋅ ∂ [ ∂x ∂y ∂z ] Lorsque cet opérateur est appliqué à une fonction scalaire, nous pouvons obtenir le gradient de cette fonction, et lorsqu’il est appliqué à une fonction vectorielle nous pouvons obtenir la divergence et le rotationnel de cette fonction. Une combinaison de gradients et de divergences produit un autre opérateur que l’on appelle le Laplacien d’une fonction scalaire. Ces opérations sont présentées ci-dessous. Gradient et dérivée directionnelle Le gradient d’une fonction scalaire φ(x,y,z) est une fonction vectorielle définie par gradφ = ∇φ = i ⋅ ∂φ ∂φ ∂φ + j⋅ +k⋅ ∂x ∂y ∂z Page 15-1 Le produit scalaire du gradient d’une fonction par un vecteur d’unité donnée représente le taux de variation de la fonction le long de ce vecteur particulier. Ce taux de variation s’appelle la dérivée directionnelle de la fonction, Duφ(x,y,z) = u•∇φ. A n’importe quel point particulier, le taux de variation maximum de la fonction intervient dans la direction du gradient, c’est-à-dire le long d’un vecteur d’unité u = ∇φ/|∇φ|. La valeur de cette dérivée directionnelle est égale à la magnitude du gradient à n’importe quel point Dmaxφ(x,y,z) = ∇φ •∇φ/|∇φ| = |∇φ| L’équation φ(x,y,z) = 0 représente une surface dans l’espace. Il s’avère que le gradient de la fonction à n’importe quel point de cette surface est normal à cette surface. Par conséquent, l’équation d’un plan tangent à la courbe à ce point peut être trouvée en utilisant la technique présentée au Chapitre 9. La façon la plus simple d’obtenir le gradient est d’utiliser la fonction DERIV, disponible dans le menu CALC, c'est-à-dire , Un programme permettant de calculer le gradient Le programme suivant, que vous pouvez enregistrer dans la variable GRADIENT utilise la fonction DERIV pour calculer le gradient d’une fonction scalaire de X,Y,Z. Les calculs pour d’autres variables de base ne marcheront pas. Si vous travaillez souvent en système (X,Y,Z), cependant, ce programme facilitera vos calculs : << X Y Z 3 ARRY DERIV >> Saisissez ce programme en mode RPN. Après avoir basculé en mode ALG, vous pouvez activer la fonction GRADIENT comme dans l’exemple suivant : Page 15-2 Utilisation de la fonction HESS pour obtenir le gradient La fonction HESS peut être utilisée pour obtenir le gradient d’une fonction comme indiqué ci-dessous. Comme indiqué au Chapitre 14, la fonction HESS prend comme donnée de base une fonction de n variables indépendantes φ(x1, x2, …,xn) et un vecteur de fonctions [‘x1’ ‘x2’…’xn’]. La fonction HESS inverse la matrice Hessienne de la fonction φ, définie comme la matrice H = [hij] = [∂φ/∂xi∂xj], le gradient de la fonction par rapport aux n variables grad f = [ ∂φ/∂x1, ∂φ/∂x2 , … ∂φ/∂xn] et la liste de variables [‘x1’ ‘x2’…’xn’]. Considérons à titre d’exemple la fonction φ(X,Y,Z) = X2 + XY + XZ. Nous allons appliquer la fonction HESS à ce champ scalaire dans l’exemple suivant en mode RPN : Par conséquent, le gradient est [2X+Y+Z, X, X]. Autrement, l'onpeut utiliser la fonction DERIV comme suit : DERIV(X^2+X*Y+X*Z,[X,Y,Z]), qui donne le même résultat. Potentiel d’un gradient Etant donné le champ de vecteurs F(x,y,z) = f(x,y,z)i+g(x,y,z)j+h(x,y,z)k, s’il existe une fonction φ(x,y,z), telle que f = ∂φ/∂x, g = ∂φ/∂y et h = ∂φ/∂z, alors on appelle φ(x,y,z) la fonction potentielle du champ de vecteurs F. Il s’ensuit que F = grad φ = ∇φ. La calculatrice offre une fonction POTENTIAL, disponible à travers le catalogue de commande (‚N), permettant de calculer la fonction potentielle d’un champ de vecteur, si elle existe. Par exemple, si F(x,y,z) = xi + yj + zk, en appliquant la fonction POTENTIAL, nous trouvons : Page 15-3 Puisque la fonction SQ(x) représente x2, ce résultat indique la fonction potentielle du champ de vecteurs F(x,y,z) =xi+yj+zk, is φ(x,y,z) = (x2+y2+z2)/2. Noter que les conditions d’existence de φ(x,y,z), à savoir f = ∂φ/∂x, g = ∂φ/∂y, et h = ∂φ/∂z sont équivalentes aux conditions : ∂f/∂y = ∂g/∂x, ∂f/∂z = ∂h/∂x et ∂g/∂z = ∂h/∂y. Ces conditions fournissent une manière rapide de déterminer si le champ de vecteurs a une fonction potentielle associée. Si l’une des conditions ∂f/∂y = ∂g/∂x, ∂f/∂z = ∂h/∂x, ∂g/∂z = ∂h/∂y n’est pas remplie, la fonction potentielle φ(x,y,z) n’existe pas. Dans un tel cas, la fonction POTENTIAL renvoie un message d’erreur. Par exemple, le champ du vecteur F(x,y,z) = (x+y)i + (x-y+z)j + xzk, n’a pas de fonction potentielle associée puisque ∂f/∂z ≠ ∂h/∂x. La réponse de la calculatrice dans ce cas est illustrée ci-dessous : Divergence La divergence d’une fonction vectorielle F(x,y,z) = f(x,y,z)i+g(x,y,z)j+h(x,y,z)k, est définie en prenant le « produit scalaire » de l’opérateur del par la fonction, à savoir : divF = ∇ • F = ∂f ∂g ∂h + + ∂x ∂y ∂z La fonction DIV peut être utilisée pour calculer la divergence d’un champ de vecteurs. Par exemple, pour F(X,Y,Z) = [XY,X2+Y2+Z2,YZ], la divergence est calculée, en mode ALG, de la façon suivante : Page 15-4 Laplacien La divergence du gradient d’une fonction scalaire produit un opérateur que l’on appelle l’opérateur Laplacien. Par conséquent, le Laplacien d’une fonction scalaire φ(x,y,z) est donné par ∇ 2φ = ∇ • ∇ φ = ∂ 2φ ∂ 2φ ∂ 2φ + + ∂x 2 ∂x 2 ∂x 2 L’équation différentielle partielle ∇2φ = 0 est connue comme l’équation de Laplace. La fonction LAPL peut être utilisée pour calculer le Laplacien d’une fonction scalaire. Par exemple, pour calculer le Laplacien de la fonction φ(X,Y,Z) = (X2+Y2)cos(Z), utiliser : Rotationnel Le rotationnel d’un champ de vecteurs F(x,y,z) = f(x,y,z)i+g(x,y,z)j+h(x,y,z)k, est définie par le « produit vectoriel » de l’opérateur del par le champ de vecteurs, à savoir : i j k ∂ ∂ ∂ [] [] [] curlF = ∇ × F = ∂x ∂y ∂z f ( x, y , z ) g ( x, y , z ) h ( x, y , z ) ∂h ∂g ∂f ∂h ∂h ∂g = i − + j − + k − ∂y ∂z ∂z ∂x ∂y ∂z Page 15-5 Le rotationnel d’un champ de vecteurs peut être calculée avec la fonction CURL. Par exemple, pour la fonction F(X,Y,Z) = [XY,X2+Y2+Z2,YZ], le rotationnel est calculé comme suit : Champ non rotationnel et fonction potentielle Dans une section précédente du présent chapitre, nous avons introduit la fonction POTENTIAL pour calculer la fonction potentielle φ(x,y,z) pour un champ de vecteurs, F(x,y,z) = f(x,y,z)i+ g(x,y,z)j+ h(x,y,z)k, tel que F = grad φ = ∇φ. Nous avons aussi indiqué que les conditions d’existence de φ, étaient : ∂f/∂y = ∂g/∂x, ∂f/∂z = ∂h/∂x et ∂g/∂z = ∂h/∂y. Ces conditions sont équivalentes à l’expression vectorielle curl F = ∇×F = 0. Un champ de vecteurs F(x,y,z), dont le rotationnel est nul, est connu comme un champ non rotationnel. Par conséquent, nous concluons qu’une fonction potentielle φ(x,y,z) existe toujours pour un champ non rotationnel F(x,y,z). A titre d’exemple, nous avons essayé précédemment de trouver une fonction potentielle pour le champ de vecteurs F(x,y,z) = (x+y)i + (x-y+z)j + xzk et avons obtenu le message d’erreur de la fonction POTENTIAL. Pour vérifier qu’il s’agit d’un champ rotationnel (tel que ∇×F ≠ 0), nous utilisons la fonction CURL sur ce champ : D'autre part, le champ de vecteurs F(x,y,z) = xi + yj + zk est effectivement non rotationnel, comme cela est démontré ci-dessous : Page 15-6 Vecteur potentiel Etant donné un champ de vecteurs F(x,y,z) = f(x,y,z)i+g(x,y,z)j+h(x,y,z)k, s’il existe, il existe une fonction vectorielle Φ(x,y,z) = φ(x,y,z)i+ψ(x,y,z)j+η(x,y,z)k telle que F = curl Φ = ∇× Φ, fonction Φ(x,y,z) que l’on appelle le vecteur potentiel F(x,y,z). La calculatrice fournit une fonction VPOTENTIAL, disponible par l’intermédiaire du catalogue de commande (‚N) pour calculer le vecteur potentiel Φ(x,y,z), étant donné le champ de vecteurs F(x,y,z)=f(x,y,z)i+g(x,y,z)j+h(x,y,z)k. Par exemple, étant donné le champ de vecteurs F(x,y,z) = -(yi+zj+xk), la fonction VPOTENTIAL donne C’est-à-dire : Φ(x,y,z) = -x2/2j + (-y2/2+zx)k. Il faut indiquer qu’il existe plus d’une fonction de vecteur potentiel Φ pour un champ de vecteurs donné F. Par exemple, les captures d’écran suivantes montrent que le rotationnel de la fonction vectorielle Φ1 = [X2+Y2+Z2,XYZ,X+Y+Z] est le vecteur F = ∇× Φ2 = [1-XY,2Z-1,ZY-2Y]. L’application de la fonction VPOTENTIAL produit la fonction de vecteur potentiel Φ2 = [0, ZYX-2YX, Y-(2ZX-X)], qui est différente de Φ1. La dernière commande dans la capture d’écran montre qu’en effet F = ∇× Φ2. Par conséquent, la fonction de vecteur potentiel n’est pas déterminée de manière unique. Page 15-7 Les composantes d’un champ de vecteurs donné F(x,y,z) = f(x,y,z)i+g(x,y,z)j +h(x,y,z)k et celles d’une fonction de vecteur potentiel, Φ(x,y,z) = φ(x,y,z)i+ψ(x,y,z)j+η(x,y,z)k sont liées par f = ∂η/∂y - ∂ψ/∂x, g = ∂φ/∂z ∂η/∂x, et h = ∂ψ/∂x - ∂φ/∂y. Une des conditions pour que la fonction Φ(x,y,z) existe est que div F = ∇•F = 0, c’est-à-dire : ∂f/∂x + ∂g/∂y + ∂f/∂z = 0. Par conséquent, si cette condition n’est pas satisfaite, la fonction de vecteur potentiel Φ(x,y,z) n’existe pas. Par exemple, étant donné F = [X+Y,X-Y,Z^2], la fonction VPOTENTIAL renvoie un message d’erreur, puisque la fonction F ne satisfait pas la condition ∇•F = 0: La condition ∇•F ≠ 0 est vérifiée dans la capture d’écran suivante : Page 15-8 Chapitre 16 Equations différentielles Dans ce Chapitre, nous vous présentons des exemples de résolution d’équations différentielles ordinaires (ODE) en utilisant les fonctions de la calculatrice. Une équation différentielle est une équation impliquant les dérivées de la variable indépendante. Dans la plupart des cas, nous cherchons la fonction dépendante qui satisfait l’équation différentielle. Opérations de base avec des équations différentielles Dans cette section, nous vous présentons certaines utilisations de la calculatrice pour saisir, vérifier et visualiser la solution d’ODE. Saisie d’équations différentielles La clé de l’utilisation des équations différentielles dans la calculatrice est de saisir les dérivées dans l’équation. Le moyen le plus simple de saisir une équation différentielle est de la saisir dans l’Editeur d’équations. Par exemple, pour saisir l’ODE suivante : (x-1)⋅(dy(x)/dx)2 + 2⋅x⋅y(x) = ex sin x, utilisez : ‚O „ Ü~ „x -1 ™™™*‚¿ ~„x ™~„y„Ü~„x™™ Q2 ™™+2* ~„ x * ~„ y „Ü~„x ™™™™ ‚= „¸~„ x ™*S~„x ` La dérivée dy/dx est représentée par ∂x(y(x)) ou par dly(x). A des fins de solution et de calculs, vous devez spécifier y(x) dans l’expression, cela signifie que la variable dépendante doit inclure sa ou ses variable(s) indépendantes dans toute dérivée de l’équation. Vous pouvez aussi saisir une équation directement dans la pile en utilisant le symbole ∂ dans les dérivées. Par exemple, pour saisir l’ODE suivante impliquant des dérivées de deuxième ordre : d2u(x)/dx2 + 3u(x)⋅(du(x)/dx) + u(x)2 = 1/x, directement dans l’écran, utilisez : ³‚∂ ~„x„Ü‚¿~„x„ Ü~ „u Page 16-1 „Ü~„x™™™+3*~ „u„Ü ~„x™*‚¿~„x„ Ü~„u„ Ü ~„x ™™ +~„u„ Ü ~„x™ Q2 ‚ Å 1/ ~„x` Le résultat est ‘∂x(∂x(u(x)))+3*u(x)*∂x(u(x))+u^2=1/x ’. Ce format s’affiche à l’écran quand l’option _Textbook n’est pas sélectionnée sur l’écran de paramètre d’affichage (H@)DISP). Appuyez sur ˜ pour voir l’équation dans l’Editeur d’équations. Une autre notation pour les dérivées saisies directement dans la pile est d’utiliser ‘d1’ pour la dérivée par rapport à la première variable indépendante, ‘d2’ pour la dérivée par rapport à la deuxième variable indépendante, etc. Une dérivée de second ordre, c’est-à-dire d2x/dt2, où x = x(t) s’écrirait ‘d1d1x(t)’, tandis que (dx/dt)2 s’écrirait ‘d1x(t)^2’. Par conséquent, la PDE ∂2y/∂t2 – g(x,y)⋅ (∂2y/∂x2)2 = r(x,y), s’écriraitcomme suit en utilisant cette notation : ‘d2d2y(x,t)-g(x,y)*d1d1y(x,t)^2=r(x,y)’. La notation utilisant ‘d’ et l’ordre de la variable indépendante est la notation préférée par la calculatrice lorsque des dérivées sont impliquées dans le calcul. Par exemple, l’utilisation de la fonction DERIV, en mode ALG, comme dans DERIV(‘x*f(x,t)+g(t,y) = h(x,y,t)’,t), produit l’expression suivante : ‘x*d2f(x,t)+d1g(t,y)=d3h(x,y,t)’. Traduite sur papier, cette expression représente l’équation différentielle partielle x⋅(∂f/∂t) + ∂g/∂t = ∂h/∂t. Parce que l’ordre de la variable t est différent dans f(x,t), g(t,y) et h(x,y,t), les dérivées par rapport à t ont des indices différents, à savoir d2f(x,t), d1g(t,y), et d3h(x,y,t). Toutes, cependant, représentent des dérivées par rapport à la même variable. Les expressions pour les dérivées utilisant comme notation l’index de notation ordre de variable ne sont pas traduites en notation de dérivées dans l’Editeur d’équations, comme vous pouvez le vérifier en appuyant sur ˜ alors que le dernier résultat est au niveau 1 de la pile. Cependant, la calculatrice comprend les deux notations et fonctionne en accord avec la notation utilisée. Page 16-2 Vérifier des solutions avec la calculatrice Pour vérifier si une fonction satisfait une équation donnée en utilisant la calculatrice, utilisez la fonction SUBST (voir Chapitre 5) pour remplacer la solution sous forme ‘y = f(x)’ ou ‘y = f(x,t)’ etc. dans l’équation différentielle. Il se peut que vous ayez besoin de simplifier le résultat en utilisant la fonction EVAL pour vérifier la solution. Par exemple, pour vérifier que u = A sin ωot est la solution de l’équation d2u/dt2 + ωo2⋅u = 0, utilisez la procédure suivante : En mode ALG : SUBST(‘∂t(∂t(u(t)))+ ω0^2*u(t) = 0’,‘u(t)=A*SIN (ω0*t)’ ` EVAL(ANS(1)) ` En mode RPN : ‘∂t(∂t(u(t)))+ ω0^2*u(t) = 0’ ` ‘u(t)=A*SIN (ω0*t)’ ` SUBST EVAL Le résultat est ‘0=0’. Dans cet exemple, vous pourriez aussi utiliser : ‘∂t(∂t(u(t))))+ ω0^2*u(t) = 0’ pour saisir l’équation différentielle. Visualisation des solutions en isoclines Les tracés des isoclines (Slope field), introduits au Chapitre 12, sont utilisés pour visualiser les solutions d’une équation différentielle de forme dy/dx = f(x,y). Un tracé d'isoclines montre plusieurs segments tangents aux courbes de solution, y = f(x). La pente des segments à n’importe quel point (x,y) est donnée par dy/dx = f(x,y), évalué en n’importe quel point (x,y) et représente l'isocline de la tangente au point (x,y). Exemple 1 -- Localiser la solution de l’équation différentielle y’ = f(x,y) = sin x cos y en utilisant un tracé d'isoclines. Pour résoudre ce problème, suivre les instructions du Chapitre 12 pour les tracés slopefield. Si vous avez pu reproduire le tracé des isoclines sur papier, vous pouvez tracer à la main les lignes tangentes aux segments de ligne montrés sur le Page 16-3 tracé. Ces lignes constituent les lignes de y(x,y) = constante, pour la solution de y’ = f(x,y). Par conséquent, les tracés d'isoclines sont des outils utiles pour visualiser les équations particulièrement difficiles à résoudre. En résumé les tracés isoclines sont des aides graphiques pour ébaucher le tracé des courbes y = g(x) qui correspondent aux solutions de l’équation différentielle dy/dx = f(x,y). Le menu CALC/DIFF Le sous-menu DIFFERENTIAL EQNS. du menu CALC („Ö) propose des fonctions pour la résolution d’équations différentielles. Ce menu est présenté ci-dessous sous forme de liste, avec l’indicateur de système 117 paramétré sur CHOOSE boxes : Ces fonctions sont brièvement décrites ci-dessous. Elles seront décrites avec plus de détails dans des paragraphes ultérieurs de ce Chapitre. DESOLVE : Differential Equation SOLVEr ou calculateur d’équation différentielle, donne la solution si elle éxiste ILAP : Inverse LAPlace transform ou transformation inverse de Laplace, L-1[F(s)] = f(t) LAP : LAPlace transform ou transformation de Laplace, L[f(t)]=F(s) LDEC : Linear Differential Equation Command ou commande d’équation linéaire différentielle avec coefficients constants, y compris les systèmes d'équations différentielles avec coefficients constants . Page 16-4 Solution des équations linéaires et non linéaires Une équation dans laquelle la variable dépendante et toutes ses dérivées pertinentes sont du premier degré est appelée équation différentielle linéaire . Dans le cas contraire, l’équation est dite non linéaire. Exemples d’équations différentielles linéaires : d2x/dt2 + β⋅(dx/dt) + ωo⋅x = A sin ωf t et ∂C/∂t + u⋅(∂C/∂x) = D⋅(∂2C/∂x2). Une équation dont la partie de droite (n’impliquant pas la fonction ou ses dérivées) est égale à zéro est appelée équation homogène. Sinon, elle est appelée équation non homogène. La solution à une équation homogène est connue sous le nom de solution générale. Une solution particulière est celle qui résout une équation non homogène. Fonction LDEC La calculatrice propose la fonction LDEC (Linear Differential Equation Command) [Commande d’équation linéaire différentielle] qui permet de trouver la solution générale à une ODE linéaire de n’importe quel ordre à coefficients constants, qu’elle soit homogène ou non. Cette fonction nécessite deux données de base : • • la partie droite de l’ODE l’équation caractéristique de l’ ODE Ces deux données doivent être données en terme de variable indépendante par défaut du CAS de la calculatrice (généralement X). Le résultat de la fonction est la solution générale de l’ODE. La fonction LDEC est disponible dans le menu CALC/DIFF. Les exemples sont présentés en mode RPN, mais les traduire en mode ALG est très simple. Exemple 1 – Pour résoudre l'ODE homogène : d3y/dx3-4⋅(d2y/dx2)11⋅(dy/dx)+30⋅y = 0, saisissez : 0 ` 'X^3-4*X^2-11*X+30' ` LDEC. En voici la solution : Page 16-5 Ici cC0, cC1 et cC2 sont des constantes d’intégration. Ce résultat peut sembler compliqué, mais il peut être simplifié si K1 = (10*cC0-(7+cC1-cC2))/40, K2 = -(6*cC0-(cC1+cC2))/24, et K3 = (15*cC0+(2*cC1-cC2))/15. La solution devient alors : y = K1⋅e–3x + K2⋅e5x + K3⋅e2x. La raison pour laquelle le résultat fournit par LDEC affiche des combinaisons de constantes si compliquées est que, au niveau interne, pour produire la solution, LDEC utilise la transformation de Laplace (présentées ultérieurement dans ce chapitre), qui transforment la solution d’une ODE en solution algébrique. La combinaison de constantes résulte de la mise en facteur des termes exponentiels une fois que la transformée de Laplace a été trouvée. Exemple 2 – En utilisant la fonction LDEC, résoudre l’ODE non homogène suivante : d3y/dx3-4⋅(d2y/dx2)-11⋅(dy/dx)+30⋅y = x2. Saisir : 'X^2' ` 'X^3-4*X^2-11*X+30' ` LDEC La solution est : En remplaçant les constantes accompagnant les termes exponentiels par des valeurs plus simples, telles que, on obtient l'expression: y = K1⋅e–3x + K2⋅e5x + K3⋅e2x + (450⋅x2+330⋅x+241)/13500. Les trois premiers termes constituent la solution générale de l'équation homogène (voir Exemple 1, ci-dessus). Si yh représente la solution générale de l'équation homogène, à savoir : yh = K1⋅e–3x + K2⋅e5x + K3⋅e2x. Vous pouvez Page 16-6 prouver que les termes restants dans la solution présentée ci-dessus, à savoir : yp = (450⋅x2+330⋅x+241)/13500, constituent une solution particulière à l’ ODE. Note: Ce résultat est général pour toutes les ODE linéaires non homogènes, c’est-à-dire étant donné la solution de l’équation homogène yh(x), la solution de l’équation non homogène correspondante, y(x), peut s’écrire, y(x) = yh(x) + yp(x), où yp(x) est une solution particulière de l’ODE. Pour vérifier que yp = (450⋅x2+330⋅x+241)/13500, est effectivement une solution particulière de l’ODE, utiliser la procédure suivante : 'd1d1d1Y(X)-4*d1d1Y(X)-11*d1Y(X)+30*Y(X) = X^2'` 'Y(X)=(450*X^2+330*X+241)/13500' ` SUBST EVAL Donnez environ 10 secondes à la calculatrice pour produire le résultat : ‘X^2 = X^2’ Exemple 3 – Résoudre un système d’équations différentielles linéaires à coefficients constants. Considérons le système d’équations différentielles linéaires suivant : x1’(t) + 2x2’(t) = 0, 2x1’(t) + x2’(t) = 0. 1 2 . Le système 2 1 Sous forme algébrique, ceci s’écrit : A⋅x’(t) = 0, où A = peut être résolu en utilisant la fonction LDEC avec les arguments [0,0] et la matrice A, comme indiqué sur l’écran suivant en mode ALG : Page 16-7 La solution est donnée par un vecteur contenant les fonctions [x1(t), x2(t)]. En appuyant sur ˜ , vous lancez l’Editeur de matrice permettant à l’utilisateur de voir les deux composantes du vecteur. Pour voir tous les détails de chaque composante, appuyez sur la touche menu @EDIT!. Vérifiez que les composantes sont bien : Fonction DESOLVE La calculatrice dispose d’une fonction DESOLVE (Differential Equation SOLVEr ou Calculateur d’équation différentielle) qui permet de résoudre certains types d’équations différentielles. Cette commande nécessite comme donnée de base l’équation différentielle et la fonction inconnue et renvoie l’équation si cela est possible. Vous pouvez également fournir un vecteur contenant l’équation différentielle et les conditions initiales, plutôt qu’une simple équation différentielle, en tant que données de base de la fonction DESOLVE. La fonction DESOLVE est disponible dans le menu CALC/DIFF. Des exemples d’application de la fonction DESOLVE sont présentés ci-dessous en utilisant le mode RPN . Exemple 1 – Résoudre l’ODE du premier ordre : dy/dx + x2⋅y(x) = 5. Sur la calculatrice, utiliser : 'd1y(x)+x^2*y(x)=5' ` 'y(x)' ` DESOLVE La solution est {‘y = (INT(5*EXP(xt^3/3),xt,x)+cC0)*1/EXP(x^3/3))’ }, c'est-àdire : ( ) y ( x) = exp(− x 3 / 3) ⋅ ∫ 5 ⋅ exp( x 3 / 3) ⋅ dx + cC0 . La variable ODETYPE Page 16-8 Vous remarquerez dans les intitulés des touches menu une nouvelle variable appelée @ODETY (ODETYPE). Cette variable, qui s’affiche lorsqu’on fait appel à la fonction DESOL, donne accès à une chaîne présentant le type d’ ODE utilisé comme donnée de base de DESOLVE. Appuyez sur @ODETY pour obtenir la chaîne “1st order linear”. Exemple 2 -- Résoudre l'ODE du deuxième ordre : d2y/dx2 + x (dy/dx) = exp(x). Sur la calculatrice, utiliser : ‘d1d1y(x)+x*d1y(x) = EXP(x)’ ` ‘y(x)’ ` DESOLVE Le résultat est une expression qui possède deux intégrations explicites, c’est-àdire , Pour cette équation particulière, cependant, nous nous rendons compte que la partie gauche de l’équation représente d/dx(x dy/dx) et que l’ODE peut donc s’écrire maintenant : d/dx(x dy/dx ) = exp x, et x dy/dx = exp x + C. Ensuite, nous pouvons écrire : dy/dx = (C + exp x)/x = C/x + ex/x. Avec la calculatrice, vous pouvez essayer d’intégrer ‘d1y(x) = (C + EXP(x))/x’ ` ‘y(x)’ ` DESOLVE Le résultat est { ‘y(x) = INT((EXP(xt)+C)/xt,xt,x)+C0’ }, à savoir Page 16-9 y ( x) = ∫ ⋅ ex + C dx + C 0 x En effectuant l’intégration à la main, vous ne pouvez pas aller plus loin que : ex y ( x) = ∫ ⋅ dx + C ⋅ ln x + C 0 x parce que l’intégrale de exp(x)/x n’est pas disponible en forme fermée. Exemple 3 – Résolution d’une équation à conditions initiales. Résoudre d2y/dt2 + 5y = 2 cos(t/2), avec les conditions initiales y(0) = 1.2, y’(0) = -0.5. Sur la calculatrice, utiliser : [‘d1d1y(t)+5*y(t) = 2*COS(t/2)’ ‘y(0) = 6/5’ ‘d1y(0) = -1/2’] ` ‘y(t)’ ` DESOLVE Remarquez que les conditions initiales ont été ramenées à leurs formes exactes : ‘y(0) = 6/5’, plutôt que ‘y(0)=1.2’, et ‘d1y(0) = -1/2’, plutôt que ‘d1y(0) = -0.5’. Opter pour les formes exactes facilite la résolution. Note: Pour obtenir les expressions fractionnaires de valeurs décimales, utiliser la fonction Q (voir Chapitre 5). La solution Page 16-10 Saisissez µµ pour simplifier le résultat. ‘y(t) = -((19*√5*SIN(√5*t)-(148*COS(√5*t)+80*COS(t/2)))/190)’. Appuyez sur J @ODETY pour obtenir la chaîne “Linear w/ cst coeff” pour le type d’ODE correspondant à ce cas. Transformations de Laplace La transformation de Laplace d’une fonction f(t) produit une fonction F(s) dans le domaine image qui peut être utilisée pour résoudre, grâce à des méthodes algébriques, une équation différentielle linéaire impliquant f(t) . Les étapes à suivre dans cette application sont au nombre de trois : 1. 2. 3. L’utilisation de la transformation de Laplace convertit une ODE linéaire impliquant f(t) en équation algébrique. L’inconnue F(s) est trouvée dans le domaine image grâce à une manipulation algébrique. Une transformation de Laplace inversée est utilisée pour convertir la fonction image trouvée à la deuxième étape en solution de l’équation différentielle f(t). Définitions La Transformation de Laplace de la fonction f(t) est la définition F(s) définie comme L{ f (t )} = F ( s ) = ∫ ∞ 0 f (t ) ⋅ e − st dt. La variable image s peut être, et est généralement, un nombre complexe. De nombreuses applications pratiques de la transformation de Laplace impliquent une fonction initiale f(t) où t représente le temps, c'est-à-dire des systèmes de contrôle de circuits électriques ou hydrauliques. Dans la plupart des cas, on est intéressé par une réponse du système après un temps t>0 et, Page 16-11 par conséquent, la définition de la transformation de Laplace donnée cidessus implique une intégration pour des valeurs de t supérieures à zéro. La transformation de Laplace inverse calque la fonction F(s) sur la fonction initiale f(t) dans le domaine temporel, tel que L -1{F(s)} = f(t). L'intégrale de convolution ou produit de convolution de deux fonctions f(t) et g(t), où g est décalé dans le temps, est définie comme ( f * g )( t ) = ∫ t 0 f ( u ) ⋅ g ( t − u ) ⋅ du . Transformation de Laplace et transformation inverse sur la calculatrice La calculatrice propose les fonctions LAP et ILAP pour calculer, respectivement, la transformation de Laplace et la transformation de Laplace inverse d’une fonction f(VX), où VX est la variable indépendante par défaut du CAS (généralement X). La calculatrice renvoie la transformation ou la transformation inverse sous forme de fonction de X. Les fonctions LAP et ILAP sont disponibles dans le menu CALC/DIFF. Si les exemples sont présentés en mode RPN, il est très facile de les traduire en mode ALG. Pour ces exemples, paramétrer le mode CAS sur Real et Exact. Exemple 1 – Pour obtenir la définition de la transformation de Laplace, utilisez les touches suivantes : ‘f(X)’ ` LA P en mode RPN ou LAP(f(X))en mode ALG. La calculatrice renvoie le résultat suivant : (à gauche en RPN et à droite en ALG) : Comparez ces expressions avec celle donnée précédemment dans la définition de la transformation de Laplace, c'est-à-dire : ∞ L{ f (t )} = F ( s ) = ∫ f (t ) ⋅ e − st dt , 0 Page 16-12 et vous remarquerez que la variable par défaut du CAS X dans l’Editeur d’équations remplace la variable s dans cette définition. Par conséquent, quand vous utilisez la fonction LAP, vous obtenez une fonction de X, qui est la transformation de Laplace de f(X). Exemple 2 – Obtenir la définition de la transformation de Laplace de f(t) = e2t⋅sin(t). Utilisez: ‘EXP(2*X)*SIN(X)’ ` LAP. La calculatrice renvoie le résultat suivant : 1/(SQ(X-2)+1). Appuyez µ pour obtenir, 1/(X2-4X+5). Pour écrire ce résultat sur papier, vous devriez écrire : F ( s ) = L{e 2t ⋅ sin t} = 1 s − 4⋅s +5 2 Exemple 3 – Déterminer la transformation de Laplace inverse de F(s) =sin(s). Utiliser: Utilisez: ‘SIN(X)’ ` ILAP. La calculatrice prend quelques secondes pour renvoyer le résultat : ‘ILAP(SIN(X))’, signifiant qu'il n'y a pas de solution exacte pour f(t), tel que f(t) = L -1{sin(s)}. Exemple 4 – Déterminer la transformation de Laplace inverse de F(s) =1/s3. Utiliser: ‘1/X^3’ ` ILAP µ. La calculatrice renvoie le résultat : ‘X^2/2’, qui est interprété comme L -1{1/s3} = t2/2. Exemple 5 – Déterminer la transformée de Laplace pour la fonction f(t) = cos (a⋅t+b). Utilisez : ‘COS(a*X+b)’ ` LAP. La calculatrice renvoie le résultat suivant: Appuyez sur µ pour obtenir –(a sin(b) – X cos(b))/(X2+a2). La transformation est assimilée comme suit : L {cos(a⋅t+b)} = (s⋅cos b – a⋅sin b)/(s2+a2). Théorèmes de la transformation de Laplace Pour vous aider à déterminer la transformée de Laplace pour des fonctions, vous pouvez employer plusieurs théorèmes, dont certains sont présentés cidessous. Quelques exemples d’application des théorèmes sont aussi proposés. Page 16-13 • Théorème de différentiation pour la première dérivée. Supposons que fo est la condition initiale de f(t), à savoir f(0) = fo, alors L{df/dt} = s⋅F(s) - fo. Exemple 1 – La vélocité d’une particule mobile v(t) est définie par v(t) = dr/dt, où r = r(t) est la position de cette particule. Supposons que ro = r(0) et que R(s) =L{r(t)}, alors la transformation de la vélocité peut s’écrire :V(s) = L{v(t)}=L{dr/dt}= s⋅R(s)-ro. • Théorème de différentiation pour la seconde dérivée. Supposons que fo = f(0) et que (df/dt)o = df/dt|t=0, alors L{d2f/dt2} = s2⋅F(s) - s⋅fo – (df/dt) o. Exemple 2 – A la suite de l’exemple 1, l’accélération a(t) est définie par a(t) = d2r/dt2. Si la vélocité initiale est vo = v(0) = dr/dt|t=0, alors la transformée de Laplace de l’accélération peut s’écrire : A(s) = L{a(t)} = L{d2r/dt2}= s2⋅R(s) - s⋅ro – v o. • Théorème de différentiation de la nième dérivée. Supposons que f (k)o = dkf/dxk|t = 0, et que fo = f(0), alors L{dnf/dtn} = sn⋅F(s) – sn-1⋅fo −…– s⋅f(n-2)o – f (n-1) . o • Théorème de linéarité. L{af(t)+bg(t)} = a⋅L{f(t)} + b⋅L{g(t)}. • Théorème de différentiation de la fonction image. Supposons que F(s) = L{f(t)}, alors dnF/dsn = L{(-t)n⋅f(t)}. Example 3 – Supposons que f(t) = e–at, en utilisant la calculatrice avec ‘EXP (-a*X)’ ` LAP, vous obtenez ‘1/(X+a)’ ou F(s) = 1/(s+a). La dérivée troisième de cette expression peut être calculée en utilisant : ‘X’ ` ‚¿ ‘X’ `‚¿ ‘X’ ` ‚¿ µ Le résultat est : Page 16-14 ‘-6/(X^4+4*a*X^3+6*a^2*X^2+4*a^3*X+a^4)’ ou d3F/ds3 = -6/(s4+4⋅a⋅s3+6⋅a2⋅s2+4⋅a3⋅s+a4). Maintenant, utilisez : ‘(-X)^3*EXP(-a*X)’ ` LAP µ. Le résultat est exactement le même. • Théorème d’intégration. Supposons que F(s) = L{f(t)}, alors L • {∫ t 0 } f (u )du = 1 ⋅ F ( s ). s Théorème de convolution. Supposons que F(s) = L{f(t)} et G(s) = L{g(t)}, alors L {∫ t 0 } f (u ) g (t − u )du = L{( f * g )(t )} = L{ f (t )} ⋅L{g (t )} = F ( s ) ⋅ G ( s ) Exemple 4 – En utilisant le théorème de convolution, trouvez la transformée de Laplace de (f*g)(t), if f(t) = sin(t) et g(t) = exp(t). Pour trouver F(s) = L{f(t)} et G(s) = L{g(t)}, utilisez : ‘SIN(X)’ ` LAPµ . Résultat : ‘1/(X^2+1)’, à savoir F(s) = 1/(s2+1). De même, ‘EXP(X)’ `LAP. Résultat : ‘1/(X-1)’, à savoir G(s) = 1/(s-1). Par conséquent, L{(f*g)(t)} = F(s)⋅G(s) = 1/(s2+1)⋅1/(s-1) = 1/((s-1)(s2+1)) = 1/(s3-s2+s-1). • • Théorème du retard pour un déplacement vers la droite. Supposons que F(s) = L{f(t)}, alors L{f(t-a)}=e–as⋅L{f(t)} = e–as⋅F(s). Théorème du retard pour un déplacement vers la gauche. Supposons que F(s) = L{f(t)} et que a >0, alors a L{ f (t + a )} = e as ⋅ F ( s ) − ∫ f (t ) ⋅ e − st ⋅ dt . 0 Page 16-15 • • • Théorème de similarité. Supposons que F(s) = L{f(t)} et que a>0, alors L{f(a⋅t)} = (1/a)⋅F(s/a). Théorème d’amortissement. Supposons que F(s) = L{f(t)} et que L{e–bt⋅f(t)} = F(s+b). Théorème de division. Supposons que F(s) = L{f(t)}, alors ∞ f (t ) L = ∫ s F (u )du. t • Transformation de Laplace d’une fonction périodique de période T: L{ f (t )} = • T 1 ⋅ f (t ) ⋅ e − st ⋅ dt. − sT ∫ 0 1− e Théorème de la valeur initiale: Supposons que F(s) = L{f(t)}, alors f 0 = lim f (t ) = lim[ s ⋅ F ( s )]. t →0 • s →∞ Théorème de la valeur finale: Supposons que F(s) = L{f(t)}, alors f ∞ = lim f (t ) = lim[ s ⋅ F ( s )]. t →∞ s →0 Fonction delta de Dirac et fonction d’étape de Heaviside Dans l’analyse des systèmes de contrôle, il est usuel d’utiliser un type de fonctions qui représentent certaines occurrences physiques telles que l’activation soudaine d’un interrupteur (fonction d’étape de Heaviside, H(t)) ou une arête soudain et instantanée dans les données d’entrée du système (fonction delta de Dirac, δ(t)). Ces fonctions appartiennent à une classe de fonctions connues comme fonctions généralisées ou symboliques [se référer à Friedman, B., 1956, Principles and Techniques of Applied Mathematics (Dover Publications Inc., New York - réédition 1990)]. La définition formelle de la fonction delta de Dirac, δ(x), est δ(x) = 0, pour x ≠0, et ∫ ∞ −∞ δ ( x)dx = 1.0. Page 16-16 De même, si f(x) est une fonction continue, alors ∫ ∞ −∞ f ( x)δ ( x − x0 )dx = f ( x0 ). Une interprétation de l’intégrale ci-dessus, paraphrase de celle de Friedman (1990), consiste à dire que la fonction δ“sélectionne ” la valeur de la fonction f(x) at x = x0. La fonction delta de Dirac est généralement représentée par une flèche vers le haut au point x = x0, indiquant que la fonction a une seule valeur non égale à zéro pour cette valeur particulière de x0. La fonction d’étape de Heaviside, H(x), est définie par 1, x > 0 H ( x) = 0, x < 0 De même, pour une fonction continue f (x) telle que : ∫ ∞ −∞ f ( x) H ( x − x0 )dx = ∫ ∞ x0 f ( x)dx. Les fonctions delta de Dirac et d’étape de Heaviside sont liées par dH/dx = δ (x). Les deux fonctions sont illustrées ci-dessous: y y (x _ x 0 ) H(x _ x 0 ) 1 x0 x x0 x Vous pouvez prouver que L{H(t)} = 1/s, D’où il s’ensuit que L{Uo⋅H(t)} = Uo/s, où Uo est une constante. De même, L -1{1/s}=H(t), et L -1{ Uo /s}= Uo⋅H(t). Page 16-17 De même, en utilisant le théorème du retard pour un déplacement vers la droite, L{f(t-a)}=e–as⋅L{f(t)} = e–as⋅F(s), nous pouvons écrire que L{H(t-k)}=e–ks⋅L{H(t)} = e–ks⋅(1/s) = (1/s)⋅e–ks. Un autre résultat important, connu comme le second théorème du retard pour un déplacement vers la droite, est que L -1{e–as ⋅F(s)}=f(t-a)⋅H(t-a), avec F(s) = L{f(t)}. Dans la calculatrice, la fonction d’étape de Heaviside H(t) est simplement nommée ‘1’. Pour vérifier la transformée avec la calculatrice, utilisez : 1 ` LAP. Le résultat est ‘1/X’, à savoir L{1} = 1/s. De façon similaire, ‘U0’ ` LAP, produit le résultat ‘U0/X’, à savoir L{U0} = U0/s. Vous pouvez obtenir la fonction delta de Dirac sur la calculatrice en utilisant : 1` ILAP. Le résultat est ‘Delta(X)’. Ce résultat est simplement symbolique, cela signifie que vous ne pouvez pas trouver de valeur numérique, pour, par ex., ‘Delta(5)’. Ce résultat peut être défini comme la transformée de Laplace de la fonction delta de Dirac parce que de L -1{1.0}= δ(t), il s'ensuit que L{δ(t)} = 1.0 De même, en utilisant le théorème du retard pour un déplacement vers la droite, L{f(t-a)}=e–as⋅L{f(t)} = e–as⋅F(s), nous pouvons écrire que L{δ(t-k)}=e–ks⋅L{δ(t)} = e–ks⋅1.0 = e–ks. Applications de la transformation de Laplace à la solution d’ODE linéaires Au début de cette section sur les transformations de Laplace, nous avons indiqué que vous pouviez utiliser ces transformations pour convertir une ODE linéaire dans le domaine temporel en équation algébrique dans le domaine image. L’équation résultante est ensuite résolue pour une fonction F(s) par des méthodes algébriques et la solution à l’ODE est trouvée en utilisant la transformée de Laplace inverse de F(s). Les théorèmes sur les dérivées d’une fonction, à savoir : Page 16-18 L{df/dt} = s⋅F(s) - fo, L{d2f/dt2} = s2⋅F(s) - s⋅fo – (df/dt) o, et, en général : L{dnf/dtn} = sn⋅F(s) – sn-1⋅fo −…– s⋅f(n-2)o – f (n-1) , o sont particulièrement utiles pour transformer une ODE en équation algébrique. Exemple 1 – Pour résoudre une équation du premier ordre telle que : dh/dt + k⋅h(t) = a⋅e–t, en utilisant la transformation de Laplace, nous pouvons écrire : L{dh/dt + k⋅h(t)} = L{a⋅e–t}, L{dh/dt} + k⋅L{h(t)} = a⋅L{e–t}. Note: ‘EXP(-X)’ ` LAP , produit ‘1/(X+1)’, à savoir L{e–t }=1/(s+1). Avec H(s) = L{h(t)}, et L{dh/dt} = s⋅H(s) - ho, où ho = h(0), la transformée a la valeur suivante : s⋅H(s)-ho+k⋅H(s) = a/(s+1). Utilisez la calculatrice pour résoudre H(s), en écrivant : ‘X*H-h0+k*H=a/(X+1)’ ` ‘H’ ISOL Le résultat est ‘H=((X+1)*h0+a)/(X^2+(k+1)*X+k)’. Pour trouver la solution à l’ODE, h(t), nous devons utiliser la transformation de Laplace inverse, comme suit : OBJ ƒ ƒ ILAP µ isole la partie droite de la dernière expression obtient la transformée de Laplace inverse Page 16-19 . En remplaçant X par t dans cette Le résultat est expression et après simplification, le résultat devient h(t) = a/(k-1)⋅e-t +((k-1)⋅ho-a)/(k-1)⋅e-kt. Vérifiez quelle serait la solution à l’ODE si vous utilisiez la fonction LDEC : ‘a*EXP(-X)’ ` ‘X+k’ ` LDEC µ Le résultat est : , c’est-à-dire : h(t) = a/(k-1)⋅e-t +((k-1)⋅cCo-a)/(k-1)⋅e-kt. Par conséquent, cC0 dans les résultats de la fonction LDEC représente la condition initiale h(0). Note: Quand on utilise la fonction LDEC pour résoudre une ODE linéaire d’ordre n en f(X), le résultat est donné en termes de n constantes cC0, cC1, cC2, …, cC(n-1) représentant les conditions initiales f(0), f’(0), f”(0), …, f(n-1) (0). Exemple 2 – Utiliser les transformations de Laplace pour résoudre l’équation linéaire de second ordre , d2y/dt2+2y = sin 3t. En utilisant la transformation de Laplace, nous pouvons écrire : L{d2y/dt2+2y} = L{sin 3t}, L{d2y/dt2} + 2⋅L{y(t)} = L{sin 3t}. Page 16-20 Note: ‘SIN(3*X)’ ` LAP µ produit ‘3/(X^2+9)’, à savoir L{sin 3t}=3/(s2+9). Avec Y(s) = L{y(t)}, et L{d2y/dt2} = s2⋅Y(s) - s⋅yo – y1, ou yo = h(0) and y1 = h’(0), l’équation transformée est s2⋅Y(s) – s⋅yo – y1 + 2⋅Y(s) = 3/(s2+9). Utilisez la calculatrice pour résoudre Y(s), en écrivant : ‘X^2*Y-X*y0-y1+2*Y=3/(X^2+9)’ ` ‘Y’ ISOL Le résultat est ‘Y=((X^2+9)*y1+(y0*X^3+9*y0*X+3))/(X^4+11*X^2+18)’. Pour trouver la solution de l’ODE, y(t), nous devons utiliser la transformation de Laplace inverse, comme suit : OBJ ƒ ƒ ILAP µ isole la partie droite de la dernière expression obtient la transformée de Laplace inverse Le résultat est à savoir, y(t) = -(1/7) sin 3x + yo cos √2x + (√2 (7y1+3)/14) sin √2x. Vérifiez quelle serait la solution à l’ODE si vous utilisiez la fonction LDEC : ‘SIN(3*X)’ ` ‘X^2+2’ ` LDEC µ Le résultat est: Page 16-21 i.e., the same as before with cC0 = y0 and cC1 = y1. Note: En utilisant les deux exemples présentés ici, nous pouvons confirmer ce que nous avons indiqué plus tôt, à savoir que la fonction ILAP utilise la transformation de Laplace et la transformation de Laplace inverses pour résoudre des ODE linéaires à partir de la partie droite de l’équation et de l’équation caractéristique de l’ODE homogène correspondante. Exemple 3 – Considérons l’équation d2y/dt2+y = δ(t-3), où δ(t) est la fonction delta de Dirac. En utilisant la transformation de Laplace, nous pouvons écrire : L{d2y/dt2+y} = L{δ(t-3)}, L{d2y/dt2} + L{y(t)} = L{δ(t-3)}. Avec ‘Delta(X-3)’ ` LAP , la calculatrice indique EXP(-3*X), c’est-à-dire : L{δ(t-3)} = e–3s. Avec Y(s) = L{y(t)} et L{d2y/dt2} = s2⋅Y(s) - s⋅yo – y1, où yo = h(0) et y1 = h’(0), l’équation transformée est s2⋅Y(s) – s⋅yo – y1 + Y(s) = e–3s. Utilisez la calculatrice pour résoudre Y(s), en écrivant: ‘X^2*Y-X*y0-y1+Y=EXP(-3*X)’ ` ‘Y’ ISOL Le résultat est ‘Y=(X*y0+(y1+EXP(-(3*X))))/(X^2+1)’. Pour trouver la solution de l’ODE, y(t), nous devons utiliser la transformation de Laplace inverse, comme suit : OBJ ƒ ƒ ILAP µ isole la partie droite de la dernière expression obtient la transformée de Laplace inverse Page 16-22 Le résultat est ‘y1*SIN(X)+y0*COS(X)+SIN(X-3)*Heaviside(X-3)’. Notes : [1] Une autre méthode pour obtenir la transformation de Laplace inverse Cela signifie que la calculatrice « a jeté l’éponge » et a décidé de ne pas trouver une transformée de Laplace inverse pour l’expression ‘(X*y0+(y1+EXP(-(3*X))))/(X^2+1)’. Voyons si nous pouvons l’aider en séparant l’expression en fractions partielles, comme suit : ‘y0*X/(X^2+1) + y1/(X^2+1) + EXP(-3*X)/(X^2+1)’, et utilisant le théorème de la transformation de Laplace inverse L -1{a⋅F(s)+b⋅G(s)} = a⋅L -1{F(s)} + b⋅L -1{G(s)}, Pour écrire : L -1{yo⋅s/(s2+1)+y1/(s2+1)} + e–3s/(s2+1))} = yo⋅L -1{s/(s2+1)}+ y1⋅L -1{1/(s2+1)}+ L -1{e–3s/(s2+1))}, Ensuite, nous utilisons la calculatrice pour obtenir le résultat suivant: ‘X/(X^2+1)’ ` ILAP donne ‘COS(X)’, c’est-à-dire : L -1{s/(s2+1)}= cos t. ‘1/(X^2+1)’ ` ILAP donne en ‘SIN(X)’, c’est-à-dire : L -1{1/(s2+1)}= sin t ‘EXP(-3*X)/(X^2+1)’ ` ILAP donne en, SIN(X-3)*Heaviside(X-3)’. [2]. Le dernier résultat, à savoir la transformation de Laplace inverse de l’expression ‘(EXP(-3*X)/(X^2+1))’, peut aussi être calculé en utilisant le deuxième théorème de déplacement sur la droite. Aussi L -1{e–as ⋅F(s)}=f(t-a)⋅H(t-a), Page 16-23 si nous pouvons trouver une transformée de Laplace inverse 1/(s2+1). Avec la calculatrice, essayez de saisir : ‘1/(X^2+1)’ ` ILAP. Le résultat est : ‘SIN(X)’. Par conséquent, L -1{e–3s/(s2+1))} = sin(t-3)⋅H(t-3) Vérifiez quelle serait la solution à l’ODE si vous utilisiez la fonction LDEC : ‘Delta(X-3)’ ` ‘X^2+1’ ` LDEC µ Le résultat est : ‘SIN(X-3)*Heaviside(X-3) + cC1*SIN(X) + cC0*COS(X)+’. Remarquez que la variable X dans cette expression représente en fait la variable t de l’ODE initiale. Par conséquent, la traduction sur papier de la solution peut s’écrire : y (t ) = Co ⋅ cos t + C1 ⋅ sin t +sin(t − 3) ⋅ H (t − 3) Si nous comparons ce résultat avec le résultat précédent pour y(t), nous pouvons conclure que : cCo = yo, cC1 = y1. Comment définir et utiliser la fonction d’étape de Heaviside sur la calculatrice L’exemple précédent a fourni quelques expériences pratiques de l’utilisation de la fonction delta de Dirac comme donnée d’entrée dans le système (à savoir dans la partie droite de l’ODE décrivant le système). Dans cet exemple, nous voulons maintenant utiliser la fonction d’étape de Heaviside, H(t). Dans la calculatrice, nous pouvons définir cette fonction comme suit : ‘H(X) = IFTE(X>0, 1, 0)’ `„à Cette définition va créer la variable @@@H@@@ dans la touche menu de la calculatrice. Page 16-24 Exemple 1 – Pour visualiser un tracé de H(t-2), par exemple, utiliser un tracé de type FUNCTION (voir Chapitre 12): • • Appuyez sur „ô, - simultanément en mode RPN - pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour Function, si besoin est Modifiez EQ pour ‘H(X-2)’. Vérifiez que Indep est aussi sur ‘X’. Appuyez sur L @@@OK@@@ pour revenir à l’affichage normal de la calculatrice. Appuyez sur les deux touches „ò, - simultanément en mode RPN pour accéder à la fenêtre PLOT. Changez l’échelle de H-VIEW de 0 sur 20 et l’échelle de V-VIEW de -2 sur 2. Appuyez sur @ERASE @DRAW pour tracer la fonction. L’utilisation de la fonction H(X) avec LDEC, LAP ou ILAP n’est pas permise sur la calculatrice. Vous devez utiliser les résultats principaux fournis précédemment lorsque vous travailliez avec la fonction d’étape de Heaviside, à savoir : L{H(t)} = 1/s, L -1{1/s}=H(t), L{H(t-k)}=e–ks⋅L{H(t)} = e–ks⋅(1/s) = ⋅(1/s)⋅e–ks et L -1{e–as ⋅F(s)}=f(t-a)⋅H(t-a). Exemple 2 – La fonction H(t-to), lorsqu’elle est multipliée par une fonction f(t), à savoir H(t-to)f(t), enclenche la fonction f(t) à t = to. Par exemple, la solution obtenue à l’exemple 3 ci-dessus était y(t) = yo cos t + y1 sin t + sin(t-3)⋅H(t-3). Supposons que nous utilisions les conditions initiales yo = 0.5 et y1 = -0.25. Procédons au tracé de la fonction pour voir à quoi elle ressemble : • Appuyez sur les deux touches „ô, simultanément en mode RPN pour accéder à la fenêtre de configuration PLOT SETUP. Modifiez TYPE pour FUNCTION, si besoin est Changez EQ en ‘0.5*COS(X)-0.25*SIN(X)+SIN(X-3)*H(X-3)’. Assurez-vous que Indep est paramétré pour ‘X’. Appuyez sur @ERASE @DRAW pour tracer la fonction. Page 16-25 Appuyez sur @EDIT L @LABEL pour voir le tracé. Le graphe résultant ressemble à ceci : Notez que le signal commence avec une amplitude relativement faible, puis soudain, en t=3, il bascule en signal oscillatoire avec une plus grande amplitude. La différence de comportement avant et après t = 3 coïncide avec « l’enclenchement » de la solution particulière yp(t) = sin(t-3)⋅H(t-3). Le comportement du signal avant t = 3 représente la contribution de la solution homogène à savoir : yh(t) = yo cos t + y1 sin t. La solution d’une équation avec un signal directeur donnée par une fonction d’étape de Heaviside est présentée ci-dessous. Exemple 3 – Déterminer la solution de l’équation, d2y/dt2+y = H(t-3), où H(t) est la fonction d’étape de Heaviside. En utilisant les transformations de Laplace, nous pouvons écrire : L{d2y/dt2+y} = L{H(t-3)}, L{d2y/dt2} + L{y(t)} = L{H(t-3)}. Le dernier terme de cette expression est : L{Η(t-3)} = (1/s)⋅e–3s. Avec Y(s) = L{y(t)} et L{d2y/dt2} = s2⋅Y(s) - s⋅yo – y1, où yo = h(0) et y1 = h’(0), l'équation transformée est s2⋅Y(s) – s⋅yo – y1 + Y(s) = (1/s)⋅e–3s. Paramétrez le mode CAS sur Exact, si besoin est. Utilisez la calculatrice pour résoudre Y(s), en écrivant : ‘X^2*Y-X*y0-y1+Y=(1/X)*EXP(-3*X)’ ` ‘Y’ ISOL Le résultat est ‘Y=(X^2*y0+X*y1+EXP(-3*X))/(X^3+X)’. Pour trouver la solution de l’ODE y(t), nous devons utiliser la transformation de Laplace inverse, comme suit : OBJ ƒ ƒ isole la partie droite de la dernière expression Page 16-26 ILAP obtient la transformée de Laplace inverse Le résultat est ‘y1*SIN(X-1)+y0*COS(X-1)-(COS(X-3)-1)*Heaviside(X-3)’. Par conséquent, nous écrivons la solution : y(t) = yo cos t + y1 sin t + H(t3)⋅(1+sin(t-3)). Vérifiez aussi la solution de l’ODE si nous avions utilisé la fonction LDEC : ‘H(X-3)’ `[ENTER] ‘X^2+1’ ` LDEC Le résultat est : Veuillez remarquer que la variable X dans cette expression représente, en fait, la variable t de l’ODE initiale et que la variable ttt dans cette même expression est une variable aléatoire. Par conséquent, pour écrire ce résultat sur papier, vous devriez écrire : ∞ y (t ) = Co ⋅ cos t + C1 ⋅ sin t + sin t ⋅ ∫ H (u − 3) ⋅ e −ut ⋅ du. 0 Exemple 4 – Tracer la solution de l’exemple 3 en utilisant les mêmes valeurs de yo et y1 utilisées pour le tracé de l’exemple 1 ci-dessus. Nous traçons maintenant la fonction y(t) = 0.5 cos t –0.25 sin t + (1+sin(t-3))⋅H(t-3). Sur l’échelle 0 < t < 20, et en changeant l’échelle verticale sur (-1,3), le graphe devrait ressembler à ceci : Page 16-27 A nouveau, on constate une nouvelle composante du mouvement en t=3, à savoir que la solution particulière yp(t) = [1+sin(t-3)]⋅H(t-3), ce qui change la nature de la solution pour t>3. La fonction d’étape de Heaviside peut être combinée avec une fonction constante et avec des fonctions linéaires pour générer des impulsions finies, carrées, triangulaires et en dents de scie, comme suit : • Impulsion carrée de taille Uo dans l’intervalle a < t < b : f(t) = Uo[H(t-a)-H(t-b)]. • Impulsion triangulaire avec une valeur maximum Uo, croissante de a < t < b, décroissante de b < t < c: f(t) = Uo⋅ ((t-a)/(b-a)⋅[H(t-a)-H(t-b)]+(1-(t-b)/(b-c))[H(t-b)-H(t-c)]). • Impulsion en dents de scie croissant à une valeur maximum Uo pour a < t < b, tombant soudainement à zéro à t = b: f(t) = Uo⋅ (t-a)/(b-a)⋅[H(t-a)-H(t-b)]. • Impulsion en dents de scie croissant soudainement à un maximum de Uo à t = a, puis décroissant de façon linéaire jusqu’à zéro pour a < t < b: f(t) = Uo⋅[1-(t-a)/(b-1)]⋅[H(t-a)-H(t-b)]. Des exemples de tracés générés par ces fonctions, pour Uo = 1, a = 2, b = 3, c = 4, échelle de x = (0,5) et échelle de y = (-1, 1.5) sont illustrés ci-dessous : Page 16-28 Séries de Fourier Les séries de Fourier sont des séries impliquant des fonctions sinus et cosinus qui sont généralement utilisées pour développer des fonctions périodiques. Une fonction f(x) est dite périodique, de période T, si f(x+T) = f(t). Par exemple, parce que sin(x+2π) = sin x et cos(x+2π) = cos x, les fonctions sin et cos sont des fonctions périodiques de période 2π. Si deux fonctions f(x) g(x) sont périodiques, de période T, alors leur combinaison linéaire h(x) = a⋅f(x) + b⋅g(x) est également périodique, de période T. Une fonction périodique de période T f(t) peut être développée en une série de fonctions sinus et cosinus sous forme de séries de Fourier, de formule ∞ 2nπ 2nπ f (t ) = a 0 + ∑ a n ⋅ cos t + bn ⋅ sin T T n =1 t où les coefficients an and bn sont donnés par a0 = 1 T /2 2 T /2 2nπ f ( t ) ⋅ dt , a = t ⋅ dt , f (t ) ⋅ cos n ∫ ∫ − − T / 2 T / 2 T T T bn =∫ T /2 − T /2 f (t ) ⋅ sin 2 nπ t⋅ dt. T Les exercices suivants sont en mode ALG, le système CAS étant paramétré sur mode Exact (quand vous dessinez un graphique, le mode du CAS revient sur le mode Approx ; faites attention à le remettre sur Exact après chaque tracé de graphique). Supposons, par exemple, que la fonction f(t) = t2+t est périodique avec une période T = 2. Pour déterminer les coefficients a0, a1, et b1 des séries de Fourier correspondantes, nous procédons comme suit : nous définissons tout d’abord la fonction f(t) = t2+t : Page 16-29 Ensuite, nous utilisons l’Editeur d’équations pour calculer les coefficients : Par conséquent, les trois premiers termes de la fonction sont : f(t) ≈ 1/3 – (4/π2)⋅cos (π⋅t)+(2/π)⋅sin (π⋅t). Une comparaison graphique de la fonction initiale avec le développement de Fourier utilisant ces trois termes montre que l’adéquation est acceptable pour t < 1 ou alentour. Mais, là encore, nous avons stipulé que T/2 = 1. Par conséquent, l’adéquation n’est valable que pour –1 < t < 1. Fonction de FOURIER Une autre méthode pour résoudre une série de Fourier fait appel aux nombres complexes : f (t ) = +∞ ∑c n = −∞ n ⋅ exp( 2inπt ), T Page 16-30 où cn = 2 ⋅ i ⋅ n ⋅π 1 T f (t ) ⋅ exp(− ⋅ t ) ⋅ dt , n = −∞,...,−2,−1,0,1,2,..∞ . ∫ T 0 T La fonction de FOURIER fournit le coefficient cn de la forme complexe des séries de Fourier étant donnée la fonction f(t) et la valeur de n. La fonction de FOURIER nécessite que vous enregistriez la valeur de la période (T) d’une fonction périodique T dans la variable du CAS PERIOD avant d’utiliser la fonction. La fonction de FOURIER est disponible dans le sous-menu DERIV du menu („Ö). Séries de Fourier pour une équation fonction Déterminer les coefficients c0, c1, et c2 pour la fonction f(t) = t2+t, avec une période T = 2 (note: parce que l’intégrale utilisée par la fonction de FOURIER est calculée dans l’intervalle [0,T], tandis que cellle définie précédemment était calculée dans l’intervalle[-T/2,T/2], nous devons déplacer la fonction sur l’axe t, en soustrayant T/2 de t, c’est-à-dire que nous allons utiliser g(t) = f(t-1) = (t-1)2+(t-1).) En utilisant la calculatrice en mode ALG, commencez par définir les f(t) et g(t): Ensuite, nous allons au sous-répertoire CASDIR dans HOME pour changer la variable PERIOD, par exemple : „ (maintenir) §`J @)CASDI `2 K @PERIOD ` Page 16-31 Retournez au sous-répertoire où vous avez défini les fonctions f et g et calculez les coefficients (les modifications sont autorisées en mode Complex, le cas échéant) : Par conséquent, c0 = 1/3, c1 = (π⋅i+2)/π2, c2 = (π⋅i+1)/(2π2). Les séries de Fourier à trois éléments seront écrites comme suit : g(t) ≈ Re[(1/3) + (π⋅i+2)/π2⋅exp(i⋅π⋅t)+ (π⋅i+1)/(2π2)⋅exp(2⋅i⋅π⋅t)]. Un tracé de l’adéquation de la fonction déplacée g(t) et des séries de Fourier est présenté ci-dessous : L’adéquation est à peu près acceptable pour 0<t<2, même si elle n’est pas aussi bonne que dans l’exemple précédent. Page 16-32 Une expression générale pour cn La fonction de FOURIER peut fournir une expression générale pour le coefficient cn du développement complexe des séries de Fourier. Par exemple, en utilisant la même fonction g(t) que précédemment, le terme général cn est donné par les formules suivantes (l’illustration montre l’affichage en petite police et en grande police) : L’expression générale s’avère être, après simplification du résultat précédent : cn = (nπ + 2i ) ⋅ e 2inπ + 2i 2 n 2π 2 + 3nπ − 2i 2n 3π 3 ⋅ e 2inπ Nous pouvons simplifier encore plus cette expression en utilisant la formule de Euler pour les nombres complexes, à savoir : e2inπ = cos(2nπ) + i⋅sin(2nπ) = 1 + i⋅0 = 1, puisque cos(2nπ) = 1 et sin(2nπ) = 0 pour un entier. En utilisant la calculatrice, vous pouvez simplifier l’expression dans l’Editeur d’équations (‚O) en remplaçant e2inπ = 1. L’illustration présente l’expression après simplification : Le résultat est cn = (i⋅n⋅π+2)/(n2⋅π2). Page 16-33 Construire les séries de Fourier complexes Ayant déterminé l’expression générale de cn, nous pouvons construire des séries de Fourier finies complexes en utilisant la fonction somme (Σ) de la calculatrice comme suit : • Tout d’abord, définir une fonction c(n) représentant le terme général cn dans les séries de Fourier complexes. • Ensuite, définir les séries de Fourier finies complexes, F(X,k), où X est la variable indépendante et k détermine le nombre de termes à utiliser. Idéalement, nous voudrions écrire les séries de Fourier finies complexes sous forme : F(X , k) = k ∑ c(n) ⋅ exp( n=− k 2 ⋅ i ⋅π ⋅ n ⋅ X) T Cependant, parce que la fonction c(n) n’est pas définie pour n = 0, nous serions mieux avisés de réécrire l’expression ainsi F ( X , k , c 0) = c 0 + k ∑ [c(n) ⋅ exp( n =1 2 ⋅ i ⋅π ⋅ n 2 ⋅ i ⋅π ⋅ n ⋅ X ) + c(−n) ⋅ exp(− ⋅ X )], T T ou sur la ligne de saisie de la calculatrice : DEFINE(‘F(X,k,c0) = c0+Σ(n=1,k,c(n)*EXP(2*i*π*n*X/T)+ c(-n)*EXP(-(2*i*π*n*X/T))’), Page 16-34 où T est la période T = 2. Les saisies d’écran ci-dessous présentent la définition de la fonction F et l’enregistrement de T = 2: La fonction @@@F@@@ peut être utilisée pour générer l’expression des séries de Fourier finies complexes pour une valeur finie de k. Par exemple, pour k = 2, c0 = 1/3 et, utilisant t comme variable indépendante, nous pouvons évaluer F(t,2,1/3) pour obtenir : Ce résultat ne montre que les premiers termes (c0) et une partie du premier terme exponentiel des séries. Le format d’affichage décimal peut être changé en un Fix à 2 décimales afin de pouvoir afficher certains des coefficients du développement et de l’exposant. Comme prévu, les coefficients sont des nombres complexes. La fonction F ainsi définie convient pour obtenir les valeurs des séries de Fourier finies. Par exemple, une valeur unique des séries, à savoir F(0.5,2,1/3), peut être obtenue en utilisant (les modes CAS paramétrés sur Exact, Pas à pas, et Complex): Page 16-35 Acceptez le changement en mode Approx selon que de besoin est. Le résultat est –0.40467…. La valeur réelle de la fonction g(0.5) est g(0.5) = -0.25. Les calculs suivants montrent combien les séries de Fourier parviennent à donner une bonne approximation de cette valeur quand le nombre des composantes des séries, donné par k, augmente : F F F F F F (0.5, (0.5, (0.5, (0.5, (0.5, (0.5, 1, 2, 3, 4, 5, 6, 1/3) 1/3) 1/3) 1/3) 1/3) 1/3) = = = = = = (-0.303286439037,0.) (-0.404607622676,0.) (-0.192401031886,0.) (-0.167070735979,0.) (-0.294394690453,0.) (-0.305652599743,0.) Afin de comparer les résultats de ces séries avec ceux de la fonction initiale, chargez ces fonctions dans le formulaire de saisie de la fonction PLOT – FUNCTION („ñ, en appuyant simultanément si vous utilisez le mode RPN mode) : Changez les limites de la fenêtre de tracé („ò) comme suit : Appuyez sur les touches menu @ERASE @DRAW pour lancer le tracé : Page 16-36 Remarquez que les séries, avec 5 termes, “embrassent” le graphe de la fonction assez étroitement dans l’intervalle 0 à 2 (à savoir pendant la période T = 2). Vous pouvez aussi remarquer une périodicité dans le graphique des séries. Cette périodicité est facile à visualiser en augmentant l’échelle des abscisses sur le tracé à (-0.5,4): Séries de Fourier pour une onde triangulaire Considérons la fonction x, if 0 < x < 1 g ( x) = 2 − x, if 1 < x < 2 que nous supposons être périodique avec une période T = 2. Cette fonction peut être définie sur la calculatrice, en mode ALG, par l’expression DEFINE(‘g(X) = IFTE(X<1,X,2-X)’) Si vous attaquez cet exemple après avoir terminé l’exemple 1, vous avez déjà une valeur de 2 enregistrée dans la variable du CAS PERIOD. Si vous n’en êtes pas sûr, vérifiez la valeur de cette variable et enregistrez la valeur 2 si nécessaire. Le coefficient c0 pour les séries de Fourier est calculé comme suit : Page 16-37 La calculatrice vous demandera un changement en mode Approx à cause de l’intégration de la fonction IFTE() incluse dans l’intégrant. En acceptant, le changement sur Approx donne c0 = 0.5. Si nous voulons maintenant obtenir une expression générique pour le coefficient cn nous pouvons utiliser : La calculatrice renvoie une intégrale qui ne peut pas être évaluée numériquement car elle dépend du paramètre n. Le coefficient peut toujours être calculé en saisissant sa définition dans la calculatrice, comme suit : 1 1 i ⋅ 2 ⋅ n ⋅π ⋅ X ⋅ ∫ X ⋅ EXP − T 2 0 ⋅ dX + 1 2 i ⋅ 2 ⋅ n ⋅π ⋅ X ⋅ ∫ (2 − X ) ⋅ EXP − ⋅ dX 2 1 T où T = 2 est la période. La valeur de T peut être enregistrée en utilisant : Pour obtenir ceci, entrez la première intégrale dans l’Editeur d’équations, choisissez l’expression entière puis utilisez @EVAL@ : Page 16-38 Souvenez-vous que einπ = cos(nπ) + i⋅sin(nπ) = (-1)n . En procédant à cette substitution dans le résultat ci-dessus, nous obtenons : Appuyez sur `` pour copier ce résultat à l’écran. Ensuite, réactivez l’Editeur d’équations pour calculer la deuxième intégrale définissant le coefficient cn, à savoir, Une fois de plus, remplacez einπ = (-1)n, en utilisant e2inπ = 1, vous obtenez alors : Appuyez sur `` pour copier ce deuxième résultat sur l’écran. Ajoutez maintenant ANS(1) et ANS(2) afin d’obtenir l’expression complète de cn: Page 16-39 En appuyant ˜, vous envoyez ce résultat dans l’Editeur d’équations, où vous pouvez le simplifier (@SIMP@) comme suit : Une fois de plus, remplacez einπ = (-1)n, ce qui donne Ce résultat est utilisé pour définir la fonction c(n) comme suit : DEFINE(‘c(n) = - (((-1)^n-1)/(n^2*π^2*(-1)^n)’) à savoir : Ensuite, nous définissons la fonction F(X,k,c0) afin de calculer les séries de Fourier (si vous avez effectué l’exemple 1, cette fonction est déjà enregistrée) : Page 16-40 DEFINE(‘F(X,k,c0) = c0+Σ(n=1,k,c(n)*EXP(2*i*π*n*X/T)+ c(-n)*EXP(-(2*i*π*n*X/T))’), Afin de comparer la fonction initiale et les séries de Fourier, nous pouvons produire le tracé simultané des deux fonctions. Les détails sont similaires à ceux de l’exemple 1, excepté que nous utilisons ici une échelle en abscisses allant de 0 à 2 et en ordonnées de 0 à 1 ; nous ajustons les équations pour obtenir un tracé tel qu’illustré ci-dessous : Le graphe résultant est présenté ci-dessous pour k = 5 (le nombre d’éléments des séries est 2k+1, à savoir 11 dans ce cas) : A partir du tracé, il est très difficile de distinguer la fonction initiale de l’approximation des séries de Fourier. En utilisant k = 2 ou 5 termes des séries on obtient une adéquation médiocre : Page 16-41 Les séries de Fourier peuvent être utilisées pour générer une onde triangulaire périodique (ou onde en dents de scie) en changeant l’échelle des abscisses, par exemple, de –2 à 4. Le graphe présenté ci-dessous utilise k = 5: Séries de Fourier pour une onde carrée Une onde carrée peut être générée en utilisant la fonction 0, if 0 < x < 1 g ( x) = 1, if 1 < x < 3 0, if 3 < x < 4 Dans ce cas, la période T est 4. S’assurer de changer la valeur de la variable @@@T@@@ to 4 (utilisez : 4 K @@@T@@ `). La fonction g(X) peut être définie dans la calculatrice en utilisant DEFINE(‘g(X) = IFTE((X>1) AND (X<3),1,0)’) La fonction est tracée comme suit (échelle des abscisses : 0 - 4, échelle des ordonnées : 0 -1.2 ): En utilisant une procédure similaire à celle employée pour l’onde triangulaire de l’exemple 2 ci –dessus, nous trouvons que Page 16-42 c0 = 1 3 ⋅ 1 ⋅ dX = 0.5 , T ∫1 et Nous pouvons simplifier cette expression en utilisant einπ/2 = in et e3inπ/2 = (-i)n afin d’obtenir : La simplification de la partie droite de c(n) ci-dessus, est plus facile sur papier (autrement dit manuellement). Ensuite, retapez l’expression de c(n) comme indiqué sur l’illustration de gauche ci-dessus, afin de définir la fonction c(n). Les séries de Fourier sont calculées avec F(X,k,c0), comme dans les exemples 1 et 2 ci-dessus, avec c0 = 0.5. Par exemple, pour k = 5, c’est-à-dire avec 11 composantes, l’approximation est telle que présentée ci-dessous : Une meilleure approximation est obtenue en utilisant k = 10, à savoir : Page 16-43 Pour k = 20, l’adéquation est encore meilleure, mais le graphe est plus long à produire : Applications des séries de Fourier aux équations différentielles Supposons que nous voulions utiliser une onde périodique carrée définie dans l’exemple précédent comme excitation d’un système de «masse-ressort» non amorti dont l’équation homogène est : d2y/dX2 + 0.25y = 0. Nous pouvons générer une force d’excitation en obtenant une approximation avec k =10 à partir des séries de Fourier en utilisant SW(X) = F(X,10,0.5) : Nous pouvons utiliser ce résultat comme donnée d’entrée initiale pour la fonction LDEC employée pour obtenir une solution au système d2y/dX2 + 0.25y = SW(X), où SW(X) représente la fonction d’onde carrée de X. Le deuxième élément desdonnées d’entrée sera la caractéristique de l’équation correspondant à l’ODE homogène présentée ci-dessus, à savoir : ‘X^2+0.25’. Avec ces deux séries de données d’entrée, la fonction LDEC produit le résultat suivant (format décimal changé sur Fix à 3 décimales) : Page 16-44 Une pression sur la commande ˜ vous permet de voir la totalité de l’expression dans l’Editeur d’équations. En explorant l’équation dans l’Editeur d’équations, on constate l’existence de deux constantes d’intégration, cC0 et cC1. Ces valeurs seraient calculées en utilisant des conditions initiales. Supposons que nous utilisions les valeurs cC0 = 0.5 et cC1 = -0.5 ; nous pouvons remplacer ces valeurs dans la solution ci-dessus en utilisant la fonction SUBST (voir Chapitre 5). Dans ce cas, utilisez SUBST(ANS(1),cC0=0.5) `, suivi de SUBST(ANS(1),cC1=-0.5) `. De retour à l’affichage normal de la calculatrice, nous pouvons utiliser : Ce dernier résultat peut être défini comme une fonction, FW(X), comme suit (en appliquant un copier/coller du dernier résultat dans la commande) : Nous pouvons maintenant tracer la partie réelle de cette fonction. Paramétrez le mode décimal sur Standard et utilisez la calculatrice comme suit : Page 16-45 La solution est présentée ci-dessous : Transformations de Fourier Avant de présenter le concept de transformations de Fourier, nous allons discuter de la définition générale d’une transformation intégrale. En général, une transformation intégrale est une transformation qui lie une fonction f(t) à une nouvelle fonction F(s) par une intégration de forme b F ( s ) = ∫ κ ( s, t ) ⋅ f (t ) ⋅ dt. La fonction κ(s,t) est connue comme le noyau de a la transformation. L’utilisation d’une transformation intégrale nous permet de résoudre une fonction en un spectre de composantes donné. Pour comprendre le concept de spectre, considérons les séries de Fourier ∞ f (t ) = a0 + ∑ (an ⋅ cos ω n x + bn ⋅ sin ω n x ), n =1 représentant une fonction périodique de période T. Les séries de Fourier peuvent être réécrites comme suit f ( x ) = a0 + ∞ ∑A n =1 n ⋅ cos(ϖ n x + φ n ), où b An = a n2 + bn2 , φ n = tan −1 n , an pour n =1,2, … Page 16-46 Les amplitudes de An seront désignées comme le spectre de la fonction et seront une mesure de magnitude de la composante f(x) de fréquence fn = n/T. La fréquence de base, ou fréquence fondamentale des séries de Fourier, étant f0 = 1/T, par conséquent, toutes les autres fréquences sont des multiples de cette fréquence de base, à savoir fn = n⋅f0. De même, nous pouvons définir une fréquence angulaire, ωn = 2nπ/T = 2π⋅fn = 2π⋅ n⋅f0 = n⋅ω0, où ω0 est la fréquence angulaire de base, ou fondamentale, des séries de Fourier. En utilisant la notation de fréquence angulaire, le développement des séries de Fourier s’écrit : ∞ f ( x) = a 0 + ∑ An ⋅ cos(ω n x + φ n ). n =1 ∞ = a0 + ∑ (an ⋅ cos ω n x + bn ⋅ sin ω n x ) n =1 Un tracé des valeurs An vs. ωn constitue la représentation typique d’un spectre discret pour une fonction. Le spectre discret montrera que la fonction a des composantes à des fréquences angulaires ωn qui sont des multiples entiers de la fréquence angulaire fondamentale ω0. Supposons que nous soyons confrontés à la nécessité de développer une fonction non périodique en composantes sinus et cosinus. Une fonction non périodique peut être considérée comme ayant une période infiniment grande. Ainsi, pour une valeur très grande de T, la fréquence angulaire fondamentale ω0 = 2π/T, devient une très petite quantité, disons ∆ω. De même, les fréquences angulaires correspondantes ωn = n⋅ω0 = n⋅∆ω, (n = 1, 2, …, ∞), prennent maintenant des valeurs de plus en plus proches les unes des autres, suggérant la nécessité d’un spectre continu de valeurs. Par conséquent, la fonction non périodique peut s’écrire ∞ f ( x) = ∫ [C (ω ) ⋅ cos(ω ⋅ x) + S (ω ) ⋅ sin(ω ⋅ x)]dω , 0 Page 16-47 où C (ω ) = 1 2π ⋅∫ ∞ −∞ f ( x) ⋅ cos(ω ⋅ x) ⋅ dx, et S (ω ) = 1 2π ⋅∫ ∞ −∞ f ( x) ⋅ sin(ω ⋅ x) ⋅ dx. Le spectre continu est donné par la formule A(ω ) = [C (ω )] 2 + [ S (ω )] 2 Les fonctions C(ω), S(ω), et A(ω) sont des fonctions continues d’une variable ω, qui devient la variable transformée pour les transformations de Laplace définies ci-dessus. Exemple 1 – Déterminer les coefficients C(ω), S(ω) et le spectre continu A(ω) pour la fonction f(x) = exp(-x), pour x > 0 et f(x) = 0, x < 0. Dans la calculatrice, paramétrez et évaluez les intégrales suivantes pour calculer C(ω) et S(ω), respectivement. Les modes CAS sont réglés sur Exact et Real. Leurs résultats respectifs sont les suivants : Le spectre continu, A(ω) est calculé comme suit : Page 16-48 Définissez cette expression comme une fonction en utilisant la fonction DEFINE („à). Puis tracez le spectre continu, dans la marge 0 < ω < 10, comme suit : Définition des transformations de Fourier Différents types de transformations de Fourier peuvent être définis. Suivent les définitions des transformations sinus, cosinus, transformation de Fourier complète et leurs inverses : Transformation de Fourier en sinus 2 ∞ ⋅ f (t ) ⋅ sin(ω ⋅ t ) ⋅ dt π ∫0 Fs { f (t )} = F (ω ) = Transformation en sinus inverse ∞ Fs−1{F (ω )} = f (t ) = ∫ F (ω ) ⋅ sin(ω ⋅ t ) ⋅ dt 0 Transformation de Fourier en cosinus Fc { f (t )} = F (ω ) = 2 ∞ ⋅ f (t ) ⋅ cos(ω ⋅ t ) ⋅ dt π ∫0 Page 16-49 Transformation en cosinus inverse ∞ Fc−1 {F (ω )} = f (t ) = ∫ F (ω ) ⋅ cos(ω ⋅ t ) ⋅ dt 0 Transformation de Fourier (véritable) F { f (t )} = F (ω ) = ∞ 1 ⋅ ∫ f (t ) ⋅ e −iωt ⋅ dt 2π −∞ Transformation de Fourier inverse (véritable) F −1{F (ω )} = f (t ) = ∞ 1 ⋅ ∫ F (ω ) ⋅ e −iωt ⋅ dt 2π −∞ Exemple 1 – Déterminer la transformation de Fourier de la fonction f(t) = exp(t), pour t >0 et f(t) = 0, pour t<0. Le spectre continu, F(ω), est calculé avec l’intégrale : 1 2π ∫ ∞ 0 1 ε →∞ 2π e −(1+iω ) t dt = lim ∫ ε 0 e −(1+iω ) t dt 1 1 − exp( −(1 + iω )ε ) 1 1 . = ⋅ ε →∞ 2π 1 + iω 2π 1 + iω = lim Ce résultat peut être rationalisé en multipliant le numérateur et le dénominateur par la conjuguée du dénominateur, à savoir : 1-iω. Le résultat est maintenant : F (ω ) = 1 1 1 ⋅ = 2π 1 + iω 2π 1 1 − iω ⋅ ⋅ 1 + i ω 1 − iω Page 16-50 = 1 2π ω 1 −i⋅ 2 1+ ω 2 1+ ω qui est une fonction complexe. Les parties réelle et imaginaire de la fonction peuvent être tracées comme cela est montré ci-dessous : Notes: La valeur absolue de la transformation de Fourier, |F(ω)|, est le spectre de fréquence de la fonction initiale f(t). Pour l’exemple ci-dessus, |F(ω)| = 1/[2π(1+ω2)]1/2. Le tracé de |F(ω)| vs. ω a été présenté précédemment. Certaines fonctions, comme les valeurs constantes, sin x, exp(x), x2, etc., n’acceptent pas de transformation de Fourier. Les fonctions qui atteignent zéro suffisamment vite lorsque x tend vers l’infini n’acceptent pas de transformation de Fourier. Propriétés de la transformation de Fourier Linéarité: si a et b sont des constantes et f et g des fonctions, alors F{a⋅f + b⋅g} = a F{f }+ b F{g}. Transformation de dérivées partielles. Supposons que u = u(x,t). Si la transformation de Fourier transforme la variable x, alors F{∂u/∂x} = iω F{u}, F{∂2u/∂x2} = -ω2 F{u}, F{∂u/∂t} = ∂F{u}/∂t, F{∂2u/∂t2} = ∂2F{u}/∂t2 Page 16-51 Convolution: pour les applications de la transformation de Fourier, l’opération de convolution est définie comme ( f * g )( x) = 1 2π ⋅ ∫ f ( x − ξ ) ⋅ g (ξ ) ⋅ dξ . La propriété suivante vaut pour la convolution : F{f*g} = F{f}⋅F{g}. Transformation de Fourier Rapide (FFT) La transformation de Fourier rapide est un algorithme informatique par lequel on peut calculer très efficacement une transformation de Fourier discrète (DFT). Cet algorithme a des applications dans l’analyse de différents types de signaux dépendant du temps, des mesures de turbulences aux signaux de communication. La transformation de Fourier discrète transforme une séquence de valeurs de données {xj}, j = 0, 1, 2, … , n-1, en une nouvelle séquence {Xk}, définie comme Xk = 1 n −1 ∑ x j ⋅ exp(−i ⋅ 2πkj / n), n j =0 k = 0,1,2,..., n − 1 Le calcul direct de la séquence Xk implique n2 produits, ce qui impliquerait de très longs calculs par ordinateur (ou calculatrice), en particulier pour les grandes valeurs de n. La transformation de Laplace rapide réduit le nombre d’opérations à l’ordre n⋅log2n. Par exemple, pour n = 100, la FFT nécessite environ 664 opérations, alors que le calcul direct nécessiterait 10 000 opérations. Par conséquent, le nombre d’opérations utilisant la FTT est réduit par le facteur 10000/664 ≈ 15. La FFT travaille sur la séquence {xj} en la découpant en séquences de nombres plus courtes. Les DFT des séquences plus courtes sont calculées puis combinées de façon extrêmement efficace. Pour plus de détails sur Page 16-52 l’algorithme, se référer, par exemple, à Newland, D.E., 1993, An Introduction to Random Vibrations, Spectral & Wavelet Analysis – Third Edition (Longman Scientific and Technical, New York - Chapitre 12). La seule condition d’application de la FFT est que le nombre n soit une puissance de 2, autrement dit, vous devez sélectionner vos données de telle sorte qu’elles contiennent les points 2, 4, 8, 16, 32, 62 etc. Exemples d’application de la FFT Les applications de la FFT impliquent généralement des données formulées d’une façon discrète, c’est-à-dire « discrétisées », d’un signal dépendant du temps. On peut saisir cette donnée dans la calculatrice, mettons à partir d’un ordinateur ou d’un enregistreur de données pour traitement de données. Ou bien vous pouvez générer vos propres données en programmant une fonction et en y ajoutant quelques nombres aléatoires. Exemple 1 – Définir la fonction f(x) = 2 sin (3x) + 5 cos(5x) + 0.5*RAND, où RAND est le générateur de nombres aléatoires uniforme fourni par la calculatrice. Générer 128 points de données en utilisant des valeurs de x dans l’intervalle (0,12.8). Enregistrer ces valeurs dans un ensemble, et effectuer une FFT sur cet ensemble. Tout d’abord, nous définissons la fonction f(x) comme un programme RPN << x ‘2*SIN(3*x) + 5*COS(5*x)’ EVAL RAND 5 * + NUM >> et nous enregistrons ce programme dans la variable @@@@f@@@. Ensuite, nous saisissons le programme suivant pour générer les valeurs de données 2m entre a et b. Le programme prendra les valeurs de m, a et b : << m a b << ‘2^m’ EVAL n << ‘(b-a)/(n+1)’ EVAL Dx << 1 n FOR j ‘a+(j-1)*Dx’ EVAL f NEXT n ARRY >> >> >> >> Enregistrons ce programme sous le nom GDATA (Generate DATA). Ensuite, lançons ce programme pour les valeurs m = 5, a = 0, b = 100. En mode RPN, nous devons utiliser : Page 16-53 5#0#100@GDATA! La figure ci-dessous est un histogramme des données obtenues. Pour obtenir le graphique, premièrement, copiez la matrice obtenue puis transformez-la en un vecteur colonne en utilisant : OBJ 1 + ARRY (les fonctions OBJ et ARRY sont disponibles dans le catalogue de commande, ‚N). Enregistrez la matrice dans la variable ΣDAT en utilisant la fonction STOΣ (aussi disponible dans ‚N). Choisissez Bar dans le menu TYPE des graphiques, changez la vue de la fenêtre sur H-VIEW: 0 32, V-VIEW: -10 10 et paramétrez la taille des barres sur 1. Appuyez sur @CANCL $ pour revenir à l’affichage normal de la calculatrice. Pour effectuer la FFT sur la matrice dans la pile 1, utilisez la fonction FFT, disponible dans le menu MTH/FFT de la matrice ΣDAT: @£DAT FFT. La FFT affiche une matrice de nombres complexes qui sont les coefficients Xk des matrices de la DFT. La magnitude des coefficients Xk est représentée par un spectre des fréquences des données initiales. Pour obtenir la magnitude des coefficients, vous pourriez transformer la matrice en une liste, puis utiliser la fonction ABS sur cette liste. Ceci se fait en utilisant : OBJ µ ƒ LIST „Ê Finalement, vous pouvez ré-obtenir la matrice en convertissant à nouveau la liste, pour l’enregistrer dans ΣDAT, comme suit : OBJ 1 ` 2 LIST ARRY STOΣ Pour tracer le graphique, suivre les instructions précédentes de l'histogramme. L’échelle verticale doit être modifiée de –1 à 80. Son spectre des fréquences est le suivant : Page 16-54 Le spectre montre deux larges composantes pour deux fréquences (il s’agit des composantes sinusoïdales, sin (3x) et cos(5x)) et plusieurs composantes plus petites pour les autres fréquences. Exemple 2 – Afin de produire le signal donné par le spectre, nous modifions le programme GDATA pour inclure une valeur absolue, de telle sorte que le programme s’écrive comme suit : << m a b << ‘2^m’ EVAL n << ‘(b-a)/(n+1)’ EVAL Dx << 1 n FOR j ‘a+(j-1)*Dx’ EVAL f ABS NEXT n ARRY >> >> >> >> Enregistrez cette version du programme sous GSPEC (Generate SPECtrum). Lancez le programme avec m = 6, a = 0, b = 100. En mode RPN, utilisez : 6#0#100@GSPEC! Une fois fini, appuyez sur la commande ` , pour garder une copie supplémentaire du spectre de la matrice. Convertissez ensuite ce vecteur ligne en un vecteur colonne, puis enregistrez-le dans ΣDAT. En suivant la méthode de l'histogramme, le spectre obtenu dans cet exemple est donné ci-dessous. Dans le cas présent, l’échelle horizontale est de 0 à 64, alors que l’échelle verticale est de –1 à 10 : Pour obtenir le signal du spectre ci-dessus, utilisez la fonction IFFT. Puisque nous avons gardé une copie du spectre dans la pile (un vecteur ligne), vous Page 16-55 avez seulement besoin d’utiliser la fonction IFFT du menu MTH/FFT ou le catalogue de commande, ‚N. Autrement, vous pourriez aussi saisir le nom de la fonction (par exemple : ~~ifft`. Le signal est affiché dans une matrice (vecteur ligne) avec des nombres complexes. Nous nous interessons seulement aux parties réelles de ces nombres. Pour obtenir leurs parties réelles, utilisez la fonction RE du menu CMPLX (voir Chapitre 4), c’est-à-dire entrez ~~re`. Ce qui est produit est un autre vecteur ligne. Convertissez-le en un vecteur colonne, puis enregistrez le dans SDAT et tracez un histogramme pour afficher le signal. Le signal de cet exemple est indiqué ci-dessous, en utilisant une échelle horizontale de 0 à 64 et une échelle verticale de –1 à 1 : Sauf pour une crête élevée à t = 0, la source du signal est surtout consituée d’interférences. Une échelle plus petite (-0.5 à 0.5) indique le signal comme suit : Solution d'équations second ordre différentielles spécifiques de Dans cette section, nous présentons et résolvons des équations différentielles ordinaires de types spécifiques dont les solutions sont définies sous la forme de quelques fonctions classiques, à savoir les fonctions de Bessel, les polynômes Hermite etc. Quelques exemples sont fournis pour le mode RPN. Page 16-56 L’équation de Cauchy ou d’Euler Une équation de forme x2⋅(d2y/dx2) + a⋅x⋅ (dy/dx) + b⋅y = 0, où a et b sont des réels constants, est connue sous le nom d’équation de Cauchy ou d’Euler. On peut trouver une solution à l’équation de Cauchy en supposant que y (x) = xn. Saisir l’équation ainsi: ‘x^2*d1d1y(x)+a*x*d1y(x)+b*y(x)=0’ ` Ensuite, saisir et substituer la solution suggérée: ‘y(x) = x^n’ ` @SUBST Le résultat est : ‘x^2*(n*(x^(n-1-1)*(n-1)))+a*x*(n*x^(n-1))+b*x^n =0, qui se simplifie en ‘n*(n-1)*x^n+a*n*x^n+b*x^n = 0’. La division par x^n produit une équation algébrique auxiliaire : ‘n*(n-1)+a*n+b = 0’ ou n 2 + (a − 1) ⋅ n + b = 0 . • si l’équation a deux racines différentes, disons n1 et n2, alors la solution générale de cette équation est y(x) = K1⋅x n1 + K2⋅x n2 ; • si b = (1-a)2/4, alors l’équation a une double racine n1 = n2 = n = (1-a)/2 et la solution s’avère être y(x) = (K1 + K2⋅ln x)xn. Equation de Legendre Une équation de forme (1-x2)⋅(d2y/dx2)-2⋅x⋅ (dy/dx)+n⋅ (n+1) ⋅y = 0, où n est un nombre réel, est connue sous le nom d’équation différentielle de Legendre. Toute solution à cette équation est connue sous le nom de fonction de Legendre. Quand n est un entier non négatif, les solutions sont appelées polynômes de Legendre. Un polynôme de Legendre d’ordre n est donné par M Pn ( x) = ∑ (−1) m ⋅ m =0 = (2n − 2m)! ⋅x n − 2 m 2 ⋅ m!⋅(n − m)!⋅(n − 2m)! n (2n)! (2n − 2)! ⋅ xn − n ⋅ x n − 2 + ... − .. 2 2 ⋅ (n!) 2 ⋅ 1!⋅(n − 1)!(n − 2)! n où M = n/2 ou (n-1)/2 quel qu’il soit, est un entier. Page 16-57 Les polynômes de Legendre sont préprogrammés dans la calculatrice et peuvent être utilisés en utilisant la fonction LEGENDRE en donnant l’ordre du polynôme, n. La fonction LEGENDRE peut être obtenue dans le catalogue de commandes (‚N) ou par l’intermédiaire du menu ARITHMETIC/POLYNOMIAL (voir Chapitre 5). Les cinq premiers polynômes de Legendre sont obtenus comme suit : 0 LEGENDRE, résultat : 1, à savoir P0(x) =1.0. 1 LEGENDRE, résultat : ‘X’, à savoir P1(x) = x. 2 LEGENDRE, résultat : ‘(3*X^2-1)/2’, à savoir P2(x) = (3x2-1)/2. 3 LEGENDRE, résultat : ‘(5*X^3-3*X)/2’, à savoir P3(x) = (5x3-3x)/2. 4 LEGENDRE, résultat : ‘(35*X^4-30*X^2+3)/8’, à savoir P4(x) = (35x4-30x2+3)/8. 5 LEGENDRE, résultat : ‘(63*X^5-70*X^3+15*X)/8’, à savoir P5(x) = (63x5-70x3+15x)/8. L’ODE (1-x2)⋅(d2y/dx2)-2⋅x⋅ (dy/dx)+[n⋅ (n+1)-m2/(1-x2)] ⋅y = 0, a pour solution la fonction y(x) = Pnm(x)= (1-x2)m/2⋅(dmPn/dxm). On appelle cette fonction la fonction associée de Legendre. Equation de Bessel L’équation différentielle ordinaire x2⋅(d2y/dx2) + x⋅ (dy/dx)+ (x2-ν2) ⋅y = 0, où le paramètre ν est un nombre réel non négatif, est connue sous le nom d’équation de Bessel. Les solutions à l’équation de Bessel sont données sous la forme d’une fonction de Bessel de premier type d’ordre ν: (−1) m ⋅ x 2 m , 2 m +ν ⋅ m!⋅Γ(ν + m + 1) m =0 2 ∞ J ν ( x ) = xν ⋅ ∑ où ν n’est pas un entier, accompagnée de la fonction Gamma Γ(α) définie au Chapitre 3. Si ν = n, un entier, les fonctions de Bessel de premier type pour n = entier n = n sont définies par : Page 16-58 (−1) m ⋅ x 2 m . 2m+n ⋅ m!⋅(n + m)! m =0 2 ∞ J n ( x) = x n ⋅ ∑ Indépendamment du fait que nous utilisions ν (non entier) ou n (entier) dans la calculatrice, nous pouvons définir les fonctions de Bessel de premier type en utilisant les séries finies suivantes : Par conséquent, vous contrôlez l’ordre de la fonction, n, et le nombre d’éléments de la série, k. Une fois que vous avez saisi cette fonction, vous pouvez utiliser la fonction DEFINE pour définir la fonction J(x,n,k). Cela créera la variable @@@J@@@ dans les touches menu. Par exemple, pour évaluer J3(0.1) en utilisant 5 termes de la série, calculez J(0.1,3,5). C’est-à-dire, en mode RPN : .1#3#5@@@J@@@. Le résultat est 2.08203157E-5. Si vous voulez obtenir une expression pour J0(x) avec, disons, 5 termes de la série, utilisez J(x,0,5). Le résultat est ‘1-0.25*x^3+0.015625*x^4-4.3403777E-4*x^6+6.782168E-6*x^86.78168*x^10’. Pour les valeurs non entières ν, la solution de l’équation de Bessel est donnée par y(x) = K1⋅Jν(x)+K2⋅J-ν(x). Pour les valeurs entières, les fonctions Jn(x) et J-n(x) sont linéairement dépendantes, puisque Jn(x) = (-1)n⋅J-n(x), Page 16-59 Par conséquent, nous ne pouvons pas les utiliser pour obtenir une fonction générale à l’équation. A la place, nous introduisons les fonctions de Bessel de deuxième type définies par Yν(x) = [Jν(x) cos νπ – J−ν(x)]/sin νπ, pour les non entiers ν, et pour les entiers n, avec n > 0, par x x n ∞ (−1) m −1 ⋅ (hm + hm + n ) 2 m 2 Yn ( x) = ⋅ J n ( x) ⋅ (ln + γ ) + ⋅∑ ⋅x π π m =0 2 2 m + n ⋅ m!⋅(m + n)! 2 − x − n n −1 (n − m − 1)! 2 m ⋅∑ ⋅x π m =0 2 2 m − n ⋅ m! où γ est la constante d’Euler, définie par γ = lim[1 + r →∞ 1 1 1 + + ... + − ln r ] ≈ 0.57721566490..., 2 3 r et hm représente la série harmonique hm = 1 + 1 1 1 + + ... + m 2 3 Dans le cas où n = 0, la fonction de Bessel de deuxième type est définie par 2 Y0 ( x ) = π ∞ x ( −1) m −1 ⋅ hm 2 m ⋅ J 0 ( x ) ⋅ (ln + γ ) + ∑ 2 m ⋅ x . 2 ⋅ ( m! ) 2 m =0 2 Avec ces définitions, une solution générale à l’équation de Bessel pour toutes les valeurs de ν est donnée par Page 16-60 y(x) = K1⋅Jν(x)+K2⋅Yν(x). Dans certains cas, il est nécessaire de fournir des solutions complexes aux équations de Bessel en définissant les fonctions de Bessel du troisième type d’ordre ν par Hn(1)(x) = Jν(x)+i⋅Yν(x), et Hn(2)(x) = Jν(x)−i⋅Yν(x), Ces fonctions sont aussi connues comme les première et seconde fonctions Hankel d’ordre ν. Dans certaines applications, il se peut que vous ayez à utiliser les fonctions modifiées de Bessel dites du premier type d’ordre ν définies par Iν(x)= i-ν⋅Jν(i⋅x), où i est l’unité d’un nombre imaginaire. Ces fonctions sont les solutions à l’équation différentielle x2⋅(d2y/dx2) + x⋅ (dy/dx)- (x2+ν2) ⋅y = 0. Les fonctions de Bessel modifiées de second type Kν(x) = (π/2)⋅[I-ν (x)−Iν (x)]/sin νπ, sont également des solutions de cette ODE. Vous pouvez mettre en œuvre des fonctions représentant des fonctions de Bessel dans la calculatrice d’une manière similaire à celle utilisée pour définir les fonctions de Bessel de premier type, mais en n’oubliant pas que la série infinie dans la calculatrice doit être traduite en série finie. Polynômes de Tchebychev ou Tchebycheff Les fonctions Tn(x) = cos(n⋅cos-1 x), et Un(x) = sin[(n+1) cos-1 x]/(1-x2)1/2, n = 0, 1, … sont respectivement appelées Polynômes de Tchebychev ou Tchebycheff de premier et deuxième ordre. Les polynômesTn(x) sont des solutions de l’équation différentielle (1-x2)⋅(d2y/dx2) − x⋅ (dy/dx) + n2⋅y = 0. Dans la calculatrice, la fonction TCHEBYCHEFF génère le polynôme Tchebychevou Tchebycheff de premier type d’ordre n, étant donné une valeur Page 16-61 de n > 0. Si l’entier n est négatif (n < 0), la fonction TCHEBYCHEFF génère un polynôme de deuxième type d’ordre n dont la définition est Un(x) = sin(n⋅arccos(x))/sin(arccos(x)). Vous pouvez accéder à la fonction TCHEBYCHEFF par l’intermédiaire du catalogue de commandes (‚N). Les quatre premiers polynômes de Tchebychevou Tchebycheff de premier et deuxième ordre sont obtenus comme suit : 0 TCHEBYCHEFF, résultat : 1, à savoir -0 TCHEBYCHEFF, résultat : 1, à savoir 1 TCHEBYCHEFF, résultat : ‘X’, à savoir -1 TCHEBYCHEFF, résultat : 1, à savoir 2 TCHEBYCHEFF, résultat : ‘2*X^2-1, à savoir -2 TCHEBYCHEFF, résultat : ‘2*X’, à savoir 3 TCHEBYCHEFF, résultat : ‘4*X^3-3*X’, à savoir -3 TCHEBYCHEFF, résultat : ‘4*X^2-1’, à savoir T0(x) = 1.0. U0(x) = 1.0. T1(x) = x. U1(x) =1.0. T2(x) =2x2-1. U2(x) =2x. T3(x) = 4x3-3x. U3(x) =4x2-1. Equation de Laguerre L’équation de Laguerre est l’ODE linéaire de deuxième ordre de forme x⋅(d2y/dx2) +(1−x)⋅ (dy/dx) + n⋅y = 0. Les polynômes de Laguerre, définis comme L0 ( x) = 1, Ln ( x) = e x d n (xn ⋅ e−x ) ⋅ , n = 1,2,... n! dx n sont des solutions de l’équation de Laguerre. Les polynômes de Laguerre peuvent aussi être calculés avec la formule : (−1) m m! m =0 n Ln ( x ) = ∑ n ⋅ ⋅ x m . m Page 16-62 = 1− n ⋅ x + n(n − 1) 2 (−1) n n ⋅ x − ... + .... + ⋅x n! 4 Le terme n n! = = C (n, m) m m!(n − m)! est le coefficient m-th de l’expansion binomiale (x+y)n. Il représente aussi le nombre de combinaisons de n éléments pris par m à la fois. Cette fonction est disponible dans la calculatrice comme fonction COMB du menu MTH/PROB (voir Chapitre 17). Vous pouvez définir la fonction suivante pour calculer les polynômes de Laguerre : Quand vous avez terminé de la saisir dans l’Editeur d’équations, utilisez la fonction DEFINE pour créer la fonction L(x,n) dans la variable @@@L@@@ . Pour générer les quatre premiers polynômes de Laguerre, utilisez L(x,0), L(x,1), L(x,2), L(x,3). Les résultats sont : : L0(x) = . L 1(x) = 1-x. L 2(x) = 1-2x+0.5x2. L 3(x) = 1-3x+1.5x2-0.16666…x3 Equation de Weber et polynômes Hermite L’équation de Weber est définie comme d2y/dx2+(n+1/2-x2/4)y = 0, pour n = 0, 1, 2, … Une solution particulière de cette équation est donnée par la fonction, y(x) = exp(-x2/4)H*(x/√2), où la fonction H*(x) est le polynôme Hermite : Page 16-63 H 0 * = 1, H n * ( x) = (−1) n e x 2 d n − x2 (e ), n = 1,2,.. dx n Dans la calculatrice, la fonction HERMITE est disponible par l’intermédiaire du menu ARITHMETIC/POLYNOMIAL. La fonction HERMITE prend comme argument un nombre entier n, et renvoie le polynôme Hermite de nème degré. Par exemple, les quatre premiers polynômes Hermite sont obtenus en utilisant : 0 1 2 3 HERMITE, HERMITE, HERMITE, HERMITE, résultat résultat résultat résultat : : : : 1, ’2*X’, ’4*X^2-2’, ’8*X^3-12*X’, à savoir H0* = 1. à savoir H1* = 2x. à savoir H2* = 4x2-2. à savoir H3* = 8x3-12x. Solutions numériques et graphiques aux ODEs Les équations différentielles qui ne peuvent pas être résolues de manière analytique peuvent l’être de manière numérique ou graphique, comme illustré ci-dessous. Solution numérique d’un ODE de premier ordre En utilisant la résolution numérique (‚Ï), vous pouvez accéder à un formulaire de saisie qui vous permettra de résoudre des équations différentielles linéaires de premier ordre. L’utilisation de cette fonction est présentée dans l’exemple suivant. La méthode utilisée dans la solution est un algorithme Runge-Kutta d’ordre 4. Exemple 1 -- Supposons que nous voulions résoudre l’équation différentielle : dv/dt = -1.5 v1/2 avec v = 4 at t = 0. On nous demande de trouver v pour t = 2. Tout d’abord, créez l’expression définissant la dérivée et enregistrez-la dans la variable EQ. L’illustration de gauche montre la commande en mode ALG, tandis que l’illustration de droite montre la pile RPN avant d’appuyer sur K. Page 16-64 Ensuite, entrez dans l’environnement de résolution numérique (NUMERICAL SOLVER) et sélectionnez la résolution d’équation différentielle : ‚Ϙ @@@OK@@@. Saisissez les paramètres suivants : Pour obtenir la solution, appuyez sur : @SOLVE (attendre) @EDIT@. Le résultat est 0.2499 ≈ 0.25. Appuyez sur @@@OK@@@. Solution présentée sous forme de table de valeurs Supposons que nous voulions produire une table de valeurs de v pour t = 0.00, 0.25, …, 2.00. Nous allons procéder comme suit : Tout d’abord, préparez une table pour noter les résultats. Notez les résultats pas à pas dans votre table : t 0.00 0.25 … 2.00 v 0.00 … Ensuite, dans le cadre de l’environnement SOLVE, changez la valeur finale de la variable indépendante à 0.25. Utilisez : —.25 @@OK@@ ™™ @SOLVE (attendre) @EDIT (Résolvez pour v à t = 0.25, v = 3.285...) @@OK@@ INIT+ — . 5 @@OK@@ ™™@SOLVE (attendre) @EDIT Page 16-65 (Remplacez la valeur initiale de t par 0.25 et la valeur finale de t par 0.5. Résolvez à nouveau pour v(0.5) = 2.640...) @@OK@@ @INIT+—.75 @@OK@@ ™™@SOLVE (attendre) @EDIT (Remplacez la valeur initiale de t par 0.5 et la valeur finale de t par 0.75. Résolvez à nouveau pour v(0.75) = 2.066...) @@OK@@ @INIT+—1 @@OK@@ ™ ™ @SOLVE (attendre) @EDIT (Remplacez la valeur initiale de t par 0.75 et la valeur finale de t par 1. Résolvez à nouveau pour v(1) = 1.562...) Recommencez pour t = 1.25, 1.50, 1.75, 2.00. Appuyez sur @@OK@@ après en avoir fini avec le dernier résultat de @EDIT. Pour revenir à l’affichage normal de la calculatrice, appuyez sur $ ou L@@OK@@. Les solutions diverses seront affichées dans la pile et la plus récente sera répertoriée au niveau 1. Le résultat final se présente comme suit (arrondir la troisième décimale) : t 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 v 4.000 3.285 2.640 2.066 1.562 1.129 0.766 0.473 0.250 Solution graphqiue d’une ODE du premier ordre Quand nous ne pouvons pas obtenir de solution de forme fermée pour une intégrale, nous pouvons toujours tracer cette intégrale en sélectionnant PLOT Diff Eq dans le champ TYPE de l’environnement PLOT en procédant comme suit : supposons que nous voulions tracer la position x(t) pour une fonction de vélocité v(t) = exp(-t2), où x = 0 at t = 0. Nous savons qu’il n’existe pas d’expression de forme fermée pour l’intégrale, mais cependant nous savons que la définition de v(t) est dx/dt = exp(-t2). Page 16-66 La calculatrice permet de créer le tracé de la solution des équations différentielles de forme Y'(T) = F(T,Y). Dans notre cas, nous laissons Y = x et T = t, par conséquent, F(T,Y) = f(t, x) = exp(-t2). Procédons au tracé de la solution, x(t), pour t = 0 à 5, en utilisant la séquence de touches suivante : • • • • • • • • • • „ô (simultanément si vous êtes en mode RPN) pour entrer dans l’environnement PLOT WINDOW Surlignez le champ en face de TYPE en utilisant les touches —˜. Ensuite, appuyez à nouveau sur @CHOOS et surlignez Diff Eq, en utilisant les touches —˜. Appuyez sur @@OK@@. Saisissez dans le champ F la fonction ‘EXP(- t^2)’ Assurez-vous que les paramètres suivants sont définis pour : H-VAR: 0, V-VAR: 1 Changez la variable indépendante à t . Acceptez les changements sur PLOT SETUP : L @@OK@@ „ò (simultanément si vous êtes en mode RPN). Pour entrer dans l’environnement PLOT WINDOW Remplacez dans les fenêtres d’affichage horizontale et verticale les paramètres suivants : H-VIEW: -1 5; V-VIEW: -1 1.5 De plus, utilisez les valeurs suivantes pour ces paramètres : Init : 0, Final : 5, Step : Default, Tol : 0.0001, Init-Soln : 0 Pour tracer le graphique, utilisez : @ERASE @DRAW Quand vous observez le graphe en train d’être tracé, vous remarquez que la définition du graphe n’est pas très homogène. Ceci est dû au fait que l’outil de tracé utilise une cadence trop rapide. Pour raffiner le graphe et le rendre plus homogène, utilisez une cadence de 0.1. Appuyez sur @CANCL et remplacez la valeur de pas Step par 0.1, puis utilisez @ERASE @DRAW une fois de plus pour relancer le tracé. Le tracé prendra plus de temps, mais la forme sera sans conteste plus nette qu’auparavant. Essayez la procédure suivante : @EDIT L @LABEL @MENU pour voir les étiquettes et échelles des axes. Page 16-67 Notez que les légendes des axes sont présentées comme 0 (horizontal pour t) et 1 (vertical pour les x). Il s’agit des définitions des axes telles qu’indiquées sur l’écran PLOT SETUP („ô), à savoir H-VAR: 0 et V-VAR: 1. Pour voir plus en détails la solution graphique, utilisez ce qui suit : LL@PICT @(X,Y)@ Pour restaurer le menu et revenir à l’environnement PICT. Pour déterminer les coordonnées de n’importe quel point du graphique. Utilisez les touches š™pour déplacer le curseur dans la zone graphique. En bas de l'écran, vous verrez les coordonnées du curseur indiquées par (X,Y), cela signifie que la calculatrice utilise X et Y respectivement comme nom par défaut pour les axes horizontal et vertical. Appuyez sur L@CANCL pour restaurer le menu et revenir à l’environnement PLOT WINDOW. Enfin, appuyez sur $ pour revenir à la pile. Solution numérique à une ODE de second ordre L’intégration d’ODE de deuxième ordre peut être effectuée en définissant la solution comme un vecteur. A titre d’exemple, supposons qu’un système de «masse-ressort» est sujet à une force d’amorti proportionnelle à sa vitesse. L’équation différentielle résultante est : d 2x dx = −18.75 ⋅ x − 1.962 ⋅ 2 dt dt ou, x" = - 18.75 x - 1.962 x', Page 16-68 sujet aux conditions intiales, v = x' = 6, x = 0, pour t = 0. Nous voulons trouver x et x' pour t = 2. Réécrivez l’ODE comme suit : w' = Aw, où w = [ x x' ]T et A est la matrice 2 x 2 indiquée ci-dessous : ' 1 x x 0 x' = − 18.75 − 1.962 ⋅ x' Les conditions initiales sont maintenant écrites comme w = [0 6]T, pour t = 0. (Note: Le symbole [ ]T signifie la transposée du vecteur ou de la matrice). Pour résoudre ce problème, créez et enregistrez d’abord la matrice A. Par exemple, en mode ALG : Ensuite, activez la résolution d’équation différentielle numérique en utilisant : ‚ Ï ˜ @@@OK@@@ . Pour résoudre l’équation différentielle avec un temps de départ t = 0 et un temps de fin t = 2, le formulaire de saisie de la résolution d’équation différentielle doit se présenter comme suit (notez que la valeur Init: value pour Soln: est un vecteur [0, 6]) : Appuyzr sur @SOLVE (attendre) @EDIT pour chercher la solutionpour w(t=2). La solution est [.16716… -.6271…], à savoir x(2) = 0.16716, et x'(2) = v(2) = 0.6271. Appuyez sur @CANCL pour revenir à l’environnement SOLVE. Page 16-69 Solution présentée sous forme de table de valeurs Dans l’exemple précédent, nous ne nous étions intéressés qu’à la recherche des valeurs de la position et de la vélocité à un temps t donné. Si nous voulions produire une table de valeurs de x et x', pour t = 0.00, 0.25, …, 2.00, nous procéderions comme suit : Tout d’abord, préparez une table pour noter les résultats : t 0.00 0.25 … 2.00 x 0.00 x' 6.00 … … Ensuite, dans l’environnement SOLVE, remplacez la valeur finale de la variable indépendante par 0.25 en utilisant : —.25 @@OK@@ ™™ @SOLVE (attendre) @EDIT (Résolvez w pour t = 0.25, w = [0.968 1.368].) @@OK@@ INIT+ — . 5 @@OK@@ ™™@SOLVE (attendre) @EDIT (Remplacez la valeur initiale de t par 0.25 et la valeur finale de t par 0.5, résolvez à nouveau pour w(0.5) = [0.748 -2.616]) @@OK@@ @INIT+ —.75 @@OK@@™™@SOLVE (attendre) @EDIT (Remplacez la valeur initiale de t par 0.5 et la valeur finale de t par 0.75, résolvez à nouveau pour w(0.75) = [0.0147 -2.859]) @@OK@@ @INIT+ —1 @@OK@@ ™ ™ @SOLVE (attendre) @EDIT (Remplacez la valeur initiale de t par 0.75 et la valeur finale de t par 1. Résolvez à nouveau pour w(1) = [-0.469 -0.607]) Recommencez pour t = 1.25, 1.50, 1.75, 2.00. Appuyez sur @@OK@@ après en avoir fini avec le dernier résultat de @EDIT. Pour revenir à l’affichage normal de la calculatrice, appuyez sur $ ou L@@OK@@. Les solutions diverses seront affichées dans la pile, la plus récente solution figurant au niveau 1. Le résultat final est comme suit: t 0.00 0.25 0.50 x 0.000 0.968 0.748 x' 6.000 1.368 -2.616 t x x' 1.25 -0.354 1.281 1.50 0.141 1.362 1.75 0.227 0.268 Page 16-70 0.75 1.00 -0.015 -0.469 -2.859 -0.607 2.00 0.167 -0.627 Solutions graphiques pour une ODE de second ordre Commencez par activer la résolution numérique d’équation différentielle, ‚ Ï ˜ @@@OK@@@ . L’écran SOLVE doit se présenter comme suit : Notez que la condition initiale pour la solution (Soln: w Init:[0., …) inclut le vecteur [0, 6]. Appuyez sur L @@OK@@. Ensuite, appuyez sur „ô (simultanément, en mode RPN) pour entrer dans l’environnement PLOT. Surlignez le champ en face de TYPE en utilisant les touches —˜. Ensuite, appuyez sur @CHOOS et surlignez Diff Eq, en utilisant les touches —˜. Appuyez sur @@OK@@. Modifiez le reste de l’écran de configuration PLOT SETUP afin qu’il se présente comme suit : Notez que l’option V-Var: est paramétrée sur 1, indiquant que le premier élément dans la solution du vecteur, à savoir x’, devra être tracé par rapport à la variable indépendante t. Acceptez les changements dans la configuration PLOT SETUP en appuyant sur L @@OK@@. Appuyez sur „ò (simultanément si vous êtes en mode RPN) pour entrer dans l’environnement PLOT WINDOW. Modifiez le formulaire de saisie afin qu’il se présente comme suit : Page 16-71 Pour tracer le graphe x’ par rapport à t, utilisez : @ERASE @DRAW . Le tracé de x’ par rapport à t se présente comme suit : Pour tracer la seconde courbe, vous devez utiliser le formulaire de saisie PLOT SETUP une fois de plus. Pour accéder à ce formulaire à partir du graphe ci-dessus, utilisez : @CANCL L @@OK@@ „ô (simultanément si vous êtes en mode RPN). Remplacez la valeur du champ V-Var : par 2 et appuyez sur @DRAW (n’appuyez pas sur @ERASE sous peine de perdre le graphique produit cidessus). Utilisez : @EDIT L @LABEL @MENU pour voir les intitulés et échelles des axes. Notez que l’intitulé des abscisses est le nombre 0 (indiquant la variable indépendante) tandis que l’intitulé des ordonnées est le nombre 2 (indiquant la seconde variable, à savoir la dernière variable tracée). Le graphe combiné se présente comme suit : Appuyez sur LL @PICT @CANCL $ pour revenir à l’affichage normal de la calculatrice. Page 16-72 Solution numérique à une ODE de premier ordre raide Considérons l’ODE : dy/dt = -100y+100t+101, sujette à la condition initiale y(0) = 1. La solution exacte Cette équation peut s’écrire dy/dt + 100 y = 100 t + 101 et être résolue en utilisant un facteur d’intégration, IF(t) = exp(100t), comme suit (Mode RPN, avec le CAS réglé sur le mode Exact) : ‘(100*t+101)*EXP(100*t)’ ` ‘t’ ` RISCH Le résultat est ‘(t+1)*EXP(100*t)’. Ensuite, nous ajoutons une constante d’intégration en utilisant : ‘C’ `+ Ensuite, nous divisons par FI(x), en utilisant ‘EXP(100*t)’ `/. Le résultat est : ‘((t+1)*EXP(100*t)+C)/EXP(100*t)’, à savoir y(t) = 1+ t +C⋅e100t. L’utilisation de la condition initiale y(0) = 1 donne 1 = 1 + 0 + C⋅e0 ou C = 0, la solution particulière étant y(t) = 1+t. Solution numérique Si nous essayons de trouver une solution numérique directe à l’équation initiale dy/dt = -100y+100t+101 en utilisant la résolution numérique d’équation de la calculatrice, nous constatons que cette résolution semble mettre un temps inhabituellement long à résoudre l’équation. Pour vérifier ce qui se passe, paramétrez votre résolution numérique d’équation (‚ Ϙ @@@OK@@@) sur les valeurs suivantes : Nous essayons ici d’obtenir la valeur de y(2) étant donné y(0) = 1. Une fois que le champ Soln: Final est surligné, appuyez sur @SOLVE. Vous pouvez Page 16-73 vérifier qu'aucune solution n’est trouvée après 6 secondes. Appuyez sur $ pour annuler le calcul. Il s’agit d’un exemple d’une équation différentielle ordinaire raide. Une ODE raide est une équation dont la solution générale contient des composantes qui varient pour le même incrément de la variable indépendante. Dans ce cas particulier, la solution générale y(t) = 1+ t +C⋅e100t, contient les composantes ‘t’ et ‘C⋅e100t’, qui varient dans des proportions très différentes, excepté dans les cas où C=0 ou C≈0 (c'est-à-dire pour C = 1, t =0.1, C⋅e100t =22026). La résolution numérique d’ODE de la calculatrice permet de résoudre des ODE raides en sélectionnant l’option _Stiff sur l’écran SOLVE Y’(T) = F(T,Y). Cette option étant sélectionnée, vous devez fournir les valeurs de ∂f/∂y et ∂f/∂t. Pour le cas qui nous intéresse, ∂f/∂y =-100 et ∂f/∂t = 100. Saisissez ces valeurs dans les champs correspondants de l’écran SOLVE Y’(T) = F(T,Y) : Une fois que vous avez terminé, déplacez le curseur sur le champ Final et appuyez sur @SOLVE. Appuyez sur @EDIT pour voir la solution : 2.9999999999, à savoir 3.0. Note: L’option Stiff est aussi disponible pour les solutions graphiques des équations différentielles. Solution numérique d’ODE avec le menu SOLVE/DIFF Le menu SOLVE peut être activé en utilisant 74 MENU du mode RPN. Ce menu est expliqué en détail au Chapitre 6. L’un des sous-menus, DIFF, contient des fonctions de solution numérique d’équations différentielles ordinaires pour Page 16-74 les programmes. Ces fonctions sont expliquées ci-dessous pour le mode RPN et l’indicateur système paramétré 117 sur menus SOFT. Les fonctions proposées par le menu SOLVE/DIFF sont les suivantes : Fonction RKF Cette fonction est utilisée pour calculer la solution d’un problème à valeur initiale pour une équation différentielle de premier ordre en utilisant le modèle de solution Runge-Kutta-Fehlbert de 4ème -5ème ordre. Supposons que l’équation différentielle à résoudre soit donnée par dy/dx = f(x,y), avec y = 0 à x = 0, et que vous autorisiez un critère de convergence e pour la solution. Vous pouvez aussi spécifier un incrément dans la variable indépendante, ∆x, qui sera utilisée dans la fonction. Pour lancer cette fonction, vous devez préparer votre pile comme suit : 3: {‘x’, ‘y’, ‘f(x,y)’} 2: { ε ∆x } 1: xfinal La valeur dans le premier niveau de la pile est la valeur de la variable indépendante où vous voulez trouver la solution, c’est-à-dire que vous voulez trouver yfinal = fs(xfinal), où fs(x) représente la solution à l’équation différentielle. Le deuxième niveau de pile contient uniquement la valeur de ε, et on prendra la cadence ∆x comme petite valeur par défaut. Après avoir effectué la fonction @@RKF@@, la pile indiquera les lignes suivantes : 2: 1: {‘x’, ‘y’, ‘f(x,y)’} ε La valeur de la solution, yfinal, sera disponible dans la variable @@@y@@@. Cette fonction est adaptée à la programmation puisqu’elle laisse les spécifications de l’équation différentielle et la tolérance dans la pile, prêtes à être utilisées pour une nouvelle solution. Notez que la solution utilise les conditions initiales x = 0 à y = 0. Si vos solutions initiales réelles sont x = xinit à y = yinit, vous Page 16-75 pouvez toujours ajouter ces valeurs à la solution fournie par RFK, en gardant en mémoire la relation suivante : Solution RKF x y Solution réelle x y 0 0 xinit yinit xfinal yfinal xinit + xfinal yinit + yfinal Les écrans suivants montrent la pile RPN avant et après application de la fonction RKF pour l’équation différentielle dy/dx = x+y, ε = 0.001, ∆x = 0.1. Après avoir appliqué la fonction RKF, la variable @@@y@@@ contient la valeur 4.3880... Fonction RRK Cette fonction est similaire à la fonction RKF, excepté que RRK (méthodes Rosenbrock et Runge-Kutta) nécessite en tant que liste desdonnées d’entrée dans le niveau 3 de la pile non seulement les noms des variables indépendantes et dépendantes ainsi que la fonction définissant l’équation différentielle, mais aussi les expressions pour les première et deuxième dérivées de l’expression. Par conséquent, la pile des données d’entrée se présente comme suit : 3: {‘x’, ‘y’, ‘f(x,y)’ ‘∂f/∂x’ ‘∂f/∂y’ } 2: { ε ∆x } 1: xfinal La valeur dans le premier niveau de pile est la valeur de la variable indépendante où vous voulez trouver la solution, c’est-à-dire que vous voulez trouver final = fs(xfinal), où fs(x) représente la solution de l’équation différentielle. Le deuxième niveau de pile contient uniquement la valeur de ε, et on prendra Page 16-76 la cadence ∆x comme petite valeur par défaut. Après avoir effectué la fonction @@RKF@@, la pile indiquera les lignes suivantes : 2: {‘x’, ‘y’, ‘f(x,y)’ ‘∂f/∂x’ ‘∂f/vy’ } 1: { ε ∆x } La valeur de la solution, yfinal, sera disponible dans la variable @@@y@@@. Cette fonction peut être utilisée pour résoudre les équations différentielles dites "raides". Les captures d’écran suivantes indiquent la pile RPN avant et après l’utilisation de la fonction RRK : La valeur enregistrée dans la variable y est 3.00000000004. Fonction RKFSTEP Cette fonction utilise une liste de données d’entrée similaire à celle de la fonction RKF, ainsi que la tolérance pour la solution, et une cadence possible ∆x, et renvoie la même liste de données d’entrée, suivie par la tolérance, et une estimation de la cadence suivante de la variable indépendante. La fonction renvoie la liste des données d’entrée, la tolérance, et l'incrément suivant de la variable qui satisfait cette tolérance. Par conséquent, la pile des données d’entrée se présente comme suit : 3: {‘x’, ‘y’, ‘f(x,y)’} 2: ε 1: ∆x Après avoir appliqué la fonction, la pile présente les lignes suivantes : 3: 2: 1: {‘x’, ‘y’, ‘f(x,y)’} ε (∆x)next Page 16-77 Par conséquent, cette fonction est utilisée pour déterminer la taille appropriée d’un créneau temporel pour satisfaire la tolérance requise. Les captures d'écrans suivantes montrent l'état de la pile RPN avant et après l'application de la fonction RKFSTEP: Ces résultats indiquent que (∆x)next = 0.34049… Fonction RRKSTEP Cette fonction utilise une liste de saisie similaire à celle de la fonction RRK, de plus qu’une tolérance de la solution, une étape optionnelle ∆x, et un nombre (LAST) qui indique la dernière méthode utilisée (1, si RKF a été utilisé, ou 2, si RRK a été utilisé). La fonction RRKSTEP indique la même liste de saisie, suivie de la tolérance, d’une approximation de l’étape suivante de la variable indépendante et de la méthode présente (CURRENT) utilisée pour arriver à l’étape suivante. Par conséquent, la pile de saisie est comme suit : 4: {‘x’, ‘y’, ‘f(x,y)’} 3: ε 2: ∆x 1: LAST Après avoir utilisé cette fonction, la pile indique : 4: {‘x’, ‘y’, ‘f(x,y)’} 3: ε 2: (∆x)next 1: CURRENT Par conséquent, cette fonction peut être utilisée pour évaluer la dimension d’une étape temporelle ((∆x)next), nécessaire pour satisfaire la tolérance, et la méthode utilisée pour arriver à ce résultat (CURRENT). Page 16-78 Les captures d’écran suivantes montrent la pile RPN avant et après l’utilisation de la fonction RRKSTEP : Ces résultats indiquent que (∆x)next = 0.00558… et que la méthode RKF (CURRENT = 1) doit être utilisée. Fonction RKFERR Cette fonction renvoie l’estimation de l’erreur absolue pour un créneau donné quand elle résout un problème tel que celui décrit pour la fonction RKF. La pile des données d’entrée se présente comme suit : 2: 1: {‘x’, ‘y’, ‘f(x,y)’} ∆x Après avoir appliqué la fonction, la pile présente les lignes suivantes : 4: 3: 2: 1: {‘x’, ‘y’, ‘f(x,y)’} ε ∆y error Par conséquent, cette fonction est utilisée pour déterminer l’incrément dans la solution, ∆y, ainsi que l’erreur absolue (Erreur). Les captures d’écran suivantes indiquent la pile RPN avant et après l’utilisation de la fonction RKFERR : Ces résultats indiquent que ∆y = 0.827… et que l’erreur = -1.89…×10-6. Page 16-79 Fonction RSBERR Cette fonction effectue une opération similaire à celle de RKERR mais avec les mêmes éléments des données d’entrée répertoriées pour la fonction RRK. Par conséquent, la pile desdonnées d’entrée se présente comme suit : 2: 1: {‘x’, ‘y’, ‘f(x,y)’ ‘∂f/∂x’ ‘∂f/vy’ } ∆x Après avoir appliqué la fonction, la pile présente les lignes suivantes : 4: 3: 2: 1: {‘x’, ‘y’, ‘f(x,y)’ ‘∂f/∂x’ ‘∂f/vy’ }: ε ∆y error Les captures d’écran suivantes indiquent la pile RPN avant et après l’utilisation de la fonction RSBERR : Ces résultats indiquent que y = 4.1514… et que l’erreur = 2.762..., pour Dx = 0.1. Vérifiez que, si Dx est réduit à 0.01, y = -0.00307… et que l’erreur = 0.000547. Note: lorsque vous exécutez les commandes dans le menu DIFF, les valeurs de x et y sont produites et stockées dans votre calculatrice en tant que variables. Les résultats fournis par les fonctions dans ce chapitre dépendent des valeurs courantes de x et y. Ainsi, certains des résultats illustrés ci-dessous peuvent être différents de que vous obtenez sur votre calculatrice. Page 16-80 Chapitre 17 Applications de probabilités Dans ce chapitre, nous fournissons des exemples d’applications des fonctions de la calculatrice aux distributions de probabilités. Sous-menu MTH/PROBABILITY.. – 1ère partie Le sous menu MTH/PROBABILITY.. est accessible par l’intermédiaire de la combinaison de touches „´. Une fois l’indicateur système 117 paramétré sur CHOOSE boxes, la liste suivante d’options MTH s’affiche (voir l’illustration de gauche). Nous avons sélectionné l’option PROBABILITY. (Option 7), pour afficher les fonctions suivantes (voir l’illustration de droite cidessous) : Dans cette section, nous discutons des fonctions COMB, PERM, ! (factorielle), RAND et RDZ. Factorielles, combinaisons et permutations La factorielle d’un entier n est définie comme : n! = n⋅ (n-1) ⋅ (n-2)…3⋅2⋅1. Par définition, 0! = 1. Les factorielles sont utilisées dans le calcul du nombre de permutations et de combinaisons d’objets. Par exemple, le nombre de permutations de r objets d’un ensemble de n objets distincts est n Pr = n( n − 1)(n − 1)...( n − r + 1) = n! /( n − r )! Egalement, le nombre de combinaisons de n objets pris par r à la fois est Page 17-1 n n(n − 1)(n − 2)...(n − r + 1) n! = = r! r!(n − r )! r Pour simplifier la notation, utilisez P(n,r) pour les permutations et C(n,r) pour les combinaisons. Nous pouvons calculer des combinaisons, des permutations et des factorielles avec les fonctions COMB, PERM et ! du sous-menu MTH/PROBABILITY. Le fonctionnement de ces fonctions est décrit ci-dessous : • • • COMB(n,r) : Combinaison de n objets pris par r à la fois PERM(n,r) : Permutation de n objets pris par r à la fois n! : Factorielle d’un entier positif. Pour un non entier, x! donne Γ(x+1), où Γ(x) est la fonction Gamma (voir Chapitre 3). Le symbole factorielle (!) peut aussi être saisi avec la combinaison de touches ~‚2. Des exemples d’applications de ces fonctions sont présentés ci-dessous : Nombres aléatoires La calculatrice propose un générateur de nombres aléatoires qui renvoie un nombre réel aléatoire uniformément distribué compris entre 0 et 1. Le générateur est capable de produire des séquences de nombres aléatoires. Cependant, après un certain nombre de fois (à vrai dire un très grand nombre de fois) la séquence tend à se répéter. Pour cette raison, le générateur de nombres aléatoires est appelé de façon plus appropriée générateur de nombres pseudo-aléatoires. Pour générer un nombre aléatoire avec votre calculatrice, utilisez la fonction RAND du sous-menu MTH/PROBABILITY. L’écran suivant montre plusieurs nombres aléatoires produits en utilisant la fonction RAND. Les nombres de l’illustration de gauche sont produits en actionnant la fonction RAND sans argument. Si vous placez une liste Page 17-2 d’arguments dans la fonction RAND, vous obtenez la liste de nombres plus un nombre aléatoire additionnel qui y est rattaché, comme illustré à droite : Les générateurs de nombres aléatoires, en général, fonctionnent en prenant une valeur, appelée «germe» du générateur et en effectuant certains algorithmes mathématiques sur ce «germe» qui génère un nombre (pseudo) aléatoire. Si vous voulez générer une séquence de nombres et être capable de répéter la même séquence plus tard, vous pouvez changer le «germe» du générateur en utilisant la fonction RDZ(n), où n est le «germe», avant de générer la séquence. Les générateurs de nombres aléatoires fonctionnent en commençant par un nombre «germe» qui est transformé en un premier nombre aléatoire de la série. Les nombres peuvent ainsi devenir le «germe» du nombre suivant et ainsi de suite. En "ressemant" ce même nombre come germe de séquence, vous pouvez reproduire cette même séquence plusieurs fois. Par exemple, essayez la procédure suivante : RDZ(0.25) ` RAND() ` RAND() ` RAND() ` Utilise 0.25 comme «germe» Premier nombre aléatoire = 0.75285… Second nombre aléatoire = 0.51109… Troisième nombre aléatoire = 0.085429…. Recommencez la séquence : RDZ(0.25) ` RAND() ` RAND() ` RAND() ` Utilise 0.25 comme «germe» Premier nombre aléatoire = 0.75285… Second nombre aléatoire = 0.51109… Troisième nombre aléatoire= 0.085429…. Pour générer une séquence de nombres aléatoires, utilisez la fonction SEQ. Par exemple, pour générer une liste de 5 nombres aléatoires, vous pouvez utiliser en mode ALG : SEQ(RAND(),1,5,1). En mode RPN, utilisez le programme suivant : Page 17-3 « n « 1 n FOR j RND NEXT n LIST » » Enregistrez-le dans la variable RLST (liste aléatoire) et utilisez J5@RLST! pour obtenir une liste de 5 nombres aléatoires. La fonction RNDM(n,m) peut être utilisée pour générer une matrice de n lignes et m colonnes dont les éléments sont des entiers aléatoires compris entre -1 et 1 (voir Chapitre 10). Distributions discrètes de probabilités Une variable aléatoire est dite discrète quand elle ne peut prendre qu’un nombre fini de valeurs. Par exemple, le nombre de jours pluvieux à un endroit donné peut être considéré comme une variable aléatoire discrète parce que nous les comptons en nombres entiers seulement. Disons que X représente une variable aléatoire discrète, sa fonction de distribution de masse (pmf) est représentée par f(x) = P[X=x], à savoir la probabilité que la variable aléatoire X prenne la valeur x. La fonction de distribution de masse doit satisfaire les conditions suivantes : f(x) >0, pour tous les x, et ∑ f ( x) = 1.0 all x Une fonction de distribution cumulative (cdf) est définie comme F ( x) = P[ X ≤ x] = ∑ f (k ) k≤x Ensuite, nous allons définir plusieurs fonctions pour calculer des distributions de probabilités discrètes. Nous suggérons que vous créiez un sous-répertoire, disons HOME\STATS\DFUN (Discrete FUNctions) où vous définirez la fonction de probabilité de masse et la fonction de distribution cumulative pour les distributions binomiales et de Poisson. Page 17-4 Distribution binomiale La fonction de probabilité de masse d’une distribution binomiale est donnée par n f (n, p, x) = ⋅ p x ⋅ (1 − p ) n − x , x = 0,1,2,..., n x où (nx) = C(n,x) est la combinaison de n éléments pris par x à la fois. Les valeurs n et p sont les paramètres de la distribution. La valeur n représente le nombre de répétitions d’une expérience ou d’une observation qui peuvent avoir un résultat ou un autre seulement, à savoir succès ou échec. Si la variable aléatoire X représente le nombre de succès dans les n répétitions, alors p représente la probabilité d’obtenir un succès dans n’importe quelle répétition donnée. La fonction de distribution cumulative d’une distribution binomiale est donnée par x F (n, p, x) = ∑ f (n, p, x), x = 0,1,2,..., n k =0 Distribution de Poisson La fonction de probabilité de masse de la distribution de Poisson est donnée par f (λ , x ) = e −λ ⋅ λx , x = 0,1,2,..., ∞ . x! Dans cette expression, la variable aléatoire X représente le nombre d’occurrences d’un évènement ou d’une observation par unité de temps, de longueur, d’aire, de volume etc. et le paramètre I représente le nombre moyen d’occurrences par unité de temps, de longueur, d’aire, de volumes etc. La fonction de distribution cumulative pour la distribution de Poisson est donnée par Page 17-5 x F (λ , x) = ∑ f (λ , x), x = 0,1,2,..., ∞ k =0 Ensuite, utilisez la fonction DEFINE („à) : pour définir les fonctions de probabilité de masse (pmf) et les fonctions de distribution cumulative (cdf) suivantes : DEFINE(pmfb(n,p,x) = COMB(n,x)*p^x*(1-p)^(n-x)) DEFINE(cdfb(n,p,x) = Σ(k=0,x,pmfb(n,p,k))) DEFINE(pmfp(λ,x) = EXP(-λ)*λ^x/x!) DEFINE(cdfp(λ,x) = Σ(k=0,x,pmfp(λ,x))) Les noms des fonctions abrégés signifient : • • • • pmfb : fonction de binomiale cdfb : fonction de binomiale pmfp : fonction de Poisson cdfp : fonction de Poisson probabilité de masse pour la distribution distribution cumulative pour la distribution probabilité de masse pour la distribution de distribution cumulative pour la distribution de Des exemples de calculs utilisant ces fonctions sont présentés ci-dessous : Distributions de probabilités continues La distribution de probabilités pour une variable aléatoire continue, X, est caractérisée par la fonction f(x) connue comme la fonction de densité de probabilité (pdf). La fonction pdf a les propriétés suivantes : f(x) > 0, pour tout x, et Page 17-6 P[ X < x ] = F ( x ) = ∫ +∞ −∞ ∫ x −∞ f (ξ )dξ . f ( x)dx = 1. Les probabilités sont calculées en utilisant la fonction de distribution cumulative (cdf), F(x), définie par P[ X < x] = F ( x ) = ∫ x −∞ f (ξ )dξ , où P[X<x] signifie “la probabilité qu’une variable aléatoire X ait une valeur inférieure à la valeur x”. Dans cette section, nous décrivons plusieurs distributions de probabilités continues, y compris les distributions gamma, exponentielles, bêta et Weitbull. Ces distributions sont décrites dans tous les manuels de statistiques. Certaines de ces distributions utilisent la fonction Gamma définie précédemment, qui est calculée sur la calculatrice en utilisant la fonction factorielle Γ(x) = (x-1)!, pour n’importe quel nombre réel x. La distribution Gamma La fonction de distribution de probabilité de la distribution gamma (pdf) est donnée par f ( x) = 1 x ⋅ x α −1 ⋅ exp(− ), for β β Γ(α ) α x > 0,α > 0, β > 0; la fonction de distribution (cumulative) correspondante (cdf) serait donnée par une intégrale qui n’a pas de solution explicite. La distribution exponentielle La distribution exponentielle est une distribution gamma avec a = 1. Sa pdf est donnée par f ( x) = 1 x ⋅ exp(− ), for β β x > 0, β > 0 , Page 17-7 tandis que sa cdf est donnée par F(x) = 1 - exp(-x/β), pour x>0, β >0. La distribution bêta La pdf de la distribution gamma est donnée par f ( x) = Γ(α + β ) ⋅ x α −1 ⋅ (1 − x) β −1 , for 0 < x < 1, α > 0, β > 0 Γ(α ) ⋅ Γ( β ) Comme dans le cas de la distribution gamma, la cdf correspondante pour la distribution bêta est également donnée par une intégrale qui n’a pas de solution explicite. La distribution de Weibull La pdf de la distribution de Weitbull est donnée par f ( x) = α ⋅ β ⋅ x β −1 ⋅ exp(−α ⋅ x β ), for x > 0,α > 0, β > 0 Tandis que la cdf correspondante est donnée par F ( x) = 1 − exp(−α ⋅ x β ), for x > 0, α > 0, β > 0 Fonctions de distributions continues Pour définir une collection de fonctions correspondant aux distributions gamma, exponentielle, bêta et Weitbull, créez tout d’abord un sous-répertoire appelé CFUN (Continuous FUNctions) et définissez les fonctions suivantes (changez pour le mode Approx): pdf gamma : 'gpdf(x) = x^(α-1)*EXP(-x/β)/(β^α*GAMMA(α))' 'gcdf(x) = ∫(0,x,gapd(t),t)' pdf beta : 'βpdf(x)= GAMMA(α+β)*x^(α-1)*(1-x)^(β1)/(GAMMA(α)*GAMMA(β))' cdf beta : 'βcdf(x) = ∫(0,x, βpdf(t),t)' pdf exponentielle : 'epdf(x) = EXP(-x/β)/β' cdf exponentielle : 'ecdf(x) = 1 - EXP(-x/β)' pdf Weibull : 'Wpdf(x) = α*β*x^(β-1)*EXP(-α*x^β)' cdf gamma : Page 17-8 cdf Weibull : 'Wcdf(x) = 1 - EXP(-α*x^β)' Utilisez la fonction DEFINE pour définir toutes ces fonctions. Ensuite, saisissez les valeurs de α et β, c'est-à-dire 1K~‚a` 2K ~‚b` Finalement, pour la cdf des cdf Gamma et Bêta, vous devez éditer les définitions du programme pour ajouter NUM aux programmes produits par la fonction DEFINE. Par exemple, la cdf Gamma, c'est-à-dire la fonction gcdf, doit être modifiée comme suit : « x 'NUM( ∫ (0,x,gpdf(t),t))' » et enregistrée à nouveau dans @gcdf. Répétez la procédure pour βcdf. Contrairement aux fonctions discrètes définies précédemment, les fonctions continues définies dans cette section ne comprennent pas leurs paramètres (α et/ou β) dans leurs définitions. Par conséquent, vous n’avez pas besoin de les saisir à l’écran pour calculer ces fonctions. Cependant, ces paramètres doivent être définis au préalable en enregistrant les valeurs correspondantes dans les variables α et β. Une fois que toutes les fonctions et les valeurs de α et β ont été enregistrées, vous pouvez ranger les étiquettes de menu en utilisant la fonction ORDER. L’intitulé correspondant aux fonctions sera le suivant : ORDER({‘α’,’β’,’gpdf’,’gcdf’,’βpdf’,’βcdf’,’epdf’,’ecdf’,’Wpdf’,’Wcdf’}) Suite à cette commande, les étiquettes de menu s’afficheront comme suit (appuyez sur L pour vous déplacer à la seconde liste. Appuyez sur L une fois de plus pour aller à la première liste) : Quelques exemples de l’application de ces fonctions sont indiqués ci-dessous, pour des valeurs de α = 2, β = 3. Remarquez que la variable IERR s’affiche dans la deuxième capture d’écran. Ceci résulte de l'intégration numérique de la fonction gcdf. Page 17-9 Distributions continues d’inférences statistiques Dans cette section, nous discutons de quatre distributions de probabilités continues qui sont souvent utilisées pour des problèmes liés aux inférences statistiques. Ces distributions sont la distribution normale, la distribution t de Student, la distribution chi-carré (χ2) et la distribution F. Les fonctions proposées par la calculatrice pour évaluer les probabilités pour ces distributions sont contenues dans le menu MTH/PROBABILITY introduit précédemment dans ce chapitre. Les fonctions sont NDIST, UTPN, UTPT, UTPC et UTPF. Les applications sont décrites dans les sections suivantes. Pour voir ces fonctions, activez le menu „´ et sélectionnez l’option PROBABILITY : Distribution normale pdf L’expression de la pdf pour la distribution normale est : f ( x) = 1 σ 2π exp[− (x − µ)2 ], 2σ 2 Page 17-10 où µ est la moyenne et σ2 est la variance de la distribution. Pour calculer la valeur de f(µ,σ2,x) pour la distribution normale, utilisez la fonction NDIST avec les arguments suivants : la moyenne, µ, la variance, σ2, et la valeur x, NDIST(µ,σ2,x). Par exemple, vérifiez que pour une distribution normale f(1.0,0.5,2.0) = 0.20755374. Distribution normale cdf La calculatrice a une fonction UTPN qui calcule la distribution normale de partie supérieure, à savoir UTPN(x) = P(X>x) = 1 - P(X<x). Pour obtenir la valeur de la partie supérieure d’une distribution normale UTPN nous devons saisir les valeurs suivantes : la moyenne, µ; la variance, σ2; et la valeur x, par exemple, UTPN((µ,σ2,x) Par exemple, vérifier que pour une distribution normale, avec µ = 1.0, σ2 = 0.5, UTPN(0.75) = 0.638163. Utilisez UTPN(1.0,0.5,0.75) = 0.638163. Des calculs de probabilités différents pour les distributions normales [X est N(µ,σ2)] peuvent être définis en utilisant la fonction UTPN comme suit : • • P(X<a) P(a<X<b) • P(X>c) = 1 - UTPN(µ, σ2,a) = P(X<b) - P(X<a) = 1 - UTPN(µ, σ2,b) – (1 - UTPN(µ, σ2,a)) = UTPN(µ, σ2,a) UTPN(µ, σ2,b) = UTPN(µ, σ2,c) Exemple : en utilisant µ = 1.5 et σ2 = 0.5, on trouve : P(X<1.0) = 1 - P(X>1.0) = 1 - UTPN(1.5, 0.5, 1.0) = 0.239750. P(X>2.0) = UTPN(1.5, 0.5, 2.0) = 0.239750. P(1.0<X<2.0) = F(1.0) - F(2.0) = UTPN(1.5,0.5,1.0) - UTPN(1.5,0.5,2.0) = 0.7602499 - 0.2397500 = 0.524998. La distribution t de Student La distribution t de Student, ou simplement distribution t, a un paramètre ν, connu, comme degré de liberté de distribution. La fonction de distribution de la probabilité (pdf) est donnée par Page 17-11 ν +1 Γ( ) ν +1 t2 − 2 f (t ) = ⋅ (1 + ) 2 ,−∞ < t < ∞ ν ν Γ( ) ⋅ πν 2 où Γ(α) = (α-1)! est la fonction GAMMA définie au Chapitre 3. La calculatrice calcule les valeurs de la partie supérieure (cumulative) de la fonction de distribution pour la distribution t, la fonction UTPT, à partir du paramètre ν et de la valeur de t, c'est-à-dire, UTPT(ν,t). La définition de cette fonction, est, par conséquent : UTPT (ν , t ) = ∫ ∞ t f (t )dt = 1 − ∫ t −∞ f (t )dt = 1 − P(T ≤ t ) Par exemple, UTPT(5,2.5) = 2.7245…E-2. Des calculs de probabilités différents pour les distributions-t peuvent être définis en utilisant la fonction UTPT comme suit : • • • P(T<a) = 1 - UTPT(ν,a) P(a<T<b) = P(T<b) - P(T<a) = 1 - UTPT(ν,b) - (1 - UTPT(ν,a)) = UTPT(ν,a) - UTPT(ν,b) P(T>c) = UTPT(ν,c) Exemples : avec ν = 12, déterminer : P(T<0.5) = 1-UTPT(12,0.5) = 0.68694.. P(-0.5<T<0.5) = UTPT(12,-0.5)-UTPT(12,0.5) = 0.3738… P(T> -1.2) = UTPT(12,-1.2) = 0.8733… La distribution chi-carré La distribution chi-carré (χ2) a un paramètre ν, connu comme degré de liberté. La fonction de distribution de la probabilité (pdf) est donnée par Page 17-12 f ( x) = 1 ν ν 2 2 ⋅ Γ( ) 2 ν −1 − x ⋅ x 2 ⋅ e 2 ,ν > 0, x > 0 La calculatrice calcule les valeurs de la partie supérieure (cumulative) de la fonction de distribution pour la distribution χ2-en utilisant la fonction [UTPC], à partir de la valeur de x et du paramètre ν. La définition de cette fonction, est, par conséquent, UTPC (ν , x) = ∫ ∞ t f ( x)dx = 1 − ∫ t −∞ f ( x)dx = 1 − P ( X ≤ x) Pour utiliser cette fonction, nous avons besoin du degré de liberté, ν, et de la valeur de la variable chi-carré, x, i, e.. UTPC(ν,x). Par exemple, UTPC(5, 2.5) = 0.776495… Des calculs de probabilités différents pour la distribution chi-carré peuvent être définis en utilisant la fonction UTPC comme suit : • • • P(X<a) = 1 - UTPC(ν,a) P(a<X<b) = P(X<b) - P(X<a) = 1 - UTPC(ν,b) UTPC(ν,a) - UTPC(ν,b) P(X>c) = UTPC(ν,c) (1 - UTPC(ν,a)) = Exemples: avec ν = 6, déterminer: P(X<5.32) = 1-UTPC(6,5.32) = 0.4965.. P(1.2<X<10.5) = UTPC(6,1.2)-UTPC(6,10.5) = 0.8717… P(X> 20) = UTPC(6,20) = 2.769..E-3 La distribution F La distribution F dispose de deux paramètres νN = numérateur degré de liberté et νD = dénominateur degré de liberté. La distribution de probabilité (pdf) est donnée par : Page 17-13 νN νN −1 νN + νD νN 2 )⋅( ) ⋅ F 2 Γ( 2 νD f ( x) = νN +νD νN νD νN ⋅ F ( 2 ) ) Γ( ) ⋅ Γ( ) ⋅ (1 − 2 2 νD La calculatrice recherche les valeurs de la partie supérieure de la fonction de distribution (cumulative) pour la distribution F, la fonction UTPF, à partir des paramètres F. νN et νD, et de la valeur de F. La définition de cette fonction, est, par conséquent : ∞ t t −∞ UTPF (νN ,νD, F ) = ∫ f ( F )dF = 1 − ∫ f ( F )dF = 1 − P (ℑ ≤ F ) Par exemple, calculez UTPF(10,5, 2.5) = 0.161834… Des calculs de probabilités différents pour la distribution F peuvent être définis en utilisant la fonction UTPF comme suit : • • • P(F<a) = 1 - UTPF(νN, νD,a) P(a<F<b) = P(F<b) - P(F<a) = 1 -UTPF(νN, νD,b)- (1 - UTPF(νN, νD,a)) = UTPF(νN, νD,a) - UTPF(νN, νD,b) P(F>c) = UTPF(νN, νD,a) Exemple : Avec νN = 10, νD = 5, trouvez : P(F<2) = 1-UTPF(10,5,2) = 0.7700… P(5<F<10) = UTPF(10,5,5) – UTPF(10,5,10) = 3.4693..E-2 P(F>5) = UTPF(10,5,5) = 4.4808..E-2 Fonctions de distribution cumulative inverses Pour une variable aléatoire continue X avec une fonction de densité cumulative (cdf) F(x) = P(X<x) = p, pour calculer la fonction de distribution cumulative inverse, nous avons besoin de la valeur de x, telle que x = F1(p). Cette valeur est relativement facile à trouver dans le cas des distributions Page 17-14 exponentielles et de Weitbull puisque leurs cdf ont une expression de forme simple : • • Exponentielle, F(x) = 1 - exp(-x/β) Weitbull, F(x) = 1-exp(-αxβ) Pour trouver les cdf inverses de ces deux distributions, nous avons juste à trouver x pour ces expressions, c'est-à-dire : Exponentielle: Weitbull: Pour les distributions Gamma et Bêta les expressions à résoudre seront plus compliquées du fait de la présence des intégrales, c'est-à-dire : • Gamma, • Bêta, 1 z ⋅ z α −1 ⋅ exp(− )dz β β Γ(α ) x Γ (α + β ) p=∫ ⋅ z α −1 ⋅ (1 − z ) β −1 dz 0 Γ (α ) ⋅ Γ ( β ) p=∫ x 0 α Une solution numérique avec le calculateur numérique ne sera pas possible à cause du signe intégrale qui apparaît dans cette expression. Cependant, une solution graphique est possible. Les détails sur la façon de trouver les racines d’un graphe sont présentés au Chapitre 12. Pour permettre des résultats numériques, changez les paramètres du CAS sur Approx. La fonction à tracer pour la distribution Gamma est Y(X) = ∫(0,X,z^(α-1)*exp(-z/β)/(β^α*GAMMA(α)),z)-p Pour la distribution Bêta, la fonction à tracer est Y(X) = Page 17-15 ∫(0,X,z^(α-1)*(1-z)^(β-1)*GAMMA(α+β)/(GAMMA(α)*GAMMA(β)),z)-p Pour produire le tracé, il est nécessaire d’enregistrer les valeurs de α, β, et p, avant de tenter le tracé. Par exemple, pour α = 2, β = 3, et p = 0.3, le tracé de Y(X) pour la distribution Gamma est le suivant (veuillez noter que, de par la nature compliquée de la fonction Y(X), un certain temps sera nécessaire avant l’affichage du graphique. Soyez patient). Deux racines de cette fonction sont trouvées en utilisant la fonction @ROOT dans l’environnement du tracé. A cause de l’intégrale dans l’équation, la racine est arrondie et ne sera pas affichée sur l’écran du tracé. Vous obtiendrez juste un message «Constant? » affiché à l’écran. Cependant, si vous appuyez sur la commande ` à ce stade, la racine arrondie sera affiché à l’écran. Deux racines sont affichées dans l’illustration de droite ci-dessous : Autrement, vous pouvez utiliser la fonction @TRACE @(X,Y)@ pour estimer les racines en traçant la courbe proche de son intersection avec l’axe des x. Deux valeurs estimées sont illustrées ci-dessous : Page 17-16 Ces estimations suggèrent des solutions x = -1.9 et x = 3.3. Vous pouvez vérifier ces “solutions” en évaluant la fonction Y1(X) pour X = -1.9 et X = 3.3, c'est-à-dire : Pour les distributions normales, t de Student, chi-carré (χ2), et F, qui sont représentées par les fonctions UTPN, UTPT, UPTC et UTPF dans la calculatrice, la fonction inverse peut être trouvée en résolvant une des équations suivantes : • • • • distribution normale t de Student, chi-carré, et F p = 1 – UTPN(µ,σ2,x) p = 1 – UTPT(ν,t) p = 1 – UTPC(ν,x) p = 1 – UTPF(νN,νD,F) Notez que le second paramètre de la fonction UTPN est σ2, non σ2, représentant la variance de la distribution. De même, le symbole ν (la lettre grecque no en minuscule) n’est pas disponible sur la calculatrice. Vous pouvez utiliser, par exemple, γ (gamma) à la place de ν. La lettre γ est disponible par la combinaison de touches (‚±). Par exemple, pour obtenir la valeur de x pour la distribution normale, avec µ = 10, σ2 = 2, avec p = 0.25, enregistrez l’équation ‘p=1-UTPN(µ,σ2,x)’ dans la variable EQ (illustration de gauche, cidessous). Ensuite, lancez le calculateur numérique pour obtenir le formulaire de saisie illustré à droite : L’étape suivante consiste à saisir les valeurs de µ, σ2, et p, et de trouver x: Page 17-17 Ce formulaire de saisie peut être utilisé pour résoudre n’importe laquelle des quatre variables impliquées dans l’équation pour la distribution normale. Pour faciliter la résolution des équations impliquant les fonctions UTPN, UTPT, UTPC et UTPF, vous souhaiterez peut-être créer un sous-répertoire UTPEQ dans lequel vous enregistrerez les équations répertoriées ci-dessus : Ainsi, à ce stade, vous aurez quatre équations disponibles à résoudre. Vous n’avez besoin que de charger une équation dans le champ EQ du calculateur numérique et de continuer par la résolution d’une des variables. Des exemples des UTPT, UTPC et UPTF sont présentés ci-dessous : Page 17-18 Notez que dans tous les exemples présentés ci-dessus, nous travaillons p = P(X<x). Dans de nombreux problèmes d’inférences statistique nous essayerons en fait de trouver les valeurs de x pour lesquelles P(X>x) = α. De plus, pour la distribution normale, nous travaillerons très probablement avec la distribution normale standard dans laquelle µ =0, et σ2 = 1. La variable normale standard est typiquement appelée Z, de telle sorte que le problème à résoudre soit P(Z>z) = α. Pour ces cas de problèmes d’inférences statistique, vous pourriez enregistrer les équations suivantes : Avec ces quatre équations, à chaque fois que vous lancerez le calculateur numérique, vous aurez les choix suivants : Des exemples de résolution des équations EQNA, EQTA, EQCA et EQFA sont illustrés ci-dessous : Page 17-19 Chapitre 18 Applications statistiques Dans ce chapitre, nous introduisons les applications statistiques de la calculatrice, y compris les statistiques d’échantillon, la fréquence de distribution des données, la régression simple, les intervalles de confiance et le test d’hypothèse. Fonctions statistiques préprogrammées La calculatrice propose des fonctions statistiques préprogrammées qui sont accessibles grâce à la combinaison de touches ‚Ù (touche 5 ). Les applications statistiques disponibles sur la calculatrice sont les suivantes : Ces applications sont présentées en détail dans ce chapitre. Nous allons cependant commencer par vous montrer comment saisir des données pour l’analyse statistique. Saisie de données Pour l’analyse d’un seul ensemble de données (un échantillon) nous pouvons utiliser les applications numéro 1, 2 et 4 de la liste ci-dessus. Toutes ces applications nécessitent que les données soient disponibles sous forme de colonnes de la matrice ΣDAT. Ceci peut être réalisé en saisissant les données en colonnes avec l’Editeur de matrice, „². Cette opération peut devenir fastidieuse pour de grands nombres de points de données. A la place, il se peut que vous préfériez saisir les données sous forme de liste (voir Chapitre 8) et convertir la liste en un vecteur de colonne en utilisant le programme GRMC (voir Chapitre 10). Autrement, vous pouvez saisir le programme suivant pour convertir une liste en vecteur de colonne. Saisissez le programme en mode RPN : Page 18-1 « OBJ 1 2 LIST ARRY » Enregistrez le programme dans une variable appelée LXC. Après avoir enregistré ce programme en mode RPN, vous pouvez aussi l’utiliser en mode ALG. Pour enregistrer un vecteur de colonne dans la variable ΣDAT utilisez la fonction STOΣ, disponible dans le catalogue (‚N), c’est-à-dire STOΣ (ANS(1)) en mode ALG. Exemple 1 – En utilisant le programme LXC défini ci-dessus, créez un vecteur de colonne avec les données suivantes : 2.1 1.2 3.1 4.5 2.3 1.1 2.3 1.5 1.6 2.2 1.2 2.5. En mode RPG, saisissez les données dans une liste : {2.1 1.2 3.1 4.5 2.3 1.1 2.3 1.5 1.6 2.2 1.2 2.5 } `@LXC Utilisez la fonction STOΣ pour enregistrer les données dans ΣDAT. Calcul de statistiques à une seule variable On suppose que l’ensemble unique de données a été enregistré sous forme de vecteur de colonne dans la variable ΣDAT. Pour accéder aux différents programmes STAT, appuyez sur ‚Ù. Appuyez sur @@@OK@@ pour sélectionner 1. Single-var.. Un formulaire de saisie s’affiche, intitulé SINGLEVARIABLE STATISTICS, avec vos données présentes en ce moment dans la variable ΣDAT, répertoriées sous forme de vecteur. Puisque vous n’avez qu’une colonne, le champ Col: doit avoir la valeur 1 en face de lui. Le champ Type détermine si vous travaillez avec un échantillon ou une population, le paramètre par défaut étant Sample (« échantillon »). Déplacez le curseur sur la ligne horizontale précédant les champs Mean, Std Dev, Variance, Total, Maximum, Minimum et appuyez sur la touche menu @CHK@ pour sélectionner les mesures que vous voulez comme résultat de ce programme. Quand vous avez terminé, appuyez sur @@@OK@@. Les valeurs sélectionnées seront répertoriées et étiquetées de façon appropriée sur l’écran de votre calculatrice. Page 18-2 Exemple 1 – Pour les données enregistrées à l’exemple précédent, les résultats de statistiques à une seule variable sont les suivants : Mean: 2.133, Total: 25.6, Std Dev : 0.964, Maximum: 4.5, Variance: 0.929 Minimum: 1.1 Définitions Les définitions utilisées pour ces quantités sont les suivantes : Supposons que vous ayez un nombre de points de données x1, x2, x3, …, représentant différentes mesures de la même variable discrète ou continue x. L’ensemble de toutes les valeurs possibles de la quantité x est appelé la population de x. Une population finie n’aura qu’un nombre fixe d’éléments xi. Si la quantité x représente la mesure d’une quantité continue et, puisque, en théorie, une telle quantité peut prendre un nombre infini de valeurs, la population de x dans ce cas est infinie. Si vous sélectionnez un sous-ensemble d’une population, représenté par les valeurs de données {x1, x2, …, xn}, on dit que vous avez sélectionné un échantillon de valeurs de x. Les échantillons sont caractérisés par un nombre de mesures ou statistiques. Il existe des mesures de tendance centrale, telle que la moyenne, la médiane et le mode, et des mesures de répartitions, telles que l’intervalle, la variance et la déviation standard. Mesures de tendance centrale La moyenne (ou moyenne arithmétique) de l’échantillon, x, est définie comme la valeur moyenne d’un échantillon d’éléments x= 1 n ⋅ ∑ xi . n i =1 La valeur intitulée Total obtenue ci-dessus représente la somme des valeurs de x, ou Σxi = n⋅x. Il s’agit de la valeur fournie par la calculatrice sous l’intitulé Mean. D’autres valeurs de moyenne utilisées dans certaines applications sont la moyenne géométrique, xg, ou la moyenne harmonique, xh, définies comme : Page 18-3 x g = n x1 ⋅ x 2 L x n , n 1 1 =∑ . x h i =1 xi Des exemples de calculs de ces mesures, utilisant des listes, sont disponibles au Chapitre 8. La médiane est la valeur qui divise l’ensemble de données par le milieu quand les éléments sont classés dans l’ordre croissant. Si vous avez un nombre impair n d’éléments ordonnés, la médiane de cet échantillon est la valeur située en position (n+1)/2. Si vous avez un nombre pair d’éléments n, la médiane est la moyenne des éléments situés aux positions n/2 et (n+1)/2. Bien que les fonctions statistiques préprogrammées de la calculatrice n’incluent pas le calcul de la médiane, il est très facile d’écrire un programme pour calculer une telle quantité en travaillant avec des listes. Par exemple, si vous voulez utiliser les données de ΣDAT pour trouver la médiane, saisissez le programme suivant en mode RPN (se référer au Chapitre 21 pour plus d’informations sur la programmation en langage d’utilisateur RPL) : « nC «RCLΣ DUP SIZE 2 GET IF 1 > THEN nC COL− SWAP DROP OBJ 1 + ARRY END OBJ OBJ DROP DROP DUP n « LIST SORT IF ‘n mod 2 == 0’ THEN DUP ‘n/2’ EVAL GET SWAP ‘(n+1)/2’ EVAL GET + 2 / ELSE ‘(n+1)/2’ EVAL GET END “Median” TAG » » » Enregistrez ce programme sous le nom MED. Un exemple d’application de ce programme est affiché ci-dessous. Exemple 2 – Pour lancer le programme, vous avez premièrement besoin de préparer la matrice ΣDAT. Ensuite, saisissez le nombre de colonnes dans ΣDAT dont vous voulez trouver la médiane, puis appuyez sur @@MED@@. Pour les données déjà dans ΣDAT (saisies dans un exemple précédent), utilisez le programme MED pour montrer que Median: 2.15. Le mode d’un échantillon est mieux défini à partir d’histogrammes, aussi nous remettons sa définition à une section ultérieure. Page 18-4 Mesure d’une répartition La variance (Var) d’un échantillon est définie par s x2 = n 1 ⋅ ∑ ( xi − x ) 2 . n − 1 i =1 La déviation standard (St Dev) d’un échantillon est juste la racine carrée de la variance, c’est-à-dire : sx. L'intervalle de l’échantillon est la différence entre les valeurs maximum et minimum de l’échantillon. Puisque la calculatrice fournit par l’intermédiaire des fonctions statistiques préprogrammées les valeurs maximum et minimum d’un échantillon, vous pouvez très facilement calculer l’intervalle. Coefficient de variation Le coefficient de variation d’un échantillon combine la moyenne, mesure de tendance centrale, et la déviation standard, mesure de répartition, et est définie, sous forme de pourcentage, par : Vx = (sx/x)100. Echantillon contre population Les fonctions préprogrammées pour les statistiques à une variable utilisées cidessus peuvent être appliquées à une population finie en sélectionnant le Type: Population dans l’écran SINGLE-VARIABLE STATISTICS. La différence principale consiste en ceci que les valeurs de variance et de déviation standard sont calculées en utilisant n dans le dénominateur de la variance, plutôt que (n-1). Example 3 -- Si vous répétiez l’exercice de l’Exemple 1 de cette section en utilisant Population à la place de Sample comme Type, vous obtiendriez les mêmes valeurs pour la moyenne, le total, le maximum et le minimum. La variance et la déviation standard, en revanche, seraient données par: Variance: 0.852, Std Dev: 0.923. Obtenir des distributions de fréquence L’application 2. Fréquences.. du menu STAT peut être utilisée pour obtenir des distributions de fréquence pour un ensemble de données. Les données doivent Page 18-5 être présentées sous forme d’un vecteur de colonne stocké dans la variable ΣDAT. Pour commencer, appuyer sur ‚Ù˜ @@@OK@@@. Le formulaire de saisie qui s’affiche contient les champs suivants : ΣDAT Col X-Min Bin Count Bin Width : : : : : la matrice contenant les données qui nous intéressent. La colonne de ΣDAT étudiée. la limite de classe minimum (par défaut = -6.5). le nombre de classes (par défaut = 13). la taille uniforme de chaque classe (par défaut = 1). Définitions Afin de comprendre la signification de ces paramètres, nous présentons les définitions suivantes : étant donné un ensemble de n valeurs de données : {x1, x2, …, xn} répertoriées sans aucun ordre particulier, on demande souvent de grouper ces données en séries de classes en comptant la fréquence ou le nombre de valeurs correspondant à chaque classe (Note: la calculatrice nomme ces classes, classes bins.). Supposons que les classes, ou bins, sont sélectionnées en divisant l’intervalle (xbot, xtop) en k classes = Bin Count en sélectionnant un nombre de limites de classe, c’est-à-dire {xB1, xB2, … , xBk+1}, de telle sorte que la classe numéro 1 soit limitée par xB1-xB2, la classe numéro 2 par xB2- xB3, et ainsi de suite. La dernière classe, la classe numéro k, est limitée par xBk - xB k +1. La valeur de x correspondant au milieu de chaque classe est connue comme la marque de classe et est définie comme xMi = (xBi + xB i+1)/2, pour i = 1, 2, …, k. Si les classes sont choisies de telle sorte que la taille des classes soit la même, alors nous pouvons définir la taille de classe comme la valeur Bin Width = ∆x = (xmax - xmin) / k, et les limites de classe peuvent être calculées avec xBi = xbot + (i - 1) * ∆x. N’importe quel point des données, xj, j = 1, 2, …, n, appartient à la i-th classe si xBi ≤ xj < xB i+1 Page 18-6 L’application 2. Fréquences.. du menu STAT effectuera ce calcul de fréquence, repérant les valeurs qui pourraient se trouver en dessous des limites de classe minimales ou au-dessus des limites de classe maximales (soit les déviants). Exemple 1 -- Afin de mieux illustrer comment obtenir des distributions de fréquence, nous voulons générer un ensemble de données assez grand, disons de 200 points, en utilisant la procédure suivante : • • • • • • Tout d’abord, définissez le germe du générateur de nombres aléatoires en utilisant : RDZ(25) en mode ALG ou 25 ` RDZ en mode RPN (voir Chapitre 17). Saisissez le programme suivant en mode RPN : « n « 1 n FOR j RAND 100 * 2 RND NEXT n LIST » » et enregistrez-le sous le nom RDLIST (RanDom number LIST generator). Générez la liste de 200 nombres en utilisant RDLIST(200) en mode ALG ou 200 ` @RDLIST@ en mode RPN. Utilisez le programme LXC (voir ci-dessus) pour convertir la liste ainsi générée en vecteur de colonne. Enregistrez le vecteur de colonne dans ΣDAT, en utilisant la fonction STOΣ. Vous pouvez obtenir les informations relatives à la variable unique en utilisant : ‚Ù @@@OK@@@. Utilisez Sample (échantillon) comme Type de l’ensemble de données et sélectionnez toutes les options comme résultats. Les résultats sont les suivants : Mean: 51.0406, Std Dev: 29.5893…, Variance: 875.529… Total: 10208.12, Maximum: 99.35, Minimum: 0.13 Ces informations indiquent que notre ensemble de données s’étend de données proches de 0 à des données proches de 100. En travaillant avec des nombres entiers, nous pouvons sélectionner l’intervalle de variation des données comme (0,100). Pour produire une distribution de fréquence, nous allons utiliser l’intervalle (10,90) en le divisant en 8 classes d’une largeur de 10 chacune. Page 18-7 • • Sélectionnez le programme 2. Fréquences.. en utilisant = ‚Ù˜ @@@OK@@@. Les données sont déjà chargées dans ΣDAT et l’option Col devrait conserver la valeur 1, puisque nous n’avons qu’une colonne dans ΣDAT. Remplacez X-Min par 10, Bin Count par 8 et Bin Width par 10, puis appuyez sur @@@OK@@@. En utilisant le mode RPN, les résultats sont indiqués dans la pile sous forme de vecteur de colonne du niveau de pile 2 et d’un vecteur de ligne de deux composantes au niveau de pile 1. Le vecteur au niveau de pile 1 est le nombre de valeurs éloignées en dehors de l’intervalle pour lequel le calcul de fréquence a été effectué. Dans ce cas, nous obtenons les valeurs [25. 22.] qui indiquent qu’il existe, dans notre vecteur ΣDAT, 25 valeurs inférieures à 10 et 22 supérieures à 90. • Appuyez sur ƒ pour supprimer le vecteur de valeurs éloignées de la pile. Le résultat restant est le calcul de fréquence des données. Ceci peut être traduit sous forme de table, comme nous le présentons ci-dessous. Cette table a été préparée à partir des informations que nous avions fournies pour générer la distribution de fréquence, bien que la seule colonne retournée par la calculatrice soit la colonne Frequency (fi). Les nombres de classe et les limites de classe sont faciles à calculer pour des classes (ou « bins ») de taille uniforme. La marque de classe est juste la moyenne des limites de classe pour chaque classe. Enfin, la fréquence cumulative est obtenue en ajoutant à chaque valeur de la dernière colonne, mis à part la première valeur, la fréquence de la ligne suivante et en remplaçant le résultat dans la dernière colonne de la ligne suivante. Ainsi, pour la deuxième classe, la fréquence cumulative est 18+15 = 33, tandis que pour la classe numéro 3, la fréquence cumulative est 33 + 16 = 49 et ainsi de suite. La fréquence cumulative représente la fréquence de nombres qui sont inférieurs ou égaux à la limite supérieure de n’importe quelle classe donnée. Page 18-8 Classe Classe N° i XBi Limite XB i+1 Marque classe Xmi Fréquence Fréquence fi Cumulative < XB1 déviants Éch. inf 1 10 20 2 20 30 3 30 40 4 40 50 5 50 60 6 60 70 7 70 80 k=8 80 90 >XBk déviants Ech. Sup 15 25 35 45 55 65 75 85 25 18 14 17 17 22 22 24 19 22 18 32 49 66 88 110 134 153 Etant donné le vecteur de fréquence généré par la calculatrice, vous pouvez obtenir un vecteur de fréquence cumulative en utilisant le programme suivant en mode RPN : « DUP SIZE 1 GET freq k « {k 1} 0 CON cfreq « ‘freq(1,1)’ EVAL ‘cfreq(1,1)’ STO 2 k FOR j ‘cfreq(j-1,1) +freq(j,1)’ EVAL ‘cfreq (j,1)’ STO NEXT cfreq » » » Enregistrez-le sous le nom CFREQ (appuyez sur @CFREQ lorsque le vecteur colonne des fréquences est dans la pile). Utilisez ce programme pour générer la liste de fréquences cumulatives. Le résultat, pour cet exemple, est un vecteur de colonne représentant la dernière colonne de la table ci-dessus. Histogrammes Un histogramme est un tracé en barres qui représente le décompte de fréquence sous forme de hauteur de barres alors que les limites des classes sont indiquées à la base des barres. Si vous disposez de vos données brutes (à savoir les données originales avant que le décompte de fréquence soit effectué) dans la variable ΣDAT, vous pouvez sélectionner Histogram comme type de graphe et fournir les informations concernant la valeur initiale de x, le Page 18-9 nombre de classes et la taille des classes pour générer l’histogramme. Alternativement, vous pouvez générer le vecteur de colonne contenant le décompte de fréquence, comme effectué dans l’exemple ci-dessus, enregistrer ce vecteur dans ΣDAT et sélectionner Barplot comme type de graphe. Dans notre exemple suivant, nous vous montrons comment utiliser la première méthode pour générer un histogramme. Exemple 1 – En utilisant les 200 points de données générés pour l’exemple précédent (enregistré comme un vecteur de colonne dans ΣDAT), générez un tracé en histogramme des données en utilisant X-Min = 10, Bin Count = 16, et Bin Width = 5. • • • • Tout d’abord, appuyez sur „ô (simultanément si vous êtes en mode RPN) pour entrer dans l’écran PLOT SETUP. Dans cet écran, changez le Type: prenez Histogram et vérifiez que l’option Col: 1 est sélectionnée. Ensuite, appuyez sur L@@@OK@@@. Ensuite, appuyez sur „ò (simultanément, si vous êtes en mode RPN) pour entrer dans la fenêtre PLOT WINDOW – HISTOGRAM. Dans cette fenêtre, modifiez les informations pour H-View: 10 90, V-View : 0 15, Bar Width: 5. Appuyez sur @ERASE @DRAW@ pour générer l’histogramme suivant : Appuyez sur @CANCEL pour revenir à l’exemple précédent. Changez Vview et Bar Width une fois de plus, de telle sorte que soient indiqués VView: 0 30 et Bar Width: 10. Le nouvel histogramme, basé sur le même ensemble de données, se présente comme suit : Page 18-10 Un tracé de décompte de fréquence, fi, par rapport aux marques de classe, xMi, est appelé polygone de fréquence. Un tracé de la fréquence cumulative par rapport aux limites supérieures est appelé ogive de fréquence cumulative. Vous pouvez produire des diagrammes de dispersion qui simulent ces deux tracés en saisissant les données appropriées dans les colonnes 1 et 2 d’une nouvelle matrice ΣDAT et en remplaçant le Type: par SCATTER dans la fenêtre de configuration PLOT SETUP. Adapter les données à une fonction y = f(x) Le programme 3. Fit data.., disponible en tant qu’option numéro 3 du menu STAT, peut être utilisé pour adapter des fonctions linéaires, logarithmiques, exponentielles et des fonctions de puissance à des ensembles de données (x,y), stockés en colonnes de la matrice ΣDAT. Pour cette application, vous aurez besoin de deux colonnes au moins dans votre variable ΣDAT. Exemple 1 – Adapter une relation linéaire aux données présentées dans le tableau ci-dessous : x y • • 0 0.5 1 2.3 2 3.6 3 6.7 4 7.2 5 11 Saisissez tout d’abord les deux colonnes de données dans la variable ΣDAT en utilisant l’Editeur de matrice, et la fonction STOΣ. Pour accéder au programme 3. Fit data.., utilisez la combinaison de touches suivante : ‚Ù˜˜@@@OK@@@ Le formulaire de saisie affichera la variable ΣDAT actuelle, déjà chargée. Si nécessaire, modifiez votre paramétrage d’écran aux paramètres suivants pour une adaptation linéaire : Page 18-11 • Pour obtenir l’adaptation des données, appuyez sur @@OK@@. Le résultat de ce programme, indiqué ci-dessous pour notre ensemble de données particulier, consiste en ces trois lignes en mode RPN : 3 : '0.195238095238 + 2.00857242857*X' 2 : Correlation: 0.983781424465 1 : Covariance: 7.03 Le niveau 3 montre la forme de l’équation. Dans ce cas, y = 0.06924 + 0.00383 x. Le niveau 2 montre le coefficient de corrélation de l’échantillon et le niveau 1 montre la co-variance de x-y. Définitions Pour un échantillon de points de données (x,y), nous définissons la covariance de l’échantillon comme suit : s xy = 1 n ∑ ( x i − x )( y i − y ) n − 1 i =1 Le coefficient de corrélation de l’échantillon pour x,y est défini par rxy = s xy sx ⋅ s y . où sx, sy sont les déviations standards de x et y, respectivement, c’est-à-dire : s x2 = 1 n ∑ ( xi − x ) 2 n − 1 i =1 s y2 = 1 n ∑ ( yi − y ) 2 n − 1 i =1 Les valeurs sxy et rxy sont la « co-variance » et la « corrélation », respectivement, obtenues en utilisant la fonction "Fit data" de la calculatrice. Page 18-12 Relations linéarisées De nombreuses relations curbo-linéaires « sont restaurées » en une forme linéaire. Par exemple, les différents modèles pour l’adaptation des données fournis par la calculatrice peuvent être linéarisés comme indiqué dans le tableau ci-dessous. Actuel Linéaire Indep. Variable Dépend. Variable Covar. Modèle Modèle ξ η sξη Linéaire y = a + bx [idem] x y sxy Log. y = a + b ln(x) Type d’adaptati on Exp. [idem] ln(x) y sln(x),y bx ln(y) = ln(a) + bx x ln(y) sx,ln(y) b ln(y) = ln(a) + b ln(x) ln(x) ln(y) sln(x),ln(y) y=ae Puissance y=ax La co-variance de l’échantillon de ξ , η est donnée par sξη = 1 ∑ (ξ i − ξ )(ηi − η ) n −1 De même, nous définissons les variances de l’échantillon de ξ et η, respectivement, comme sξ2 = 1 n (ξ i − ξ ) 2 ∑ n − 1 i =1 sη2 = 1 n (η i − η ) 2 ∑ n − 1 i =1 Le coefficient de corrélation de l’échantillon est rξη rξη = sξη sξ ⋅ sη La forme générale de l’équation de régression est η = A + Bξ. Page 18-13 Meilleure adaptation des données La calculatrice peut déterminer laquelle de la relation linéaire ou linéarisée offre la meilleure adaptation pour un ensemble de données (x,y). Nous allons illustrer l’utilisation de cette fonction avec un exemple. Supposons que nous voulions trouver quelle est la fonction d’adaptation qui fournisse la meilleure adaptation pour les données suivantes : x y 0.2 3.16 0.5 2.73 1 2.12 1.5 1.65 2 1.29 4 0.47 5 0.29 10 0.01 Tout d’abord, saisissez les données sous forme de matrice, soit en utilisant l’Editeur de matrice et en y saisissant les données, soit en saisissant deux istes de données correspondant à x et y et en utilisant le programme CRMC (voir Chapitre 10). Ensuite, enregistrez cette matrice dans la matrice statistique ΣDAT, en utilisant STOΣ. Finalement, lancez l’application d’adaptation de données en utilisant : ‚Ù˜˜@@@OK@@@. La matrice actuelle ΣDAT s’affiche, déjà chargée. Modifiez vos paramètres d’affichage dans la configuration suivante : Appuyez sur @@@OK@@@, pour obtenir : 1: '3.99504833324*EXP(-.579206831203*X)' 2: Corrélation: -0.996624999526 3: Covariance: -6.23350666124 La meilleure adaptation pour les données est, par conséquent, y = 3.995 e0.58⋅x . Obtenir des statistiques de résumé additionnelles L'application 4. Summary stats.. dans le menu STAT peut être utile dans certains calculs de statistique d’échantillon. Pour commencer, appuyez sur ‚Ù une fois de plus, avant de vous porter à la quatrième option en Page 18-14 utilisant la flèche de direction vers le bas ˜ et appuyez sur @@@OK@@@. Le formulaire de saisie qui s’affiche contient les champs suivants : ΣDAT : X-Col, Y-Col : _ΣX _ ΣY… : la matrice contenant les données qui nous intéressent. Ces options s’appliquent uniquement si vous avez plus de deux colonnes dans la matrice ΣDAT. Par défaut, la colonne x est la colonne 1 et la colonne y est la colonne 2. les statistiques de résumé que vous pouvez choisir comme résultat de ce programme en cochant le champ approprié en utilisant [CHK] lorsque ce champ est sélectionné. Plusieurs de ces statistiques de résumé sont utilisées pour calculer des statistiques à deux variables (x,y) qui peuvent se rapporter à la fonction y = f(x). Par conséquent, ce programme peut être envisagé comme un programme compagnon du programme 3. Fit data.. Exemple 1 – pour les données x-y actuellement dans ΣDAT, tentons d’obtenir toutes les statistiques de résumé. • • • • Pour accéder à l’option summary stats… , utilisez : ‚Ù˜˜ ˜@@@OK@@@ Sélectionnez les numéros de colonne correspondant aux données x- et y, c’est-à-dire X-Col: 1 et Y-Col: 2. Utilisez la touche @CHK@ pour sélectionner toutes les options de résultat, c'est-à-dire _ΣX, _ΣY, etc. Appuyez sur @@@OK@@@ pour obtenir les résultats suivants : ΣX: 24.2, ΣY: 11.72, ΣX2: 148.54, ΣY2: 26.6246, ΣXY: 12.602, NΣ:8 Note: Il existe deux autres applications dans le menu STAT, à savoir, 5. Hypth. tests.. et 6. Conf. Interval.. Ces deux applications seront discutées plus tard dans ce chapitre. Calcul de percentiles Les percentiles sont des mesures qui divisent les données en ensembles de 100 parties. La procédure de base pour calculer le 100⋅p-ème percentile (0 < p < 1) dans un échantillon de taille n, est la suivante : Page 18-15 1. Classez les n observations de la plus petite à la plus grande 2. Déterminez le produit n⋅p A. Si n⋅p n’est pas un entier, l’arrondir à l’entier le plus proche et trouver la valeur ordonnée correspondante. B. Si n⋅p est un entier, disons k, calculez la moyenne des kème et (k-1) ème observations ordonnées. Note: La règle d’arrondi aux entiers, pour un non entier x.yz…, est la suivante : si y ≥ 5, arrondir à x+1; si y < 5, arrondir à x. Cet algorithme peut être mis en œuvre dans le programme suivant saisi en mode RPN (se référer au Chapitre 21 pour des informations sur la programmation) : « SORT DUP SIZE p X n « n p * k « IF k CEIL k FLOOR - NOT THEN X k GET X k 1 + GET + 2 / ELSE k 0 RND X SWAP GET END » » » que nous allons enregistrer dans la variable % TILE (percent-tile). Ce programme nécessite comme donnée d‘entrée une valeur p comprise entre 0 et 1, représentant le 100p percentile, et une liste de valeurs. Le programme renvoie le 100p percentile de la liste. Exemple 1 – Déterminez le 37% percentile de la liste { 2 1 0 1 3 5 1 2 3 6 7 9}. En mode RPN, saisissez 0.27 ` { 2 1 0 1 3 5 1 2 3 6 7 9} ` @%TILE. En mode ALG, saisissez %TILE(0.27,{2,1,0,1,3,5,1,2,3,6,7,9}. Le résultat est 1. Le menu logiciel STAT Toutes les fonctions statistiques décrites ci-dessus sont accessibles par l’intermédiaire d’un menu logiciel STAT. On peut accéder au menu logiciel STAT en utilisant, en mode RPN, la commande 96 MENU Page 18-16 Vous pouvez créer votre propre programme, disons @STATm, pour activer le programme logiciel STAT directement. Le contenu de ce programme sera simplement : << 96 MENU >>. Le menu logiciel STAT contient les fonctions suivantes : Une pression sur la touche correspondant à n’importe lequel de ces menus donne accès aux différentes fonctions décrites ci-dessous. Le sous-menu DATA Le sous-menu DATA contient des fonctions utilisées pour manipuler la matrice statistique ΣDATA: Le fonctionnement de ces fonctions est le suivant : Σ+ Σ- : ajoute une ligne au niveau 1 en bas de la matrice ΣDATA. : supprime la dernière ligne de la matrice ΣDATA et la place au niveau 1 de la pile. La nouvelle matrice ΣDATA reste en mémoire. CLΣ : efface la matrice courante ΣDATA. ΣDAT : place le contenu de la matrice ΣDATA courante au niveau 1 de la pile. „ΣDAT : enregistre la matrice au niveau 1 de la pile dans la matrice ΣDATA. Le sous-menu ΣPAR Le sous-menu ΣPAR contient des fonctions utilisées pour modifier les paramètres statistiques. Page 18-17 Les paramètres affichés à l’écran sont les suivants : Xcol : indique la colonne de ΣDATA représentant x (par défaut : 1) Ycol : indique la colonne de ΣDATA représentant y (par défaut: 2) Intercept : montre les segments des adaptations de données les plus récentes (par défaut: 0) Slope : montre la pente des adaptations de données les plus récentes (par défaut: 0) Model : montre le modèle d’adaptation de données courant (par défaut: LINFIT) Les fonctions correspondant aux touches de menu fonctionnent comme suit : XCOL : saisi comme n @XCOL, change Xcol pour n. YCOL : saisi comme n @YCOL, change Ycol pour n. ΣPAR : affiche les paramètres statistiques. RESET : restaure les paramètres aux valeurs par défaut. INFO : affiche les paramètres statistiques. Le sous-menu MODL dans ΣPAR Ce sous-menu contient des fonctions qui vous permettent de changer le modèle d’adaptation de données à LINFIT, LOGFIT, EXPFIT, PWRFIT ou BESTFIT en appuyant sue le bouton approprié. Le sous-menu 1VAR Le sous-menu 1VAR contient des fonctions qui sont utilisées pour calculer les statistiques de colonnes dans la matrice ΣDATA. Les fonctions disponibles sont les suivantes : Page 18-18 TOT : montre la somme de chaque colonne de la matrice ΣDATA. MEAN : montre la moyenne de chaque colonne de la matrice ΣDATA. SDEV : montre la déviation standard de chaque colonne de la matrice ΣDATA. MAXΣ : montre la valeur maximum de chaque colonne de la matrice ΣDATA. MINΣ : montre le moyenne de chaque colonne de la matrice ΣDATA. BINS : utilisé comme xs, ∆x, n [BINS], fournit la fréquence de distribution pour la donnée dans la colonne Xcol de la matrice ΣDATA, avec les classes de fréquence définies comme [xs,xs+∆x], [xs,xs+2∆x],…, [xs,xs+n∆x]. VAR : montre la variance de chaque colonne dans la matrice ΣDATA. PSDEV : montre la déviation standard de la population (basée sur n plutôt que sur (n-1)) de chaque colonne de la matrice ΣDATA. PVAR : montre la variance de la population de chaque colonne de la matrice ΣDATA. MINΣ : montre la moyenne de chaque colonne de la matrice ΣDATA. Le sous-menu PLOT Le sous-menu PLOT contient des fonctions qui sont utilisées pour produire des tracés à partir des données de la matrice ΣDATA. Les fonctions proposées sont : BARPL : produit un graphique en barres avec les données de la colonne Xcol de la matrice ΣDATA. HISTP : produit un graphique en barres avec les données de la colonne Xcol de la matrice ΣDATA, en utilisant la largeur par défaut de 13 classes sauf si la taille de la classe a été modifiée en utilisant la fonction BINS du sous-menu 1VAR (voir ci-dessus). SCATR : produit un graphique en barres avec les données de la colonne Ycol de la matrice ΣDATA par rapport aux données de la colonne Xcol de la matrice ΣDATA. L’équation adaptée sera enregistrée dans la variable EQ. Page 18-19 Le sous-menu FIT Le sous-menu FIT contient des fonctions utilisées pour faire correspondre des équations aux données des colonnes Xcol et Ycol de la matrice ΣDATA. Les fonctions disponibles dans ce sous-menu sont les suivantes : ΣLINE : fournit l’équation correspondant à l’adaptation la plus récente. LR : fournit le segment et la pente de l’adaptation la plus récente. PREDX : utilisée comme y @PREDX, à partir de y, trouve x pour l’adaptation y = f(x). PREDY : utilisée comme x @PREDY, à partir de x, trouve y pour l’adaptation y = f(x). CORR : fournit le coefficient de corrélation pour l’adaptation la plus récente. COV : fournit la co-variance de l’échantillon pour l’adaptation la plus récente. PCOV : montre la co-variance de la population pour l’adaptation la plus récente. Le sous-menu SUMS Le sous-menu SUMS contient des fonctions utilisées pour obtenir des statistiques de résumé des données des colonnes Xcol et Ycol de la matrice ΣDATA. ΣX ΣY ΣX^2 ΣY^2 ΣX*Y NΣ : : : : : fournit la somme des valeurs de la colonne Xcol. fournit la somme des valeurs de la colonne Ycol. fournit la somme des valeurs au carré de la colonne Xcol. fournit la somme des valeurs au carré de la colonne Ycol. fournit la somme de x⋅y, soit les produits des données des colonnes Xcol et Ycol. : fournit le nombre de colonnes de la matrice ΣDATA. Page 18-20 Exemple d’opérations du menu STAT Prenons ΣDATA comme la matrice présentée à la page suivante. • • • Saisir la matrice au niveau 1 de la pile en utilisant l’Editeur de matrice. Pour enregistrer la matrice dans ΣDATA, utiliser : @)DATA „ @£DAT Calculez les statistiques de chaque colonne : @)STAT @)1VAR: @TOT @MEAN @SDEV @MAX£ @MIN£ L @VAR @PSDEV @PVAR • • produit produit produit produit produit produit produit produit [38.5 87.5 82799.8] [5.5. 12.5 11828.54…] [3.39… 6.78… 21097.01…] [10 21.5 55066] [1.1 3.7 7.8] [11.52 46.08 445084146.33] [3.142… 6.284… 19532.04…] [9.87… 39.49… 381500696.85…] Données : 1.1 3.7 2.2 5.5 6.8 9.2 10.0 3.7 7.8 8.9 101 5.9 25 12.5 612 15.1 2245 19.9 24743 21.5 55066 Générez un diagramme de dispersion des données des colonnes 1 et 2 et adaptez-le à une ligne droite : @)STAT @)£PAR @RESET restaure les paramètres statistiques Page 18-21 • L @)STAT @PLOT @SCATR @STATL produit le diagramme de dispersion Dessine les données correspondantes comme une ligne droite @CANCL renvoie à l’affichage principal Détermine l’équation adaptée et certaines de ces statistiques : @)STAT @)FIT@ @£LINE @@@LR@@@ 3 @PREDX 1 @PREDX @CORR @@COV@@ L@PCOV • produit produit produit produit produit produit produit '1.5+2*X' Intercept: 1.5, Slope: 2 0.75 3. 50 1.0 23.04 19.74… Obtient les statistiques résumées des données des colonnes 1 et 2 : @)STAT @)SUMS: @@@£X@@ @@@£Y@@ @@£X2@ @@£Y2@ @@£XY@ @@@N£@@ produit produit produit produit produit produit 38.5 87.5 280.87 1370.23 619.49 7 Page 18-22 • Adapte les données des colonnes 1 (x) et 3 (y) en utilisant une adaptation logarithmique : L @)STAT @)£PAR 3 @YCOL @)MODL @LOGFI sélectionne Ycol = 3, et sélectionne Model = Logfit L @)STAT @PLOT @SCATR produit un diagramme de dispersion de y par rapport à. x montre la ligne pour l’adaptation log @STATL De toute évidence, le modèle log n’est pas le bon choix. @CANCL revient à l’affichage normal. • Sélectionne la meilleure adaptation en utilisant : @)STAT @£PAR @)MODL @BESTF montre que EXPFIT est la meilleure adaptation. L@)STAT @)FIT @£LINE produit '2.6545*EXP(0.9927*X)' Page 18-23 @CORR 2300 @PREDX 5.2 @PREDY L @)STAT @PLOT @SCATR @STATL • • produit 0.99995… (bonne corrélation) produit 6.8139 produit 463.37 produit un diagramme de dispersion de y vs. x montre la ligne pour l’adaptation log Pour revenir au menu STAT, faites appel à : L@)STAT Pour revenir à votre menu variable, utilisez : J. Intervalles de confiance L’inférence statistique est le processus qui consiste à tirer des conclusions sur une population basées sur les informations des données d’un échantillon. Afin que les données de l’échantillon soient significatives, l’échantillon doit être aléatoire, cela signfie que la sélection d’un échantillon particulier doit avoir la même probabilité que celle de n’importe quel échantillon prélevé sur une population donnée. Suivent quelques termes relatifs au concept d’échantillonnage aléatoire : • • • • Population : collection de toutes les observations concevables d’un processus ou d’attributs d’un composant. Echantillon : sous-ensemble d’une population. Echantillon aléatoire : un échantillon représentatif de la population. Variable aléatoire : fonction réellement évaluée définie sur un espace d’échantillon. Peut être discrète ou continue. Si la population suit une certaine distribution de probabilité qui dépend d’un paramètre θ, un échantillon aléatoire d’observations (X1,X2,X3,... , Xn), de taille n peut être utilisé pour estimer θ. Page 18-24 • • • • • • Distribution de l’échantillon : distribution de probabilité cumulée de X1,X2,X3,... , Xn. Une statistique : toute fonction des observations qui est quantifiable et ne contient pas de paramètres inconnus. Une statistique est une variable aléatoire qui fournit un moyen d’estimation. Estimation de point : lorsqu’une seule valeur du paramètre θ est fournie. Intervalle de confiance : intervalle numérique qui contient le paramètre θ à un niveau donné de probabilité. Estimateur: règle ou méthode d’estimation du paramètre θ. Estimation : valeur que l’estimateur atteint dans une application particulière. Exemple 1 -- Prenons X représentant le temps (en heures) nécessaire à un processus de fabrication pour s’effectuer complètement. Etant donné l’échantillon suivant de valeurs de X : 2.2 2.5 2.1 2.3 2.2. La population d’où cet échantillon est prélevé est la collection de toutes les valeurs possibles de la durée du processus et est, par conséquent, une population infinie. Supposons que le paramètre de population que nous essayons d’estimer soit sa valeur moyenne, µ. Nous utiliserons comme X = 1 n ⋅ ∑ X i. n i =1 estimateur la valeur moyenne de l’échantillon, X, définie par (la règle) : Pour l’échantillon étudié, l’estimation de µ est la statistique de l’échantillon x = (2.2+2.5+2.1+2.3+2.2)/5 = 2.36. Cette valeur unique deX, à savoir x = 2.36, constitue une estimation de point du paramètre de population µ. Estimation des intervalles de confiance Le niveau suivant d’inférence d’une estimation de point est l’estimation d’intervalle, c’est-à-dire qu’au lieu d’obtenir une valeur unique d’un estimateur, nous fournissons deux statistiques, a et bn qui définissent un intervalle contenant le paramètre θ avec un certain niveau de probabilité. Les points extrêmes de l’intervalle sont connus sous le nom de limites de confiance et l’intervalle (a,b) est connu comme l’intervalle de confiance. Page 18-25 Définitions Prenons (Cl,Cu) comme intervalle de confiance contenant un paramètre inconnu θ. • • • • Le niveau de confiance ou coefficient de confiance est la quantité (1-α), où 0 < α < 1, telle que P[Cl < θ < Cu] = 1 - α, où P[ ] représente une probabilité (voir Chapitre 17). L’expression précédente définit ce que l’on appelle les limites de confiance bilatérales. Un intervalle de confiance unilatéral bas est défini par Pr[Cl < θ] = 1 - α. Un intervalle de confiance haut unilatéral est défini par Pr[θ < Cu] = 1 - α. Le paramètre α est connu comme le niveau de signification. Les valeurs typiques de α sont 0.01, 0.05, 0.1, correspondant aux niveaux de confiance respectifs de 0.99, 0.95 et 0.90. Intervalles de confiance pour la moyenne de population quand la variance de la population est connue Supposons queX est la moyenne d’un échantillon aléatoire de taille n, prélevé sur une population infinie à déviation standard connue σ. L’intervalle de confiance bilatéral, 100(1-α) % [soit 99%, 95%, 90%, etc.], pour la moyenne de la population µ est (X−zα/2⋅σ/√n ,X +zα/2⋅σ/√n ), où zα/2 est une variation normale standard dépassée avec une probabilité de α /2. L’erreur standard de la moyenne de l’échantillon, X, est ⋅σ/√n. Les limites de confiance unilatérale inférieure et supérieure 100(1-α) % pour la moyenne de la population µ sont, respectivement, X+zα⋅σ/√n , et X−zα⋅σ/√n . Par conséquent, un intervalle de confiance inférieur unilatéral est défini comme (-∞ , X+zα⋅σ/√n), et un intervalle de confiance supérieur unilatéral est défini comme (X−zα⋅σ/√n,+∞). Notez que dans ces deux intervalles, nous utilisons la valeur zα, plutôt que zα/2. En général, la valeur zk dans la distribution normale standard est définie comme la valeur de z dont la probabilité de dépassement est k, à savoir Pr[Z>zk] = k, ou Pr[Z<zk] = 1 – k. La distribution normale a été décrite au Chapitre 17. Page 18-26 Intervalles de confiance pour la moyenne de population quand la variance de population est inconnue Supposons que X et S, respectivement, soient les déviations moyenne et standard d’un échantillon aléatoire de taille n, prélevé sur une population infinie à déviation standard inconnue σ. L’intervalle de confiance bilatéral central 100⋅(1−α) % [soit 99%, 95%, 90%, etc.] pour la moyenne de la population µ, est (X− tn-1, α/2 ⋅S /√n , X+ tn-1, α/2 ⋅S/√n ), où tn-1, α/2 est la variation t de Student avec ν = n-1 degrés de liberté et une probabilité α/2 de dépassement. Les limites de confiance unilatéral supérieure et inférieure 100⋅ (1-α) % pour la moyenne de population µ sont, respectivement : X + tn-1, α/2 ⋅S/√n etX − tn-1, α/2 ⋅S /√n. Petits échantillons et grands échantillons Le comportement de la distribution t de Student est tel que pour n>30, la distribution ne peut pas se distinguer par rapport à la distribution normale standard. Par conséquent, pour les échantillons de plus de 30 éléments, quand la variance de la population est connue, vous pouvez utiliser le même intervalle de confiance que quand la variance de la population est connue, mais en remplaçant σ par S. Les échantillons pour lesquels n>30 sont généralement appelés grands échantillons, sinon on parle de petits échantillons. Intervalle de confiance pour une proportion Une variable aléatoire discrète X suit une distribution de Bernoulli si X ne peut prendre que deux valeurs, X = 0 (échec) ou X = 1 (succès). Supposons que X ~ Bernoulli (p), où p est la probabilité de succès, alors la valeur moyenne ou attente de X est E[X] = p et sa variance est Var[X] = p(1-p). Si une expérience impliquant X est répétée n fois et que k résultats positifs (succès) sont enregistrés, alors l’estimation de p est donnée par p’= k/n, tandis que l’erreur standard de p’ est σp’ = √(p⋅(1-p)/n). En pratique, l’estimation de l’échantillon pour p, soit p’, remplace p dans la formule d’erreur standard. Page 18-27 Pour une taille d’échantillon importante, n>30 et n⋅p > 5 et n⋅(1-p)>5, la distribution de l’échantillon est presque normale. Par conséquent, l’intervalle de confiance bilatéral central 100(1-α) % pour la moyenne de la population p est (p’+zα/2⋅σp’, p’+zα/2⋅σp’ ). Pour un petit échantillon (n<30), l’intervalle peut être estimé comme (p’-tn-1,α/2⋅σp’,p’+tn-1,α/2⋅σp’). Distribution d’échantillon de statistiques de différences et de sommes Supposons que S1 et S2 sont des statistiques indépendantes de deux populations basées respectivement sur des échantillons de tailles n1 et n2. De même, supposons que les moyennes et erreurs standard respectives des distributions d’échantillon de ces statistiques soient respectivement µS1 et µS2, et σS1 et σS2. Les différences entre les statistiques des deux populations, S1-S2, ont une distribution d’échantillonavec une moyenne µ S1−S2 = µS1 - µS2 et une erreur standard σ S1−S2 = (σS12 + σS22)1/2. De même, la somme des statistiques T1+T2 a une moyenne µ S1+S2 = µS1 +µS2 et une erreur standard σS1+S2 = (σS12 + σS22)1/2. Les estimateurs pour la moyenne et la déviation standard de la différence et de la somme des statistiques S1 et S2 sont donnés par : µˆ S1 ± S 2 = X 1 ± X 2 , σˆ S1 ± S 2 = σ S21 σ S2 2 + n1 n2 Dans ces expressions, X1 et X2 sont les valeurs des statistiques S1 et S2 des échantillons prélevés sur les deux populations, et σS12 et σS22 sont les variances des populations de statistiques S1 et S2 sur lesquelles les échantillons ont été prélevés. Page 18-28 Intervalles de confiance pour les sommes et les différences de valeurs moyennes Si les variances de la population σ12 et σ22 sont connues, les intervalles de confiance pour la différence et la somme des valeurs moyennes des populations, à savoir µ1±µ2, sont donnés par : 2 2 2 2 (X ± X ) − z ⋅ σ1 + σ 2 , (X ± X ) + z ⋅ σ1 + σ 2 2 1 2 α /2 α /2 1 n1 n2 n1 n2 Pour de grands échantillons, soit n1 > 30 et n2 > 30, et des variances de populations inconnues, mais égales σ12 = σ22, les intervalles de confiance pour la différence et la somme des valeurs moyennes des populations, à savoir µ1±µ2, sont donnés par : 2 2 2 2 ( X ± X ) − z ⋅ S1 + S 2 , ( X ± X ) + z ⋅ S1 + S 2 . 2 1 2 α /2 α /2 1 n1 n2 n1 n2 Si l’un des échantillons est petit, tel n1 < 30 ou n2 < 30, et avec des variances de population inconnues mais égale σ12 = σ22, nous pouvons obtenir une estimation « pondérée » de la variance de µ1±µ2, puisque sp2 = [(n11)⋅s12+(n2-1)⋅s22]/(n1+n2-2). Dans ce cas, les intervalles de confiance centrés pour la somme et la différence des valeurs moyennes des populations, soit µ1±µ2, sont donnés par : (( X 1 ± X 2 ) − tν ,α / 2 ⋅ s 2p , ( X 1 ± X 2 ) + tν ,α / 2 ⋅ s 2p ) où ν = n1+n2-2 est le nombre de degrés de liberté de la distribution t de Student. Dans les deux dernières options, nous spécifions que les variances de population, même si elles sont inconnues, doivent être égale. Ce cas signifie que les deux échantillons sont prélevés sur la même population ou sur deux populations dont nous suspectons qu’elles ont les mêmes variances. Page 18-29 Cependant, si nous avons des raisons de croire que les deux variances de populations inconnues sont différentes, nous pouvons utiliser l’intervalle de confiance suivant (( X 1 ± X 2 ) − tν ,α / 2 ⋅ s X2 1 ± X 2 , ( X 1 ± X 2 ) + tν ,α / 2 ⋅ s X2 1 ± X 2 ) où la déviation standard estimée pour la somme et la différence est s X1 ± X 2 = s12 s 22 + n1 n2 et n, les degrés de liberté de la variation t sont calculés en utilisant la valeur entière la plus proche de [( S12 / n1 ) + ( S 22 / n2 )] 2 ν = [( S12 / n1 ) /(n1 − 1)] + [( S 22 / n2 ) /(n2 − 1)] Déterminer des intervalles de confiance On peut accéder à l’application 6. Conf Interval en appuyant sur ‚Ù—@@@OK@@@. L’application offre les options suivantes: Ces options doivent être interprétées comme suit : 1. Z-INT: 1 µ. : Intervalle de confiance de l’échantillon simple pour la moyenne de la population, µ, avec variance de population connue, ou pour de grands échantillons à variance de population inconnue. Page 18-30 2. Z-INT: µ1−µ2. : Intervalle de confiance pour la différence des moyennes de population, µ1- µ2, avec soit variances de population connues soit variances de populations inconnus pour les grands échantillons. 3. Z-INT: 1 p. : Intervalle de confiance simple pour la proportion p pour de grands échantillons à variance de population inconnue. 4. Z-INT: p1− p2. : Intervalle de confiance pour la différence de deux proportions, p1-p2, pour de grands échantillons à variance de population inconnue. 5. T-INT: 1 µ. : Intervalle de confiance de l’échantillon simple pour la moyenne de la population, µ, pour de petits échantillons à variance de population inconnue. 6. T-INT: µ1−µ2. : Intervalle de confiance pour la différence des moyennes de population, µ1- µ2, pour les petits échantillons à variance de population inconnue. Intervalle de confiance pour la différence des moyennes de population. Exemple 1 – Déterminer l’intervalle de confiance pour la moyenne d’une population si un échantillon de 60 éléments indique que la valeur de la moyenne de l’échantillon est x = 23.2 et sa déviation standard est s = 5.2. Utiliser α = 0.05. Le niveau de confiance est C = 1-α = 0.95. Sélectionner le cas 1 dans le menu présenté ci-dessus en appuyant sur @@@OK@@@. Saisir les valeurs requises dans le formulaire de saisie comme suit : Appuyez sur @HELP pour faire s’afficher un écran expliquant la signification de l’intervalle de confiance en terme de nombres aléatoires générés par une calculatrice. Pour faire défiler l’écran déroulant vers le bas, utilisez la flèche Page 18-31 de direction vers le bas ˜. Appuyez sur @@@OK@@@ quand vous avez terminé la lecture de l’écran d’aide. Vous retournez à l’écran illustré ci-dessus. Pour calculer l’intervalle de confiance, appuyez sur @@@OK@@@. Le résultat qui s’affiche sur la calculatrice est le suivant : Le résultat indique qu’un intervalle de confiance de 95% a été calculé. La valeur Critique z affichée à l’écran ci-dessus correspond aux valeurs ±zα/2 dans la formule d’intervalle de confiance (X−zα/2⋅σ/√n , X+zα/2⋅σ/√n ). Les valeurs µ Min et µ Max sont les limites inférieure et supérieure de cet intervalle, soit µ Min = X−zα/2⋅σ/√n et µ Max = X+zα/2⋅σ/√n. Appuyez sur @GRAPH pour voir une représentation graphique des informations relatives à l’intervalle de confiance : Le graphe montre la distribution standard normale pdf (probability density function), l’emplacement des points critiques, ±zα/2, la valeur moyenne (23.2) et les limites d’intervalles correspondantes (21.88424 et 24.51576). Appuyez sur @TEXT pour revenir à l’écran de résultats précédent et/ou appuyer sur @@@OK@@@ pour quitter l’environnement d’intervalle de confiance. Les résultats s’afficheront sous forme de liste à l’écran de la calculatrice. Exemple 2 -- Les données des deux échantillons (échantillons 1 et 2) indiquent que x1 = 57.8 etx 2 = 60.0. Les tailles des échantillons sont n1 = 45 et n2 = 75. S’il est connu que les déviations standard des populations sont σ1 = 3.2, Page 18-32 et σ2 = 4.5, déterminer l’intervalle de confiance de 90% pour la différence des moyennes des populations, soit µ1- µ 2. Appuyez sur ‚Ù—@@@OK@@@pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur ˜@@@OK@@@ pour sélectionner l’option 2. Z-INT: µ 1 – µ2. Saisissez les valeurs suivantes : Quand vous avez terminé, appuyez sur @@@OK@@@. Les résultats, sous forme de texte et de graphe, sont présentés ci-dessous : La variable ∆µ représente µ1 – µ2. Exemple 3 – Une enquête d’opinion publique indique que sur un échantillon de 150 personnes 60 sont en faveur d’une augmentation des impôts sur la propriété pour financer certains projets publics. Déterminez un intervalle de confiance de 99% pour la proportion de la population qui est en faveur d’une augmentation des taxes. Appuyez sur ‚Ù—@@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur ˜˜ @@@OK@@@ pour sélectionner l’option 3. Z-INT: µ 1 – µ2. Saisissez les valeurs suivantes : Page 18-33 Quand vous avez terminé, appuyez sur @@@OK@@@. Les résultats, sous forme de texte et de graphe, sont présentés ci-dessous : Exemple 4 -- Déterminez l'intervalle de confiance de 90% pour la différence entre les deux proportions si l’échantillon 1 montre 20 succès pour 120 tentatives et l’échantillon 2 montre 15 succès pour 100 tentatives. Appuyez sur ‚Ù—@@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur ˜˜˜@@@OK@@@ pour sélectionner 4. Z-INT: p1 – p2. Saisissez les valeurs suivantes : Quand vous avez terminé, appuyez sur @@@OK@@@. Les résultats, sous forme de texte et de graphe, sont présentés ci-dessous : Page 18-34 Exemple 5 – Déterminez l'intervalle de confiance de 95% pour la moyenne de la population si un échantillon de 50 éléments a une moyenne de 15.5 et une déviation standard de 5. La déviation standard de la population est inconnue. Appuyez sur ‚Ù—@@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur — — @@@OK@@@ pour sélectionner l’option 5. T-INT: µ. Saisissez les valeurs suivantes : Quand vous avez terminé, appuyez sur @@@OK@@@. Les résultats, sous forme de texte et de graphe, sont présentés ci-dessous : L’illustration montre la pdf t de Student pour ν = 50 – 1 = 49 degrés de liberté. Exemple 6 -- Déterminez l’intervalle de confiance de 99% de confiance pour la différence de moyennes de deux populations compte tenu des données de l’échantillon : x1 = 157.8 ,x2 = 160.0, n1 = 50, n2 = 55. Les déviation standard des populations sont s1 = 13.2, s 2 = 24.5. Appuyez sur ‚Ù—@@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur —@@@OK@@@ pour sélectionner l’option 6. T-INT: µ1−µ2. Saisissez les valeurs suivantes : Page 18-35 Quand vous avez terminé, appuyez sur @@@OK@@@. Les résultats, sous forme de texte et de graphe, sont présentés ci-dessous : Ces résultats supposent que les valeurs s1 et s2 sont les déviations standard des populations. Si ces valeurs représentent, en fait, les déviations standard des échantillons, vous devez saisir les mêmes valeurs que précédemment, mais en sélectionnant l’option _pooled. Les résultats sont maintenant : Intervalles de confiance pour la variance Pour développer une formule pour l’intervalle de confiance pour la variance, nous devons d’abord introduire la variance de la distribution de l’échantillon : considérons un échantillon aléatoire X1, X2 ..., Xn de variables indépendantes normalement distribuées avec une moyenne µ, une variance σ2 et une moyenne d’échantillonX. La statistique n 1 Sˆ 2 = ⋅ ∑ (X i − X )2 , n − 1 i =1 est un estimateur non biaisé de la variance σ2. Page 18-36 La quantité ( n − 1) ⋅ n Sˆ 2 = ( X i − X ) 2 , a une distribution χn-12 (chi-carré) ∑ 2 σ i =1 avec ν = n-1 degrés de liberté. L’intervalle de confiance bilatéral (1-α)⋅100 % est trouvé à partir de Pr[χ2n-1,1-α/2 < (n-1)⋅S2/σ2 < χ2n-1,α/2] = 1- α. L’intervalle de confiance pour la variance de la population σ2 est par conséquent [(n-1)⋅S2/ χ2n-1,α/2 ; (n-1)⋅S2/ χ2n-1,1-α/2]. où χ2n-1,α/2 , et χ2n-1,1-α/2 sont les valeurs qu’une variable χ2 avec ν = n-1 degrés de liberté, excède avec des probabilités respectives de α/2 et 1- α /2. La limite de confiance unilatérale supérieure pour σ2 est définie comme (n1)⋅S2/ χ2n-1,1-α. Exemple 1 – Déterminez l’intervalle de confiance de 95% pour la variance de population σ2 basé sur les résultats à partir d’un échantillon de taille n = 25 qui indique que la variance de l’échantillon est s2 = 12.5. Au Chapitre 17 nous utilisons la résolution numérique pour résoudre l’équation α = UTPC(γ,x). Dans ce programme, γ représente les degrés de liberté (n-1) et α représente la probabilité d’excéder une certaine valeur de x (χ2), soit Pr[χ2 > χα2] = α. Pour l’exemple présent, α = 0.05, γ = 24 et α = 0.025. La résolution de l’équation a présenté les exemples ci-dessus dans χ2n-1,α/2 = χ224,0.025 = 39.3640770266. D’un autre côté, la valeur χ2n-1,α/2 = χ224,0.975 est calculée en utilisant les valeurs γ = 24 et α = 0.975. Le résultat est χ2n-1,1-α/2 = χ224,0.975 = 12.4011502175. Les limites inférieures et supérieures de l’intervalle seront (Utilisez le mode ALG) : (n-1)⋅S2/ χ2n-1,α/2 = (25-1)⋅12.5/39.3640770266 = 7.62116179676 Page 18-37 et (n-1)⋅S2/ χ2n-1,1-α/2 = (25-1)⋅12.5/12.4011502175 = 24.1913044144 Par conséquent, l’intervalle de confiance 95% pour cet exemple est : 7.62116179676 < σ2 < 24.1913044144. Test d’hypothèses Une hypothèse est une déclaration faite au sujet d’une population (relative par exemple à sa moyenne). L’acceptation de cette hypothèse est basée sur un test statistique effectué sur un échantillon pris dans cette population. Les actions et prises de décisions consécutives sont appelées test d’hypothèse. Le processus de test d’hypothèse consiste à prélever un échantillon aléatoire sur une population et à faire une hypothèse statistique sur cette population. Si les observations ne supportent pas le modèle ou la théorie postulés, l’hypothèse est rejetée. Cependant, si les observations sont conformes, l’hypothèse n’est pas rejetée, mais elle n’est pas nécessairement acceptée. Est associé à la décision un niveau de signification α. Procédure pour tester des hypothèses La procédure pour tester des hypothèses comprend les six étapes suivantes: 1. Déclarez une hypothèse nulle, H0. Il s’agit de l’hypothèse à tester. Par exemple, H0: µ1-µ2 = 0, à savoir nous émettons l’hypothèse que la valeur moyenne de la population 1 et la valeur moyenne de la population 2 sont les mêmes. Si H0 est vraie, toute différence observée dans les moyennes est attribuée à des erreurs dans l’échantillonnage aléatoire. 2. Déclarez une hypothèse alternative, H1. Pour l’exemple étudié, cela pourrait être H1: µ1-µ2 ≠ 0 [Note: il s’agit de ce que nous voulons vraiment tester.] 3. Déterminez ou spécifiez une statistique de test, T. Dans l’exemple étudié, T sera basée sur la différence des moyennes observées, X1-X2. 4. Utilisez la distribution connue (ou supposée) de la statistique de test, T. 5. Définissez une zone de rejet (la région critique, R) pour la statistique de test basée sur le niveau de signification α. Page 18-38 6. Utilisez les données observées pour déterminer si la valeur calculée de la statistique de test se trouve à l’intérieur ou à l’extérieur de la région critique. Si la statistique de test se trouve dans la zone critique nous disons alors que la quantité que nous testons est significative au niveau 100α %. Notes: 1. Pour l’exemple étudié, l’hypothèse H1: µ1-µ2 ≠ 0 produit ce qui s’appelle un test bilatéral. Si l’hypothèse alternative est H1: µ1-µ2 > 0 ou H1: µ1-µ2 < 0, alors nous avons un test unilatéral. 2. La probabilité de rejet de l’hypothèse nulle est égale au niveau de signification, soit Pr[T∈R|H0]=α. La notation Pr[A|B] représente la probabilité conditionnelle de l’évènement A étant donné que l’évènement B se produit. Erreurs des tests d’hypothèse En test d’hypothèse, on utilise respectivement les termes erreur de type 1 et erreur de type 2 pour définir les cas dans lesquels une hyspothèse vraie est rejetée ou une hypothèse fausse est acceptée (non rejetée). Supposons que T = est la valeur de la statistique de test, R = la zone de rejet et A = la zone d’acceptation, ainsi, R∩A = ∅, et R∪A = Ω, où Ω = le paramètre d’espace pour T, et ∅ = l’ensemble vide. Les probabilités de faire une erreur de type 1 ou de type 2 sont les suivantes : Rejet d’une hypothèse vraie, Pr[Type I error] = Pr[T∈R|H0] = α Non rejet d’une hypothèse fausse, Pr[Type II error] = Pr[T∈A|H1] = β Considérons maintenant les cas dans lesquels nous avons pris la bonne décision : Non rejet d’une hypothèse vraie, Pr[Not(Type I error)] = Pr[T∈A|H0] = 1 - α Rejet d’une hypothèse fausse, Pr[Not(Type II error)] = Pr [T∈R|H1]= 1 - β Page 18-39 Le complément de β est appelé le pouvoir du test de l’hypothèse nulle H0 opposée à l’alternative H1. Le pouvoir du test est utilisé, par exemple, pour déterminer une taille minimum d’échantillon pour réduire le nombre d’erreurs. Sélectionner des valeurs de α et β Une valeur typique du niveau de signification (ou probabilité de type I) est α = 0.05, (signifiant un rejet incorrest sur 20 en moyenne). Si les conséquences d’une erreur de type I sont plus garves, choisissez des valeurs plus petites de α, disons 0.01 ou 0.001. La valeur de β, soit la probabilité de faire une erreur de type II, dépend de α, de la taille de l’échantillon n et de la vraie valeur du paramètre testé. Par conséquent, la valeur de β est déterminée après avoir effectué le test d’hypothèse. Il est courant de tracer des graphes montrant β, ou le pouvoir du test (1- β), sous forme de fonction de la vraie valeur du paramètre testé. Ces graphes sont appelés respectivement courbes caractéristiques d’opération ou courbes de fonction de puissance. Inférences concernant une moyenne Hypothèse bilatérale Le problème consiste à tester l’hypothèse nulle Ho: µ = µo, par rapport à l’hypothèse alternative, H1: µ≠ µο à un niveau de confiance (1-α)100%, ou niveau de signification α, en utilisant un échantillon de taille n avec une moyennex et une déviation standard s. Il s’agit ici du test bilatéral ou test à deux parties. La procédure du test est présentée ci-dessous : Tout d’abord, calculez la statistique appropriée pour le test (to ou zo) comme suit : • Si n < 30 et si la déviation standard de la population, σ, est connue, utilisez zo = x − µo σ/ n Page 18-40 • Si n > 30 et si σ est connue, utilisez zo comme ci-dessus. Si σ n’est pas connue remplacez s par σ dans zo, ainsi, utilisez zo = • x − µo s/ n Si n < 30 et s est inconnue, utilisez la statistique t to = x − µo , avec s/ n ν = n - 1 degré de liberté. Ensuite, calculez la valeur P (une probabilité) associée soit à zο soit à tο et comparez-la avec α pour décider de rejeter ou non l’hypothèse nulle. La valeur P d’un test bilatéral est définie comme Valeur P = P (|z|>|zo|) ou valeur P = P(|t|>|to|). Les critères à utiliser pour le test d’hypothèse sont : • • Rejeter Ho si la valeur P < α Ne pas rejeter Ho si la valeur P > α. La valeur P pour un test bilatéral peut être calculée en utilisant des fonctions de probabilité dans la calculatrice comme suit : • • Utilisant z, Utilisant t, valeur P = UTPN(0,1,zo) valeur P = UTPT(ν,to) Exemple 1 -- Testez l’hypothèse nulle Ho: µ = 22.5 ( = µo), par rapport à l’hypothèse alternative, H1: µ ≠22.5, à un niveau de confiance de 95%, cela signifiant que α = 0.05, en utilisant une taille d’échantillon n = 25 avec une moyennex = 22.0 et une déviation standard s = 3.5. Nous supposons que nous ne connaissions pas la valeur de la déviation standard de la population, par conséquent nous calculons la statistique t comme suit : to = x − µ o 22.0 − 22.5 = = −0.7142 s/ n 3.5 / 25 Page 18-41 La valeur P correspondante, pour n = 25 - 1 = 24 degrés de liberté est Valeur P = 2⋅UTPT(24,-0.7142) = 2⋅0.7590 = 1.5169, puisque 1.5169 > 0.05, à savoir valeur P > α, nous ne pouvons pas rejeter l’hypothèse nulle Ho: µ = 22.0. Hypothèse unilatérale Le problème consiste à tester l’hypothèse nulle Ho: µ = µo, par rapport à l’hypothèse alternative, H1: µ > µο ou H1: µ < µο à un niveau de confiance (1α)100%, ou niveau de signification α, en utilisant un échantillon de taille n avec une moyennex et une déviation standard s. Il s’agit ici du test unilatéral ou à une partie. La procédure pour effectuer un test unilatéral commence de la même manière que pour le test bilatéral en calculant la statistique appropriée pour le test (to ou zo) comme indiqué ci-dessus. Ensuite, nous utilisons la valeur P associée soit à zο ou tο et la comparons à α pour décider si nous rejetons ou non l’hypothèse nulle. La valeur P d’un test bilatéral se définit comme Valeur P = P(z > |zo|) ou Valeur P = P(t > |to|). Les critères à utiliser pour le test d’hypothèse sont : • • Rejeter Ho si la valeur P < α Ne pas rejeter Ho si la valeur P > α. Notez que les critères sont exactement les mêmes que pour le test bilatéral. La différence principale est la façon dont la valeur P est calculée. La valeur P pour un test unilatéral peut être calculée en utilisant les fonctions de probabilité de la calculatrice comme suit : • • Utilisant z, Utilisant t, valeur P = UTPN(0,1,zo) valeur P = UTPT(ν,to) Page 18-42 Exemple 2 -- Tester l’hypothèse nulle Ho: µ = 22.0 ( = µo), par rapport à l’hypothèse alternative, H1: µ >22.5 à un niveau de confiance de 95% signifiant que α = 0.05, en utilisant un échantillon de taille n = 25 avec une moyennex = 22.0 et une déviation standard s = 3.5. Une fois de plus, nous supposons que nous ne connaissions pas la déviation standard de la population, et, par conséquent, la valeur de la statistique t est la même que pour le test bilatéral présenté plus haut, à savoir to = -0.7142 et la valeur P, pour n ν = 25 - 1 = 24 degrés de liberté, est la suivante : Valeur P = UTPT(24, |-0.7142|) = UTPT(24,0.7124) = 0.2409, puisque 0.2409 > 0.05, soit valeur P > α, nous ne pouvons pas rejeter l’hypothèse Ho: µ = 22.0. Inférences concernant deux moyennes L’hypothèse nulle à tester est Ho: µ1-µ2 = δ, à un niveau de confiance (1α)100%, ou niveau de signification α, utilisant deux échantillons de tailles, n1 et n2, des valeurs de moyennex1 et x2, et des déviations standard s1 et s2. Si les déviations standard des populations correspondant aux échantillons, σ1 et σ 2, sont connues ou si n1 > 30 et n2 > 30 (grands échantillons), la statistique de test à utiliser est zo = ( x1 − x2 ) − δ σ 12 σ 22 + n1 n2 Si n1 < 30 ou n2 < 30 (au moins un petit échantillon), utilisez la statistique de test suivante : t= ( x1 − x2 ) − δ 2 1 (n1 − 1) s + (n2 − 1) s 2 2 n1n2 (n1 + n2 − 2) n1 + n2 Hypothèse bilatérale Si l’hypothèse alternative est une hypothèse bilatérale, à savoir H1: µ1-µ2 ≠ δ, la valeur P pour ce test est calculée comme Page 18-43 • • Utilisant z, Utilisant t , valeur P = 2⋅UTPN(0,1, |zo|) valeur P = 2⋅UTPT(ν,|to|) Avec les degrés de liberté pour la distribution t donnés par ν = n1 + n2 - 2. Les critères de test sont • • Rejeter Ho si la valeur P < α Ne pas rejeter Ho si la valeur P > α. Hypothèse unilatérale Si l’hypothèse alternative est l’hypothèse unilatérale, soit H1: µ1-µ2 < δ, ou H1: µ1-µ2 < δ, la valeur P pour ce test est calculée ainsi : • • Utilisant z, Utilisant t , valeur P = UTPN(0,1, |zo|) valeur P = UTPT(ν,|to|) Les critères à utiliser pour le test d’hypothèse sont : • • Rejeter Ho si la valeur P < α Ne pas rejeter Ho si la valeur P > α. Test d’échantillon par paires Quand nous traitons de deux échantillons de taille n avec des points de données appariés, plutôt que de tester l’hypothèse nulle, Ho: µ1-µ2 = δ, en utilisant les valeurs moyennes et les déviations standard des deux échantillons, nous devons traiter le problème comme un échantillon unique des différences des valeurs appariées. En d’autres termes, générez une nouvelle variable aléatoire X = X1-X2, et testez Ho: µ = δ, où µ représente la moyenne de la population pour X. Par conséquent, vous aurez besoin d’obtenir x et s pour l’échantillon de valeurs de x. Le test doit se dérouler ensuite en utilisant les méthodes décrites précédemment. Inférences concernant une proportion Supposons que nous voulions tester une hypothèse nulle, H0: p = p0, où p représente la probabilité d’obtenir un succès à n’importe quelle répétition de Page 18-44 l’épreuve de Bernoulli. Pour tester l’hypothèse, nous effectuons n répétitions de l’expérience et trouvons k succès enregistrés. Donc, une valeur de p est estimée par p’ = k/n. La variance pour l’échantillon sera estimée comme sp2 = p’(1-p’)/n = k⋅(n-k)/n3. Supposons que le résultat, Z = (p-p0)/sp, suive la distribution normale standard, soit Z ~ N(0,1). La valeur particulière de la statistique à tester est z0 = (p’p0)/sp. Plutôt que d’utiliser la valeur P comme critère pour accepter ou ne pas accepter l’hypothèse, nous allons utiliser la comparaison entre la valeur critique de z0 et la valeur de z correspondant à α ou α/2. Test bilatéral Si nous utilisons un test à deux parties, nous trouvons la valeur de z partir de Pr [Z> zα/2] = 1-Φ(zα/2) = α/2 ou Φ(z α/2) α/2, à = 1- α/2, où Φ(z) est la fonction de distribution cumulative (CDF) de la distribution normale standard (voir Chapitre 17). Rejeter l’hypothèse nulle, H0, if z0 >zα/2 ou si z0 < - zα/2. En d’autres termes, la zone de rejet est R = { |z0| > zα/2 }, tandis que la zone d’acceptation est A = {|z0| < zα/2 }. Test unilatéral En utilisant un test unilatéral nous trouvons la valeur de S , à partir de Pr[Z> zα] = 1-Φ(zα) = α, ou Φ(z α) = 1- α, Rejeter l’hypothèse nulle, H0, si z0 >zα, et H1: p>p0 ou si z0 < - zα, et H1: p<p0. Page 18-45 Tester la différence entre deux proportions Supposons que nous voulions tester l’hypothèse nulle, H0: p1-p2 = p0, où les p représentent la probabilité d’obtenir un succès lors de n’importe quelle répétition de l’épreuve de Bernoulli pour deux populations 1 et 2. Pour tester l’hypothèse, nous effectuons n1 répétitions de l’expérience sur la population 1 et trouvons k1 succès enregistrés. De même, nous trouvons k2 succès sur n2 tentatives pour l’échantillon 2. Par conséquent, les estimations de p1 et p2 donnent, respectivement, p1’ = k1/n1, et p2’ = k2/n2. Les variances pour les échantillons seront estimees, respectivement, comme s12 = p1’(1-p1’)/n1 = k1⋅(n1-k1)/n13, et s22 = p2’(1-p2’)/n2 = k2⋅(n2-k2)/n23. Et la variance de la différence de proportions est estimée à partir de : sp2 = s12 + s22 . Supposons que le résultat Z, Z = (p1-p2-p0)/sp, suive la distribution normale standard, soit Z ~ N(0,1). La valeur particulière de la statistique à tester est z0 = (p1’-p2’-p0)/sp. Test bilatéral Si nous utilisons un test bilatéral, nous trouvons la valeur de z α/2, à partir de Pr[Z> zα/2] = 1-Φ(zα/2) = α/2 ou Φ(z α/2) = 1- α/2, où Φ(z) est la fonction de distribution cumulative (CDF) de la distribution normale standard. Rejeter l’hypothèse nulle, H0, si z0 >zα/2, ou si z0 < - zα/2. En d’autres termes, la zone de rejet est R = { |z0| > zα/2 }, tandis que la zone d’acceptation est A = {|z0| < zα/2 }. Test unilatéral Si nous utilisons un test unilatéral, nous trouvons la valeur de za, à partir de Page 18-46 Pr[Z> zα] = 1-Φ(zα) = α, ou Φ(z α) = 1- α, Rejeter l’hypothèse nulle, H0, si z0 >zα, et H1: p1-p2 > p0, ou si z0 < - zα, et H1: p1-p2 <p0. Test d’hypothèse en utilisant les fonctions préprogrammées de la calculatrice La calculatrice propose des procédures de test d’hypothèse à l’application 5. Hypoth. tests. à laquelle on peut accéder en utilisant ‚Ù—— @@@OK@@@. Comme pour le calcul des intervalles de confiance, vu précédemment, ce programme offre 6 options : Ces options sont interprétées de la même manière que pour les applications d’intervalle de confiance : 1. Z-Test: 1 µ.: Intervalle de confiance de l’échantillon simple pour la moyenne de la population, µ, avec variance de population connue, ou pour de grands échantillons à variance de population inconnue. 2. Z-Test: µ1−µ2.: Intervalle de confiance pour la différence des moyennes de population, µ1- µ2, avec soit variances de population connues, soit variances de populations inconnues pour les grands échantillons.] 3. Z-Test: 1 p.: Intervalle de confiance simple pour la proportion p pour de grands échantillons à variance de population inconnue. 4. Z-Test: p1− p2.: Intervalle de confiance pour la différence de deux proportions, p1-p2, pour de grands échantillons à variance de population inconnue. 5. T-Test: 1 µ.: Intervalle de confiance de l’échantillon simple pour la moyenne de la population, µ, pour de petits échantillons à variance de population inconnue. Page 18-47 6. T-Test: µ1−µ2.: Intervalle de confiance pour la différence des moyennes de population, µ1- µ2, pour les petits échantillons à variance de population inconnue. Essayez les exercices suivants : Exemple 1 – Pour µ0 = 150, σ = 10, x = 158, n = 50, pour α = 0.05, tester l’hypothèse H0: µ = µ0, par rapport à l’hypothèse alternative, H1: µ ≠ µ0. Appuyez sur ‚Ù—— @@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur @@@OK@@@ pour sélectionner l’option 1. Z-Test: 1 µ. Saisissez les données suivantes et appuyez sur @@@OK@@@: On vous demande ensuite de sélectionner l’hypothèse alternative : Choisissez µ ≠150, puis appuyez sur @@OK@@. Le résultat est : Ensuite, nous rejetons H0: µ = 150, par rapport à H1: µ ≠ 150. La valeur de test z est z0 = 5.656854. La valeur P est 1.54×10-8. Les valeurs critiques de ±zα/2 = ±1.959964, correspondant à l’échelle critique x de {147.2 152.8}. Ces informations peuvent être consultées graphiquement en appuyant sur la touche menu @GRAPH: Page 18-48 Exemple 2 -- Pour µ0 = 150, x = 158, s = 10, n = 50, pour α = 0.05, testez l’hypothèse H0: µ = µ0, par rapport à l’hypothèse alternative, H1: µ > µ0. La déviation de la population standard, σ, est inconnue. Appuyez sur ‚Ù—— @@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur——@@@OK@@@ pour choisir l'option 5. T-Test: 1 µ.: Saisissez les données suivantes et appuyez sur @@@OK@@@: Choisissez l’hypothèse alternative, H1: µ > 150 et appuyez sur @@@OK@@@. Le résultat est : Nous refusons l’hypothèse, H0: µ0 = 150, par rapport à ]l’hypothèse alternative, H1: µ > 150. La valeur de l'essai est t0 = 5.656854, avec une valeur P = 0.000000393525. La valeur critique de t est tα = 1.676551, correspondant à un x = 152.371 critique. Appuyez sur @GRAPH pour afficher les résultats suivants : Page 18-49 Exemple 3 – Données de 2 échantillons prouve que x1 = 158, x1 = 160, s1 = 10, s2 = 4.5, n1 = 50, et n2 = 55. Pour α = 0.05 et une variance « pondérée », tester l’hypothèse H0: µ1−µ2 = 0, sur l’hypothèse alternative H1: µ1−µ2 < 0. Appuyez sur ‚Ù——@@@OK@@@ pour accéder à la fonction intervalle de confiance de la calculatrice. Appuyez sur —@@@OK@@@ pour sélectionner l’option 5. T-Test: µ1−µ2.: Saisissez les données suivantes et appuyez sur @@@OK@@@: Sélectionnez l’hypothèse alternative µ1< µ2 et appuyez sur @@@OK@@@. Le résultat est : Par conséquent, nous acceptons (ou, plus précisément, nous ne rejetons pas) l’hypothèse H0: µ1−µ2 = 0, ou H0: µ1=µ2, par rapport à l’hypothèse alternative : H1: µ1−µ2 < 0, ou H1: µ1=µ2. La valeur t est t0 = -1.341776, avec une valeur P = 0.09130961, et le t critique est –tα = -1.659782. Le résultat graphique est : Page 18-50 Ces trois exemples devraient suffire à comprendre le fonctionnement des fonctions de test d’hypothèse préprogrammées dans la calculatrice. Inférences concernant une variance L’hypothèse nulle à tester est, Ho: σ2 = σo2, à un niveau de confiance (1-α)100 %, ou niveau de signification α, utilisant un échantillon de taille et une variance s2. La statistique de test à utiliser est une statistique de test chi-carré définie comme χ o2 = (n − 1) s 2 σ 02 Suivant, l’hypothèse alternative choisie, la valeur P est calculée comme suit: • • • H1: σ2 < σo2, H1: σ2 > σo2, H1: σ2 ≠ σo2, valeur P = P(χ2<χo2) = 1-UTPC(ν,χo2) valeur P = P(χ2>χo2) = UTPC(ν,χo2) valeur P =2⋅min[P(χ2<χo2), P(χ2>χo2)] = 2⋅min[1-UTPC(ν,χo2), UTPC(ν,χo2)] où la fonction min[x,y] produit la valeur minimum de x ou y (de façon similaire, max[x,y] produit the maximum de x ou y). UTPC(ν,x) représente les probabilités de partie supérieure de la calculatrice pour ν = n - 1 degrés de liberté. Les critères de test sont les mêmes que pour le test d’hypothèse des moyennes, à savoir • Rejeter Ho si la valeur < α • Ne pas rejeter Ho si la valeur > α. Notez que la procédure ne vaut que si la population sur laquelle l’échantillon a été prélevé est une population normale. Page 18-51 Exemple 1 -- Considérons le cas dans lequel σo2 = 25, α=0.05, n = 25 et s2 = 20 ; l’échantillon a été prélevé sur une population normale. Pour tester l’hypothèse, Ho: σ2 = σo2, par rapport à H1: σ2 < σo2, nous calculons d’abord (n − 1) s 2 (25 − 1) ⋅ 20 χ = = = 189.2 σ 02 25 2 o Avec ν = n - 1 = 25 - 1 = 24 degrés de liberté, nous calculons la valeur P comme, valeur P = P(χ2<19.2) = 1-UTPC(24,19.2) = 0.2587… Par conséquent, 0.2587… > 0.05, soit, valeur P > α, nous ne pouvons pas rejeter l’hypothèse nulle, Ho: σ2 =25(= σo2). Inférences concernant deux variances L’hypothèse nulle à tester est Ho: σ12 = σ22, à un niveau de confiance (1α)100%, ou niveau de signification α, utilisant deux échantillons de taille, n1 et n2, et des variances s12 et s22. La statistique de test à utiliser est une statistique de test F définie comme Fo = s N2 sD2 où sN2 et sD2 représentent le numérateur et le dénominateur de la statistique F, respectivement. La sélection du numérateur et du dénominateur dépend de l’hypothèse alternative à tester, comme montré ci-dessous. La distribution correspondante de F a les degrés de liberté, νN = nN-1, et νD = nD-1, où nN et nD, sont les tailles des échantillons correspondant aux variances respectives sN2 et sD2. Le tableau suivant montre comment sélectionner la numérateur et le dénominateur pour Fo suivant l’hypothèse alternative choisie : Page 18-52 ____________________________________________________________________ Hypothèse Statistique de Degrés de alternative test liberté ____________________________________________________________________ H1: σ12 < σ22 (unilatéral) Fo = s22/s12 νN = n2-1, νD = n1-1 2 2 H1: σ1 > σ2 (unilatéral) Fo = s12/s22 νN = n1-1, νD = n2-1 2 2 2 2 H1: σ1 ≠σ2 (bilatéral) Fo = sM /sm νN = nM-1,νD = nm-1 sM2=max(s12,s22), sm2=min(s12,s22) ___________________________________________________________________ (*) nM est la valeur de n correspondant à sM, et nm est la valeur de n correspondant à sm. ____________________________________________________________________ La valeur P est calculée, dans tous les cas, valeur P = P(F>Fo) = UTPF(νN, νD,Fo) Les critères de test sont : • Rejeter Ho si la valeur < α • Ne pas rejeter Ho si la valeur > α. Exemple1 -- Considérons les deux échantillons prélevés sur une population normale tels que n1 = 21, n2 = 31, s12 = 0.36, et s22 = 0.25. Nous testons l’hypothèse nulle, Ho: σ12 = σ22, à un niveau de signification α = 0.05, par rapport à l’hypothèse alternative, H1: σ12 ≠ σ22. Pour une hypothèse bilatéral, nous avons besoin d’identifier sM et sm, comme suit : sM2=max(s12,s22) = max(0.36,0.25) = 0.36 = s12 sm2=min(s12,s22) = min(0.36,0.25) = 0.25 = s22 De même, nM = n1 = 21, nm = n2 = 31, νN = nM - 1= 21-1=20, νD = nm -1 = 31-1 =30. Par conséquent, la statistique de test F est Fo = sM2/sm2=0.36/0.25=1.44 La valeur P est P = P(F>Fo) = P(F>1.44) = UTPF(νN, νD,Fo) = UTPF(20,30,1.44) = 0.1788… Page 18-53 Puisque 0.1788… > 0.05, soit valeur P > α, par conséquent nous ne pouvons pas rejeter l’hypothèse nulle Ho: σ12 = σ22. Notes supplémentaires sur la régression linéaire Dans cette section, nous développons les idées de régression linéaire présentées précédemment dans ce chapitre et proposons une procédure pour le test d’hypothèse des paramètres de régression. La méthode des moindres carrés Supposons que x = une variable indépendante, non aléatoire et Y = une variable dépendante aléatoire. La courbe de régression de Y sur x est définie comme la relation entre x et la moyenne de la distribution correspondante des Y. Supposons que la courbe de régression de Y sur x est linéaire, c’est-à-dire que la distribution des moyennes des Y est donnée par Α + Βx. Y différe de la moyenne (Α + Β⋅x) par une valeur ε, par conséquent, Y = Α + Β⋅x + ε, où ε est une variable aléatoire. Afin de vérifier visuellement si les données suivent une tendance linéaire, nous traçons un graphique scattergramme ou diagramme de dispersion. Supposons que nous ayons n observations appariées (xi, yi) ; nous prédisons y à l’aide de ∧y = a + b⋅x, où a et b sont des constantes. Définissons l’erreur de prédiction comme ei = yi - ∧yi = yi - (a + b⋅xi). La méthode des moindres carrés nécessite que nous choisissions a et b de telle sorte que la somme des erreurs au carré soit minimisée (SSE) n n i =1 i =1 SSE = ∑ ei2 =∑ [ y i − (a + bxi )]2 les conditions ∂ ( SSE ) = 0 ∂a ∂ ( SSE ) = 0 ∂b Page 18-54 Nous obtenons ce que l’on appelle les équations normales : n ∑y i =1 n i = a ⋅ n + b ⋅ ∑ xi i =1 n n n i =1 i =1 i =1 ∑ xi ⋅ yi = a ⋅ ∑ xi + b ⋅ ∑ xi2 Il s’agit d’un système d’équation linéaires avec a et b comme inconnues, qui peut être résolu et utilisant les fonctions d’équation linéaires de la calculatrice. Vous n’avez cependant pas besoin de vous préoccuper de ces calculs puisque vous pouvez utiliser l’option 3. Fit Data …du menu ‚Ù , comme cela a été présenté plus tôt. ____________________________________________________________________ Notes: • a et b sont des estimateurs non biaisés de Α, Β. • Le théorème de probabilité de Gauss-Markov indique, parmi les autres indicateurs non biaisés pour Α et Β, que les estimateurs des moindres carrés (a,b) sont les moins efficaces. ____________________________________________________________________ Equations supplémentaires pour la régression linéaire Les statistiques de résumé telles que Σx, Σx2, etc., peuvent être utilisées pour définir les quantités suivantes : n n 1 n 2 S xx = ∑ ( xi − x ) 2 = (n − 1) ⋅ s x2 = ∑ xi − ∑ xi n i =1 i =1 i =1 1 n S y = ∑ ( yi − y ) = (n − 1) ⋅ s = ∑ y i − ∑ yi n i =1 i =1 i =1 n 2 2 y n 2 2 n n 1 n n S xy = ∑ ( xi − x )( y i − y ) 2 = (n − 1) ⋅ s xy = ∑ xi y i − ∑ xi ∑ y i n i =1 i =1 i =1 i =1 Page 18-55 D’où il s’ensuit que les déviations standard de x et y et la co-variance de x,y sont données, respectivement, par S xx , sy = n −1 sx = S yy n −1 , et sxy = S yx n −1 De même, le coefficient de corrélation de l’échantillon est rxy = S xy S xx ⋅ S yy . En termes de x, y, Sxx, Syy, et Sxy, la solution des équations normales est : a = y − bx , b= S xy S xx = s xy s x2 Erreur de prédiction La courbe de régression de Y sur x est définie comme Y = Α + Β⋅x + ε. Si nous avons un ensemble de n points de données (xi, yi), alors nous pouvons écrire Yi = Α + Β⋅xi + εI, (i = 1,2,…,n), où Yi = des variables aléatoires, normalement distribuées avec une moyenne (Α + Β⋅xi) et la variance commune σ2; εi = variables aléatoires normalement distribuées avec une moyenne zéro et une variance commune σ2. Supposons que yi = valeur de donnée réelle, ^yi = a + b⋅xi = prédiction des moindres carrés de la donnée. Alors, l’erreur de prédiction est : ei = yi - ^yi = yi - (a + b⋅xi). Une estimation de σ2 est ce que l’on appelle l’erreur standard de l’estimation, S yy − ( S xy ) 2 / S xx n − 1 2 1 n 2 s = [ y i − (a + bxi )] = ⋅ s y ⋅ (1 − rxy2 ) = ∑ n − 2 i =1 n−2 n−2 2 e Page 18-56 Intervalles de confiance et test d’hypothèse en régression linéaire Voici quelques concepts et équations liés à l’inférence statistique pour la régression linéaire : • Limites de confiance pour les coefficients de régression : Pour la pente (Β): b − (t n-2,α/2)⋅se/√Sxx < Β < b + (t n-2,α/2)⋅se/√Sxx, Pour le segment (Α): a − (t n-2,α/2)⋅se⋅[(1/n)+x2/Sxx]1/2 < Α < a + (t n-2,α/2)⋅se⋅[(1/n)+x2/Sxx]1/2, où t suit la distribution t de Student avec ν = n – 2, degrés de liberté, et n représente le nombre de points de l’échantillon. • Test d’hypothèse sur la pente, Β: Hypothèse nulle, H0: Β = Β0, testée par rapport à l’hypothèse alternative, H1: Β ≠ Β0. La statistique de test est t0 = (b -Β0)/(se/√Sxx), où t suit la distribution t de Student avec ν = n – 2, degrés de liberté, et n représente le nombre de points de l’échantillon. Le test est effectué comme pour une valeur moyenne de test d’hypothèse, c’est-à-dire : étant donné le niveau de signification, α, déterminer la valeur critique de t, tα/2, et ensuite rejeter H0 si t0 > tα/2 ou si t0 < - tα/2. Si vous effectuez le test pour la valeur Β0= 0, et qu’il s’avère que le test suggère que vous n’avez pas rejeté l’hypothèse nulle, H0: Β = 0, alors la validité de la régression linéaire est mise en doute. En d’autres termes, les données de l’échantillon ne supportent pas l’assertion selon quoi Β ≠ 0. Par conséquent, il s’agit d’un test sur la signification du modèle de régression. • Test d’hypothèse sur le segment Α: Hypothèse nulle, H0: Α = Α0, testée par rapport à l’hypothèse alternative, H1: Α ≠ Α0. La statistique de test est t0 = (a-Α0)/[(1/n)+x2/Sxx]1/2, où t suit la distribution t de Student avec ν = n – 2, degrés de liberté et n représente le nombre de points de l’échantillon. Le test est effectué comme pour une valeur moyenne de test d’hypothèse, c’est-à-dire étant donné le Page 18-57 niveau de signification, α, déterminer la valeur critique de t, tα/2, et ensuite rejeter H0 si t0 > tα/2 ou si t0 < - tα/2. • Intervalle de confiance de la valeur moyenne de Y à x = x0, soit α+βx0: a+b⋅x−(t n-2,α/2)⋅se⋅[(1/n)+(x0-x)2/Sxx]1/2 < α+βx0 < a+b⋅x+(t n-2, α /2)⋅se⋅[(1/n)+(x0-x)2/Sxx]1/2. • Limites de prédiction : intervalle de confiance pour la valeur prédite Y0=Y(x0): a+b⋅x−(t n-2,α/2)⋅se⋅[1+(1/n)+(x0-x)2/Sxx]1/2 < Y0 < a+b⋅x+(t n-2, α /2)⋅se⋅[1+(1/n)+(x0-x)2/Sxx]1/2. Procédure pour les statistiques d’inférence pour la régression linéaire en utilisant la calculatrice 1) Saisissez (x,y) sous forme de colonne de données dans la matrice statistique ΣDAT. 2) Produisez un diagramme de dispersion pour les colonnes appropriées de ΣDAT et utilisez les paramètres H- et V-VIEWS appropriés pour vérifier la tendance linéaire. 3) Utilisez ‚Ù˜˜@@@OK@@@, pour adapter une ligne droite et obtenir a, b, sxy (co-variance), et rxy (corrélation). 4) Utilisez ‚Ù˜@@@OK@@@, pour obtenirx, y, sx, sy. La colonne 1 donnera les données statistiques pour les x et la colonne 2 celles pour les y. 5) Calculez S xx = (n − 1) ⋅ s x2 , se2 = n −1 2 ⋅ s y ⋅ (1 − rxy2 ) n−2 6) Pour les intervalles de confiance ou les tests bilatéraux, obtenez tα/2, avec une confiance (1- α)100% à partir de la distribution t avec ν = n -2. 7) Pour les tests uni ou bilatéraux, trouvez la valeur de t en utilisant l’équation appropriée pour Α ou Β. Rejetez l’hypothèse nulle si la valeur P P-value < α. 8) Pour les intervalles de confiance, utilisez les formules appropriées telles que montrées ci-dessus. Page 18-58 Exemple 1 -- Pour les données suivantes (x,y), déterminez l’intervalle de confiance 95% pour la pente B et le segment A x y 2.0 5.5 2.5 7.2 3.0 9.4 3.5 10.0 4.0 12.2 Saisissez les données (x,y) dans les colonnes de ΣDAT, respectivement. Un diagramme de dispersion des données montre une tendance linéaire correcte : Utilisez l’option Fit Data.. dans le menu ‚Ù pour obtenir : 3: '-.86 + 3.24*X' 2: Correlation: 0.989720229749 1: Covariance: 2.025 Ces résultats sont interprétés comme a = -0.86, b = 3.24, rxy = 0.989720229749, et sxy = 2.025. Le coefficient de corrélation est assez proche de 1.0 pour confirmer la tendance linéaire observée sur le graphe. A partir de l’option Single-var… du menu ‚Ù , nous trouvons : x = 3, sx = 0.790569415042,y = 8.86, sy = 2.58804945857. Ensuite, avec n = 5, calculons S xx = (n − 1) ⋅ s x2 = (5 − 1) ⋅ 0.790569415042 2 = 2.5 s e2 = n −1 2 ⋅ s y ⋅ (1 − rxy2 ) = n−2 5 −1 ⋅ 2.5880...2 ⋅ (1 − 0.9897...2 ) = 0.1826... 5−2 Les intervalles de confiance pour la pente (Β) et le segment (A) : Page 18-59 • • Tout d’abord, nous obtenons t n-2,α/2 = t3,0.025 = 3.18244630528 (se référer au Chapitre 17 pour un programme permettant de résoudre tν,a) : Ensuite, nous calculons les termes (t n-2,α/2)⋅se/√Sxx = 3.182…⋅(0.1826…/2.5)1/2 = 0.8602… (t n-2,α/2)⋅se⋅[(1/n)+x2/Sxx]1/2 = 3.1824…⋅√0.1826…⋅[(1/5)+32/2.5] 1/2 = 2.65 • Enfin, pour la pente B, l’intervalle de confiance 95% est (-0.86-0.860242, -0.86+0.860242) = (-1.72, -0.00024217) Pour le segment A, l’intervalle de confiance 95% est (3.24-2.6514, 3.24+2.6514) = (0.58855,5.8914). Exemple 2 -- Supposons que les données y utilisées à l’exemple 1 représentent l’élongation (en centièmes de pouces) d’un fil de métal lorsqu’il est soumis à une force x (en dixième de livres). Le phénomène physique est tel que nous espérons que le segment A, soit zéro. Pour vérifier si tel est le cas, nous testons l’hypothèse nulle, H0: Α = 0, par rapport à l’hypothèse alternative, H1: Α ≠ 0, à un niveau de signification α = 0.05. La statistique de test est t0 = (a-0)/[(1/n)+x2/Sxx]1/2 = (-0.86)/ [(1/5)+32/2.5] ½ = -0.44117. La valeur critique de t pour ν = n – 2 = 3 et α/2 = 0.025 peut être calculée en utilisant la résolution numérique pour l’équation α = UTPT(γ,t) développée au Chapitre 17. Dans ce programme, γ représente les degrés de liberté (n-2) et α représente la probabilité de dépasser une certaine valeur de t, soit Pr[ t>tα] = 1 – α. Pour l’exemple présent, la valeur du degré de signification est α = 0.05, g = 3 et tn-2,α/2 = t3,0.025. De même, pour γ = 3 et α = 0.025, tn-2,α/2 = t3,0.025 = 3.18244630528. Parce que t0 > - tn-2,α/2, nous ne pouvons pas rejeter l’hypothèse nulle, H0: Α = 0, par rapport à l’hypothèse alternative, H1: Α ≠ 0, à un niveau de signification α = 0.05. Ce résultat suggère que prendre A = 0 pour cette régression linéaire devrait être acceptable. Après tout, la valeur que nous avons trouvée pour a était – 0.86, ce qui est relativement proche de zéro. Page 18-60 Exemple 3 – Test de signification pour la régression linéaire. Tester la régression linéaire pour la pente H0: Β = 0, par rapport à l’hypothèse alternative, H1: Β ≠ 0, à un niveau d’importance α = 0.05, pour l’adaptation linéaire de l’Eeemple linéaire. La statistique de test est t0 = (b -Β0)/(se/√Sxx) = (3.24-0)/(√0.18266666667/2.5) = 18.95. La valeur critique de t, pour ν = n – 2 = 3, et α/2 = 0.025, a été obtenue à l’exemple 2, comme tn-2,α/2 = t3,0.025 = 3.18244630528. Parce que, t0 > tα/2, nous devons rejeter l’hypoyhèse nulle H1: Β ≠ 0, à un niveau d’importance α = 0.05, pour l’adaptation linéaire de l’exemple 1. Adaptations linéaires multiples Considérons un ensemble de données de la forme x1 x11 x12 x13 . . x1,m-1 x1,m x2 x21 x22 x32 . . x3 x31 x32 x33 . . x 2,m-1 x 2,m x 3,m-1 x 3,m … … … … . … … xn xn1 xn2 xn3 . . x n,m-1 x n,m y y1 y2 y3 . . ym-1 ym Supposons que nous cherchions une adaptation de données de forme y = b0 + b1⋅x1 + b2⋅x2 + b3⋅x3 + … + bn⋅xn. Vous pouvez obtenir l’approximation des moindres carrés des coefficients b = [b0 b1 b2 b3 … bn], en élaborant la matrice X : _ _ 1 x11 x21 x31 … xn1 1 x12 x22 x32 … xn2 1 x13 x32 x33 … xn3 . . . . . . . . . . . 1 x1,m x 2,m x 3,m … x n,m _ _ Page 18-61 Puis le vecteur de coefficients est obtenu à partir de b = (XT⋅X)-1⋅XT⋅y, où y est le vecteur y = [y1 y2 … ym]T. Par exemple, utilisez les données suivantes pour obtenir une adaptation linéaire multiple y = b0 + b1⋅x1 + b2⋅x2 + b3⋅x3, x1 1.20 2.50 3.50 4.00 6.00 x2 3.10 3.10 4.50 4.50 5.00 x3 2.00 2.50 2.50 3.00 3.50 y 5.70 8.20 5.00 8.20 9.50 Avec la calculatrice, en mode RPN, vous pouvez procéder comme suit : Tout d’abord, dans le répertoire HOME, créez un sous-répertoire que vous appelerez MPFIT (Multiple linear and Polynomial data FITting), et entrez dans le sous-répertoire MPFIT. Dans ce sous-répertoire, saisissez le programme suivant : « X y « X TRAN X * INV X TRAN * y * » » et enregistrez-le dans une variable appelée MTREG (MulTiple REGression). Ensuite, saisissez les matrices X et b dans la pile [[1,1.2,3.1,2][1,2.5 3,1,2.5 ][1,3.5,4.5,2.5][1,4,4.5,3][1,6,5,3.5]] `` (conserver une copie supplémentaire) ) [5.7,8.2,5.0,8.2,9.5] ` Appuyez sur J@MTREG. Le résultat est : [-2.1649…,–0.7144…,-1.7850…,7.0941…], Page 18-62 soit : y = -2.1649–0.7144⋅x1 -1.7850×10-2⋅x2 + 7.0941⋅x3 . Vous devriez avoir dans la pile de votre calculatrice la valeur de la matrice X et le vecteur b; les valeurs adaptées de y sont obtenues à partir de y = X⋅b, par conséquent, appuyez sur * pour obtenir : [5.63.., 8.25.., 5.03.., 8.23.., 9.45..]. Comparez ces valeurs adaptées avec les données originales telles que présentées dans la table ci-dessous : x1 x2 x3 y 1.20 2.50 3.50 4.00 6.00 3.10 3.10 4.50 4.50 5.00 2.00 2.50 2.50 3.00 3.50 5.70 8.20 5.00 8.20 9.50 v. ad. de y 5.63 8.25 5.03 8.23 9.45 Adaptation polynomiale Considérons l’ensemble de données x-y {(x1,y1), (x2,y2), …, (xn,yn)}. Supposons que nous voulions adapter un polynôme d’ordre p dans cet ensemble de données. En d’autres termes, nous cherchons une adaptation de forme y = b0 + b1⋅x + b2⋅x2 + b3⋅x3 + … + bp⋅xp. Vous pouvez obtenir l’approximation des moindres carrés des valeurs des coefficients b = [b0 b1 b2 b3 … bp], en élaborant la matrice X _ _ 2 3 p-1 p 1 x1 x1 x1 … x1 y1 1 x2 x22 x23 … x2 p-1 y2 p 1 x3 x32 x33 … x3 p-1 y3 p . . . . . . . . . . . . . 1 xn x n2 xn3 … x n p-1 yn p _ _ Page 18-63 Ensuite, le vecteur de coefficients est obtenu à partir de b = (XT⋅X)-1⋅XT⋅y, où y est le vecteur y = [y1 y2 … yn]T. Au Chapitre 10, nous avons défini la matrice de Vandermonde correspondant au vecteur x = [x1 x2 … xm] . La matrice de Vandermonde est similaire à la matrice X intéressante pour l’adaptation, mais ayant seulement n, colonnes, plutôt que (p+1) colonnes. Nous pouvons profiter de la fonction VANDERMONDE pour créer la matrice X si nous observons les règles suivantes : Si p = n-1, X = Vn. Si p < n-1, supprimer alors les colonnes p+2, …, n-1, n à Vn pour former la matrice X. Si p > n-1, ajouter alors des colonnes n+1, …, p-1, p+1, à Vn pour former la matrice X. A l’étape 3 de cette liste, nous devons être conscients que cette colonne i (i= n+1, n+2, …, p+1) est le vecteur [x1i x2i … xni]. Si nous devions utiliser une liste de valeurs de données pour x plutôt qu’un vecteur, à savoir : x = { x1 x2 … xn }, nous pouvons facilement calculer la séquence { x1i x2i … xni }. Puis nous pouvons transformer cette liste en vecteur et utiliser le menu COL pour ajouter ces colonnes à la matrice Vn jusqu’à ce que X soit terminée. Lorsque X est prête et le vecteur y disponible, le calcul du vecteur de coefficient b est identique à celui de l’adaptation linéaire multiple (précédente application de la matrice). Par conséquent, nous pouvons écrire un programme pour calculer l’adaptation qui utilise le programme déjà développé pour l’adaptation linéaire multiple. Nous devons ajouter à ce programme les étapes 1 à 3 énumérées ci-dessus. L'algorithme de ce programme, par conséquent, peut être écrit comme suit : Saisissez les vecteurs x et y, de même dimension, sous forme de liste (note: puisque la fonction VANDERMONDE utilise une liste comme données d’entrée, Page 18-64 il est plus pratique de saisir les données (x,y) sous forme de liste). De même, saisissez la valeur de p. • • • • • Déterminez n = taille du vecteur x. Utilisez la fonction VANDERMONDE pour générer la matrice Vandermonde Vn pour la liste x saisie. Si p = n-1, alors X = Vn , Sinon si p < n-1 Supprimer les colonnes p+2, …, n à Vn pour former X (utilisez une boucle FOR et COL-) Sinon Ajoutez les colonnes n+1, …, p+1 à Vn pour former X (boucle FOR, calculer xi, convertir en vecteur, utiliser COL+) Convertissez y en vecteur Calculez b en utilisant le programme MTREG (voir exemple sur les adaptations linéaires multiples ci-dessus) Voici la traduction de l'algorithme en programme Utilisateur RPL (se référer au Chapitre 21 pour des informations supplémentaires sur la programmation) : « xyp « x SIZE n « x VANDERMONDE IF ‘p<n-1’ THEN n p2+ FOR j j COL− DROP -1 STEP ELSE IF ‘p>n-1’ THEN Ouvre le programme Saisir les listes x et y, et p (niveaux 3,2,1) Ouvre le sous-programme 1 Détermine la taille de la liste x Ouvre le sous-programme 2 Place x dans la pile, obtenir Vn Ce IF met en œuvre l’étape 3 en algorithme Place n dans la pile Calcule p+1 Commence la boucle j = n-1, n-2, …, p+1, étape = -1 Retire une colonne et la supprime de la pile Ferme la boucle FOR-STEP Page 18-65 n1+ p1+ FOR j x j ^ OBJ ARRY j COL+ NEXT END END y OBJ ARRY MTREG NUM » » » Calcule n+1 Calcule p+1 Commence la boucle avec j = n, n+1, …, p+1. Calcule xj, comme une liste Convertit la liste en ensemble Ajoute une colonne à la matrice Ferme la boucle FOR-NEXT Termine la seconde clause IF. Termine la première clause IF. Le résultat est X Convertit la liste y en ensemble X et y utilisé par le programme MTREG Convertit au format décimal Ferme le sous-programme 2 Ferme le sous-programme 1 Ferme le programme principal Enregistrez-le dans une variable appelée POLY (adaptation POLYnomiale). A titre d’exemple, utilisez les données suivantes pour obtenir une adaptation polynomiale avec p = 2, 3, 4, 5, 6. x 2.30 3.20 4.50 1.65 9.32 1.18 6.24 3.45 9.89 1.22 y 179.72 562.30 1969.11 65.87 31220.89 32.81 6731.48 737.41 39248.46 33.45 Page 18-66 Puisque que nous allons utiliser les même données x-y pour adapter les polynômes de différents ordres, nous recommandons d’enregistrer les listes de valeurs de données x et y en variables xx et yy, respectivement. De cette façon, nous n’aurons pas à les saisir à nouveau à chaque application du programme POLY. Par conséquent, procéder comme suit : { 2.3 3.2 4.5 1.65 9.32 1.18 6.24 3.45 9.89 1.22 } ` ‘xx’ K {179.72 562.30 1969.11 65.87 31220.89 32.81 6731.48 737.41 39248.46 33.45} ` ‘yy’ K Pour utiliser les données avec polynôme, faire appel à : @@xx@@ @@yy@@ 2 @POLY, Résultat : [4527.73 -3958.52 742.23] c'est-à-dire : y = 4527.73-39.58x+742.23x2 @@xx@@ @@yy@@ 3 @POLY, Résultat : [ –998.05 1303.21 -505.27 79.23] c'est-à-dire : y = -998.05+1303.21x-505.27x2+79.23x3 @@xx@@ @@yy@@ 4 @POLY, Résultat : [20.92 –2.61 –1.52 6.05 3.51 ] c'est-à-dire : y = 20.97-2.61x-1.52x2+6.05x3+3.51x4 @@xx@@ @@yy@@ 5 @POLY, Résultat : [19.08 0.18 –2.94 6.36 3.48 0.00 ] c'est-à-dire : y = 19.08+0.18x-2.94x2+6.36x3+3.48x4+0.0011x5 @@xx@@ @@yy@@ 6 @POLY, Résultat : [-16.73 67.17 –48.69 21.11 1.07 0.19 0.00] c'est-à-dire : y = -16.73+67.17x-48.69x2+21.11x3+1.07x4+0.19x5+ 0.0058x6 Sélectionner la meilleure adaptation Comme nous pouvons le voir à partir des résultats ci-dessus, vous pouvez adapter n’importe quel polynôme à un ensemble de données. La question que l’on se pose est "Quelle est la meilleure adaptation pour les données?" Pour vous aider à décider de la meilleure adaptation, vous pouvez utiliser plusieurs critères : • • • Le coefficient de corrélation, r. Cette valeur est contrainte à l’intervalle –1 < r < 1. Plus r est proche de +1 ou –1 et meilleure est l’adaptation. La somme des erreurs carrées (SSE). Il s’agit de la quantité qui doit être minimisée par une approche du moindre carré. Un tracé de résidus. Il s’agit du tracé de l’erreur correspondant à chacun des points de données originaux. Si ces erreurs sont Page 18-67 complètement aléatoires, le tracé des restes ne devrait pas montrer de tendance particulière. Avant de tenter de programmer ces critères, nous présentons quelques définitions : Etant donné les vecteurs de données x et y devant être adaptés à l’adéquation polynomiale, nous formons la matrice X et l’utilisons pour calculer un vecteur de coefficients polynomiaux b. Nous pouvons calculer un vecteur de données adaptées, y’, en utilisant y’ = X⋅b. Un vecteur d’erreur est calculé par e = y – y’. La somme des erreurs carrées est égale au carré de la magnitude du vecteur d’erreur, soit SSE = |e|2 = e•e = Σ ei2 = Σ (yi-y’i)2. Pour calculer le coefficient de corrélation, nous devons calculer d’abord ce que nous connaissons comme la somme des carrés totaux, SST, définie comme SST = Σ (yi-y)2, oùy est la valeur moyenne des valeurs y, à savoir : y = (Σyi)/n. En termes de SSE et SST, le coefficient de corrélation est défini par r = [1-(SSE/SST)] 1/2 . Voici le nouveau programme y compris le calcul du SSE et de r (une fois de plus, consultez la dernière page de ce chapitre pour voir comment produire les noms de variables et de commandes du programme) : « xyp « x SIZE n « x VANDERMONDE IF ‘p<n-1’ THEN Ouvre le programme Saisit les listes x et y et le nombre p Ouvre le sous-programme 1 Détermine la taille de la liste x Ouvre le sous-programme 2 Place x dans la pile, on obtient Vn Ce IF est l’étape 3 de l’algorithme Page 18-68 n p2+ FOR j j COL− DROP -1 STEP ELSE IF ‘p>n-1’ THEN n1+ p1+ FOR j x j ^ OBJ ARRY j COL+ NEXT END END y OBJ ARRY X yv « X yv MTREG NUM b « b yv Xb* ABS SQ DUP y ΣLIST n / n 1 LIST SWAP CON Place n dans la pile Calcule p+1 Commence la boucle, j = n-1 à p+1, étape = -1 Retire une colonne, la supprime de la pile Ferme la boucle FOR-STEP Calcule n+1 Calcule p+1 Commence la boucle avec j = n, n+1, …, p+1. Calcule xj, comme une liste Convertit la liste en ensemble Ajoute une colonne à la matrice Ferme la boucle FOR-NEXT Termine la seconde clause IF Termine la première clause IF. Produit X Convertit la liste y en ensemble Entre la matrice et l’ensemble comme X et y ouvre le sous-programme 3 X et y utilisés par le programme MTREG Si nécessaire, convertit le point flottant vecteur résultant passé comme b ouvre le sous-programme 4 Place b et yv dans la pile Calcule X⋅b Calcule e = y - X⋅b Calcule SSE, en fait une copie Calculey Crée le vecteur de n valeurs de y Page 18-69 yv − ABS SQ / NEG 1 + √ “r” TAG SWAP “SSE” TAG » » » » » Calcule SST Calcule SSE/SST Calcule r = [1–SSE/SST ]1/2 Indicateur donne “r” Echange les niveaux de pile 1 et 2 Indicateur donne SSE Ferme le sous-programme 4 Ferme le sous-programme 3 Ferme le sous-programme 2 Ferme le sous-programme 1 Ferme le programme principal Enregistre ce programme sous le nom POLYR pour faciliter le calcul du coefficient de corrélation r. L’utilisation du programme POLYR pour des valeurs de p entre 2 et 6 produit la table de valeurs de corrélation, r, et la somme des erreurs carrées, SSE : p 2 3 4 5 6 r 0.9971908 0.9999768 0.9999999 0.9999999 0.9999998 SSE 10731140.01 88619.36 7.48 8.92 432.61 Alors que les coefficients de corrélation sont très proches de 1.0 pour toutes les valeurs de p, les valeurs de SSE varient très largement. La plus petite valeur de SSE correspond à p = 4. Par conséquent, vous pouvez sélectionner la meilleure adaptation des données pour les données originales x-y comme : y = 20.97-2.61x-1.52x2+6.05x3+3.51x4. Page 18-70 Chapitre 19 Nombres dans différentes bases Dans ce Chapitre, nous présentons des exemples de calculs de nombres dans des bases différentes de la base décimale. Définitions Le système numérique utilisé pour l’arithmétique de tous les jours est connu sous le nom de système décimal car il utilise 10 (en latin : déca) chiffres, à savoir 0 à 9, pour écrire tous les nombres réels. Les ordinateurs, par contre, utilisent un système basé sur deux états possibles ou système binaire . Ces deux états sont représentés par 0 et 1, ON et OFF ou haut et bas voltage. Les ordinateurs utilisent aussi des systèmes numériques basés sur huit chiffres (0-7) ou système octal et sur seize chiffres (0-9, A-F) ou hexadécimal. Comme dans le système décimal, la position relative des chiffres détermine leur valeur. En général, un nombre en base b peut s’écrire comme une série de n chiffres = (a1a2 …an.c1c2 …cm)b. Le "point" sépare les n "entiers" de m "décimales". La valeur du nombre, convertie dans notre système décimal habituel, est calculée en utilisant n = a1⋅bn-1 + a2⋅bn-2 + … + anb0 + c1⋅b-1 + c2⋅b-2 + … +cm⋅b-m. Par exemple, (15.234)10 = 1⋅101 + 5⋅100 + 2⋅10-1 + 3⋅10-2 + 4⋅10-3 et (101.111)2 = 1⋅22 + 0⋅21 + 1⋅20 + 1⋅2-1 + 1⋅2-2 + 1⋅2-3 Le menu BASE Bien que la calculatrice soit généralement utilisée en système décimal, vous pouvez effectuer des calculs avec le système binaire, octal ou hexadécimal. Plusieurs des fonctions nécessaires pour manipuler des systèmes numériques autres que le système décimal sont disponibles dans le menu BASE, accessible par l’intermédiaire de ‚ã(la touche 3 ). Une fois l’indicateur système 117 paramétré sur CHOOSE boxes, le menu BASE affiche les entrées suivantes : Page 19-1 Si l’indicateur système 117 est paramétré sur menus SOFT, le menu BASE affiche les entrées suivantes : Avec ce format, il est évident que les entrées LOGIC, BIT et BYTE dans le menu BASE sont elles-mêmes des sous-menus. Ces menus seront étudiés ultérieurement dans ce chapitre. Fonction HEX, DEC, OCT et BIN Les nombres dans les systèmes non décimaux sont précédés du symbole # dans la calculatrice. Le symbole # est facilement accessible grâce à „â(la touche 3). Pour sélectionner quel système numérique (base courante) va être utilisé pour les nombres précédés de #, choisissez une des fonctions suivantes dans le premier menu BASE, à savoir HEX(hexadécimal), DEC(décimal), OCT(octal) ou BIN(binaire). Par exemple, si @HEX! est sélectionné, tout nombre écrit dans la calculatrice commençant par # sera un nombre hexadécimal. Par conséquent, vous pouvez écrire des nombres tels que #53, #A5B, etc. dans ce système. Chaque fois qu’un autre système est sélectionné, les nombres sont automatiquement convertis dans la nouvelle base. Les exemples suivants montrent les trois même nombres écrits avec le symbole # dans différentes bases courantes : HEX DEC Page 19-2 OCT BIN Comme le système décimal (DEC) a dix chiffres (0,1,2,3,4,5,6,7,8,9), le système hexadécimal (HEX) en comporte seize chiffres (0,1,2,3,4,5, 6,7,8,9,A,B,C,D,E,F), le système octal (OCT) huit chiffres (0,1,2,3,4,5,6,7) et le système binaire (BIN) seulement deux chiffres (0,1). Conversion entre les systèmes numériques Quel que soit le système sélectionné, il est appelé système binaire afin de pouvoir utiliser les fonctions RB et BR. Par exemple, si @HEX! est sélectionné, la fonction BR convertira les nombres (précédés de #) en nombres décimaux, tandis que la fonction RB agira dans l’autre sens. Essayer les exercices suivants, HEX étant la base actuelle : Les exemples suivants montrent des conversions quand la base est le système octal : Nous présentons aussi des transformations utilisant le système binaire comme base actuelle : Page 19-3 Nous présentons aussi des transformations utilisant le système binaire comme base actuelle : Notez que chaque fois que vous saisissez un nombre commençant par #, vous obtenez comme entrée le nombre saisi précédé de # et suivi de la lettre h, o ou b (hexadécimal, octal, ou binaire). Le type de lettre utilisé comme suffixe dépend du système numérique non décimal sélectionné, c’est-à-dire HEX, OCT, ou BIN. Pour voir ce qui se passe quand vous sélectionnez le paramètre @DEC@, essayez les conversions suivantes : Le seul effet produit par la sélection du système DECimal est que les nombres décimaux, précédés du symbole #, sont écrits avec le suffixe d. Taille La taille est le nombre de bits d’un objet binaire. Par défaut, la taille est de 64 bits. La fonction RCWS (ReCall WordSize) affiche la taille actuelle. La fonction STWS (SeT the WordSize) permet à l’utilisateur de paramétrer la taille sur n’importe quel nombre entre 0 et 64. Changer la taille affectera la façon dont les opérations d’entiers binaires sont effectuées. Par exemple, si un entier binaire excède la taille actuelle, les Page 19-4 premiers bits seront effacés avant que toute opération ne soit effectuée sur ce nombre. Opérations avec des entiers binaires Les opérations d’addition, soustraction, changement de signe, multiplication et division sont définies pour les entiers binaires. Quelques exemples d’additions et de soustraction, sont présentés ci-dessous pour différentes bases actuelles : #A02h + #12Ah #2562d + #298d #5002o + #452o #101000000010b + #100101010b = = = = #B2Ch #2860d #5454o #101100101100b #A02h - #12Ah #2562d - #298d #5002o - #452o #101000000010b - #100101010b = = = = #8D8h #2264d #4330o #100011011000b Le menu LOGIC Le menu LOGIC , accessible par l’intermédiaire de BASE (‚ã) propose les fonctions suivantes : Les fonctions AND, OR, XOR (OR exclu) et NOT sont des fonctions logiques. La saisie pour ces fonctions sont deux valeurs ou expressions (une dans la cas de NOT) qui peuvent être exprimées comme des résultats binaires logiques, à savoir 0 ou 1. Les comparaisons de nombres grâce aux opérateurs =, ≠, >, <, ≤ et ≥, sont des déclarations logiques qui peuvent être soit justes (1) soit fausses (0). Quelques exemples de déclarations logiques sont présentés cidessous : Page 19-5 Les fonctions AND, OR, XOR et NOT peuvent être appliquées à la comparaison de déclarations avec les règles suivantes : 1 AND 1 = 1 1 OR 1 = 1 1 XOR 1 = 0 NOT (1) = 0 1 AND 0 = 1 OR 0 = 1 XOR 0 = NOT (0) = 0 0 AND 1= 0 1 0 OR 1= 1 1 0 XOR 1= 1 1 0 AND 0 = 0 0 OR 0 = 0 0 XOR 0 = 0 Ces fonctions peuvent être utilisées pour construire des déclarations logiques dans un but de programmation. Dans le cadre de ce chapitre, elles seront utilisées pour fournir des résultats d’opérations bit à bit du style des règles exposées ci-dessus. Dans les exemples ci-dessous, le système de base des nombres est indiqué entre parenthèses : AND (BIN) OR (BIN) XOR (BIN) NOT (BIN) Le menu BIT Le menu BIT, disponible par l’intermédiaire de BASE (‚ã) propose les fonctions suivantes : Page 19-6 Les fonctions RL, SL, ASR, SR, RR contenues dans le menu BIT sont utilisées pour manipuler les bits des chiffres binaires entiers. La définition de ces fonctions est présentée ci-dessous : RL : Rotate Left one bit (rotation d’un bit vers la gauche) à savoir #1100b #1001b SL : Shift Left one bit (déplacement d’un bit vers la gauche) à savoir #1101b #11010b ASR : Arithmetic Shift Right one bit (déplacement arithmétique d’un bit vers la droite) à savoir #1100010b #110001b SR : Shift Right one bit (déplacement d’un bit vers la droite) à savoir #11011b #1101b RR : Rotate Right one bit (rotation d’un bit vers la droite) à savoir #1101b #1110b Le menu BYTE Le menu BYTE, disponible par l’intermédiaire de BASE (‚ã) propose les fonctions suivantes : Les fonctions RLB, SLB, SRB, RRB, contenues dans le menu BIT sont utilisées pour manipuler les octets des chiffres binaires entiers. La définition de ces fonctions est présentée ci-dessous : Page 19-7 RLB : Rotate Left one byte (rotation d’un octet vers la gauche) à savoir #1100b #1001b SLB : Shift Left one byte (déplacement d’un octet vers la gauche) à savoir #1101b #11010b SRB : Shift Right one byte, (déplacement vd’un octet ers la droite) à savoir #11011b #1101b RRB : Rotate Right one byte, (rotation d’un octet vers la droite) à savoir #1101b #1110b Nombres hexadécimaux pour références pixel Plusieurs spécifications d’option de tracé utilisent les références pixel comme mode de saisie, c'est-à-dire { #332h #A23h } #Ah 0. 360. ARC pour dessiner un arc de cercle. Nous utilisons les fonctions CPX et PXC pour convertir rapidement des coordonnées en unité utilisateur en références pixel. Ces fonctions peuvent être trouvées dans le catalogue de commandes (‚N). En voici un exemple ci-dessous : Page 19-8 Chapitre 20 Personnalisation des menus et du clavier L’utilisation des nombreux menus de la calculatrice vous a familiarisé avec le fonctionnement des menus pour un certain nombre d’applications. Vous vous êtes également familiarisé avec les nombreuses fonctions disponibles via l’utilisation des touches du clavier, qu’il s’agisse de leur fonction principale ou de leur association à la touche majuscule gauche („), majuscule droite (‚) ou ALPHA (~) . Dans ce chapitre, nous fournissons des exemples de menus et de touches personnalisés qui pourront vous être utiles dans vos propres applications. Personnalisation des menus Un menu personnalisé est un menu créé par l’utilisateur. Les spécifications de ce menu sont mémorisées dans les variables CST réservées. Ainsi, pour créer un menu, vous devez associer cette variable aux fonctionnalités que vous souhaitez afficher dans votre menu et aux actions requises par les touches de menu soft. Pour présenter des exemples de personnalisation des menus, nous devons paramétrer l’indicateur système 117 sur le menu SOFT. Veillez à effectuer ce réglage avant de poursuivre (voir le Chapitre 2 pour des instructions concernant le paramétrage des indicateurs système). Le menu PRG/MODES/MENU Le menu MENU fournit des commandes utiles pour personnaliser les menus, lesquelles sont accessibles via le menu PRG („°). Après le paramétrage de l’indicateur système 117 sur menu SOFT, la séquence „°L @)MODES @)MENU produit le menu soft MENU suivant : Les fonctions disponibles sont : MENU : Active un menu dont vous donnez le numéro CST : Une référence à la variable CST, par exemple : ‚@@CST@@ affiche le contenu de CST. Page 20-1 TMENU : Utilisez cette fonction plutôt que MENU pour créer un menu temporaire sans remplacer le contenu de CST. RCLMENU : Renvoie le numéro du menu en cours Numéros des menus (fonctions RCLMENU et MENU) Chaque menu prédéfini est associé à un numéro. Par exemple, supposons que vous activiez le menu MTH („´). Puis, à l’aide de la fonction catalogue (‚N) recherchez la fonction RCLMENU et activez-la. En mode ALG simple, appuyez sur ` après que RCLMENU() est apparu à l’écran. Le résultat est le numéro 3.01. Ainsi, vous pouvez activer le menu MTH à l’aide de MENU(3.01) en ALG ou 3.01 MENU en RPN. Il est possible d’activer la plupart des menus sans connaître leur numéro, en utilisant le clavier. Toutefois, certains menus ne sont pas accessibles par le clavier. Par exemple, le menu soft STATS est uniquement accessible par la fonction MENU. Son numéro est 96.01. Utilisez MENU(96.01) en mode ALG ou 96.01 MENU en mode RPN pour obtenir le menu soft STAT. Note : dans cet exemple, le numéro 96.01 correspond au premier (01) sousmenu du menu 96. Menus personnalisés (fonctions MENU et TMENU) Supposons que vous ayez besoin d’activer quatre fonctions pour une application particulière. Imaginons que vous deviez pouvoir accéder rapidement aux fonctions EXP, LN, GAMMA et ! (~‚2) et que vous souhaitiez les placer dans un menu soft que vous garderez activé pendant un moment. Vous pourriez le faire en créant un menu temporaire à l’aide de la fonction TMENU ou un menu plus permanent à l’aide de la fonction MENU. La principale différence tient au fait que la fonction MENU crée la variable CST, ce qui n’est pas le cas de TMENU. Si la variable CST est créée de manière permanente dans votre sous-répertoire, vous pourrez toujours réactiver le menu à l’aide des spécifications de CST en appuyant sur „£. Avec TMENU, les spécifications du menu sont perdues une fois que vous remplacez le menu temporaire par un autre menu. Page 20-2 Par exemple, en mode RPN, vous créez un menu en utilisant : {EXP LN GAMMA !} ` TMENU ` ou {EXP LN GAMMA !} ` MENU ` pour produire le menu suivant : Pour activer l’une de ces fonctions, il suffit d’entrer l’argument de la fonction (un nombre), puis d’appuyer sur la touche de menu soft correspondante. En mode ALG, la liste à entrer comme argument de la fonction TMENU ou MENU est plus complexe : {{“exp”,”EXP(“},{“ln”,”LN(“},{“Gamma”,”GAMMA(“},{“!”,”!(“}} En effet, en mode RPN, les noms de commandes sont à la fois des étiquettes de menu soft et des commandes. En mode ALG, les noms de commandes ne produisent pas d’action car les fonctions ALG doivent être suivies par des parenthèses et des arguments. Dans le cas de la liste ci-dessus (correspondant au mode ALG), chaque sous-liste comprend une étiquette pour la touche de menu, par exemple “exp”, suivie de la manière dont la fonction est entrée dans la pile afin que l’argument de la fonction puisse être saisi à l’affichage de l’invitation, par exemple “EXP(“. Ne vous préoccupez pas de la parenthèse fermante : la calculatrice l’appliquera avant d’exécuter la fonction. L’implémentation de la fonction TMENU en mode ALG avec la liste d’arguments présentée ci-dessus s’effectue comme suit. Tout d’abord, vous saisissez la liste, puis vous produisez le menu temporaire (voir les étiquettes de touches de menu) à l’aide de la fonction TMENU(ANS(1)). Nous présentons également, sur la gauche, le résultat d'une pression sur la touche de menu @@exp! , c’est-à-dire : l’invitation EXP(. Lorsque vous tapez 8`, le résultat de l’opération apparaît sur la droite : Page 20-3 On peut définir une version plus simple du menu à l’aide de MENU({{”EXP(“,“LN(“,“GAMMA(“,”!(“}). Menu RPN avancé La liste présentée ci-dessus pour le mode ALG peut être modifiée légèrement afin d’être utilisée en mode RPN. La liste modifiée se présentera ainsi : {{“exp”,EXP},{“ln”,LN},{“Gamma”,GAMMA},{“!”,!}} Vous pouvez essayer d’utiliser cette liste avec TMENU ou MENU en mode RPN pour vérifier que vous obtenez le même menu que précédemment en mode ALG. Spécification du menu et variable CST Les deux exercices ci-dessus nous ont montré que la liste la plus générale de spécifications du menu comprend un nombre de sous-listes égal au nombre d’éléments qui seront affichés dans votre menu personnalisé. Chaque sousliste contient une étiquette pour la touche de menu, suivie d’une fonction, d’une expression, d’une étiquette ou de tout autre objet constituant l’effet du menu en cas d'une pression sur la touche. Il convient d’être prudent lorsque vous spécifiez la liste de menu en mode ALG par rapport au mode RPN. En mode RPN, l’action de la touche de menu peut imiter une simple commande de la calculatrice (par exemple EXP, LN, etc., comme indiqué ci-dessus), alors qu’en mode ALG, il doit s’agir d’une chaîne présentant l’invitation de la commande dont l’utilisateur doit fournir l’argument avant d'appuyer sur la touche ` et de terminer la commande. Les exemples ci-dessus illustrent cette différence. La forme générale de la liste d’arguments pour les commandes TMENU ou MENU en mode ALG est la suivante : Page 20-4 {“label1”,”function1(“,”ls1(“,”rs1(“}, {“label2”, “function2(“,”ls2(“,”rs2(“),…} En revanche, en mode RPN, la liste d’arguments se présente ainsi : {“label1”, function1, ls1, rs1}, {“label2”, function2, ls2, rs2},…} Dans ces caractéristiques, fonction1, fonction 2, etc. représentent les fonctions principales de la touche, alors que ls1, ls2, …, etc. représentent les fonctions activées par la touche majuscule gauche (<left shift>) maintenue enfoncée. De la même manière, rs1, rs2, …, etc. représentent les fonctions activées par la touche majuscule droite (<right shift>) maintenue. Cette liste sera mémorisée dans la variable CST si vous utilisez la commande MENU. Vous pouvez disposer d’une variable CST différente dans chaque sous-répertoire et vous pouvez toujours remplacer le contenu actuel de CST par celui des autres variables stockant la liste correctement formatée afin de produire un autre menu personnalisé. Note : Vous pouvez utiliser un GROB de 21x8 (Voir Chapitre 22) pour produire une icône dans le menu. A titre d’exemple, essayez, en mode RPN : {{GROB 21 8 00000EF908FFF900FFF9B3FFF9A2FFF9A3FFF9A0FFF388FF “hp” }} ` MENU Ceci créee le logo hp sur la touche A. Appuyez sur la touche A pour afficher ‘hp’ sur la ligne de commande. Personnalisation du clavier Chaque touche du clavier peut être identifiée par deux nombres représentant sa ligne et sa colonne. Par exemple, la touche VAR (J) se trouvant sur la ligne 3 de la colonne 1 sera désignée comme touche 31. Par ailleurs, dans la mesure où chaque touche peut être associée à dix fonctions au plus, chaque fonction est spécifiée par des nombres décimaux entre 0 et 1, selon les spécifications suivantes : Page 20-5 .0 ou 1, touche sans touche .2, combinée touche .3, combinée touche .4, combinée touche .5, combinée fonction avec „ avec ‚ avec ~ avec ~„ 0.01 ou 0.11, non applicable touche .21, simultanément avec „ touche .31, simultanément avec ‚ touche .41, combinée avec ~ touche .51, ~ simultanément avec „ touche .6, combinée avec ~‚ touche .61, ~ simultanément avec ‚ Ainsi, la fonction VAR sera désignée comme touche 31.0 ou 3.1, alors que la fonction UPDIR sera la touche 31.2, la fonction COPY sera la touche 31.3, le J majuscule sera la touche 31.4 et le j minuscule sera la touche 31.5 (la touche 31.6 n’est pas définie). D’une manière générale, une touche est décrite par l’association XY.Z, où X = numéro de ligne, Y = numéro de colonne et Z = modification. On peut associer une touche donnée à la touche USER (majuscule gauche associée à la touche ~ ou „Ì) pour créer une action personnalisée de la touche. En principe, il est possible de redéfinir tout le clavier pour effectuer un certain nombre d’opérations personnalisées. Le sous-menu PRG/MODES/KEYS Les commandes utiles pour personnaliser le clavier sont fournies par le menu KEYS accessible via le menu PRG („°). Si vous paramétrez l’indicateur système 117 sur le menu SOFT, la séquence „ °L @)MODES @)KEYS produit le menu soft KEYS suivant : Les fonctions disponibles sont : ASN : Affecte un objet à une touche spécifiée par XY.Z STOKEYS : Mémorise la liste des touches définies par l’utilisateur RCLKEYS : Renvoie la liste actuelle des touches définies par l’utilisateur Page 20-6 DELKEYS: Désaffecte une ou toutes les touches définies dans la liste de l’utilisateur ; les arguments sont soit 0, pour désaffecter toutes les touches soit XY.Z, pour les touches XY.Z non définies. Rappel de la liste actuelle des touches définies par l’utilisateur Utilisez la commande RCLKEYS pour afficher la liste actuelle des touches définies par l’utilisateur. Avant toute affectation de touches définies par l’utilisateur, le résultat doit être une liste contenant la lettre S, c’est-à-dire {S}. Affectation d’un objet à une touche définie par l’utilisateur Supposons que vous souhaitiez accéder à l’ancienne commande PLOT introduite pour la première fois avec la calculatrice HP série 48G, mais qui n’est plus actuellement directement disponible via le clavier. Le numéro de clavier pour ce menu est 81.01. Vous pouvez voir ce menu en action en utilisant le paramétrage suivant : Mode ALG : MENU(81.01) Mode RPN : 81.01 ` MENU ` Pour disposer d’un moyen rapide d’activer ce menu à partir du clavier, vous pouvez affecter ce menu à la touche GRAPH (C) dont le numéro de référence est 13.0, c’est-à-dire première ligne, troisième colonne, fonction principale. Pour affecter un objet à une touche, utilisez la fonction ANS comme suit : Mode ALG: ASN(<<MENU(81.01)>>,13.0) Mode RPN: << 18.01 MENU >> ` 13.0 ` ASN Un autre menu utile est le menu SOLVE originel (décrit à la fin du Chapitre 6 du présent guide), lequel peut être activé à l’aide de ‚ (maintenir) 7. Fonctionnement des touches définies par l’utilisateur Pour utiliser cette touche définie par l’utilisateur, entrez „Ì avant d’appuyer sur la touche C . Remarquez qu’après avoir appuyé sur „Ì , l’écran affiche la spécification 1USR sur la deuxième ligne de Page 20-7 l’écran. En appuyant sur „Ì C pour cet exemple, vous devriez récupérer le menu PLOT comme suit : Si vous disposez de plusieurs touches définies par l’utilisateur et souhaitez en utiliser plusieurs à la fois, vous pouvez verrouiller le clavier en mode USER en entrant „Ì„Ì avant d’appuyer sur les touches définies par l’utilisateur. Lorsque le clavier est verrouillé en mode USER, la spécification USR apparaît sur la deuxième ligne de l’écran. Pour déverrouiller le clavier, appuyez une nouvelle fois sur „Ì. Désaffectation d’une touche définie par l’utilisateur Pour supprimer l’affectation définie précédemment, utilisez la fonction DELKEYS, comme suit : Mode ALG : DELKEYS(13.0) Mode RPN : 13.0 ` DELKEYS ` Affectation de plusieurs touches définies par l’utilisateur La solution la plus simple pour affecter plusieurs touches définies par l’utilisateur consiste à fournir une liste de commandes et de spécifications des touches. Par exemple, supposons que nous affections les trois fonctions trigonométriques (SIN, COS, TAN) et les trois fonctions hyperboliques (SINH, COSH, TANH) aux touches respectives A à F, en tant que touches définies par l’utilisateur. En mode RPN, utilisez : {SIN,11.0,COS,12.0,TAN,13.0,SINH,14.0,COSH,15.0,T ANH,16.0} ` STOKEYS ` En mode ALG, utilisez : STOKEYS({"SIN(' ,11.0, "COS(", 12.0, "TAN(", 13.0, "SINH(", 14.0, "COSH(", 15.0, "TANH(", 16.0}) ` Actionnez ces touches en utilisant, par exemple, en mode RPN : Page 20-8 5„ÌA 4„ÌB 2 „ÌD 1„ÌE 6„ÌC 2„ÌF Pour désaffecter toutes les touches définies par l’utilisateur, utilisez : Mode ALG : DELKEYS(0) mode RPN : 0 DELKEYS Vérifiez que les définitions des touches de l’utilisateur ont été supprimées en utilisant la fonction RCLKEYS. Page 20-9 Chapitre 21 Programmation en langage RPL Utilisateur Le langage RPL Utilisateur est le langage de programmation le plus couramment utilisé pour programmer la calculatrice. Les composants du programme peuvent être assemblés dans l’éditeur de lignes ; pour ce faire, on les inclut entre des conteneurs de programme « » dans l’ordre approprié. Dans la mesure où les utilisateurs ont plus d’expérience de la programmation en langage RPN, la plupart des exemples de ce chapitre seront présentés en mode RPN. De même, pour faciliter la saisie des commandes de programmation, il est recommandé de définir l’indicateur système 117 sur les menus SOFT. Les programmes fonctionnent aussi bien en mode ALG une fois qu’ils ont été débogués et testés en mode RPN. Si vous préférez travailler en mode ALG, apprenez simplement comment programmer en RPN, puis redéfinissez le mode d’utilisation sur ALG pour exécuter les programmes. Pour obtenir un exemple simple de programmation RPL Utilisateur en mode ALG, reportez-vous à la dernière page de ce chapitre. Exemple de programmation Dans tous les chapitres précédents de ce guide, nous avons présenté un certain nombre de programmes pouvant être utilisés pour différentes applications (par exemple, des programmes CRMC et CRMT, utilisés pour créer une matrice à partir d’un certain nombre de listes, ont été présentés au Chapitre 10). Dans cette section, nous présentons un programme simple permettant d’introduire des concepts liés à la programmation de la calculatrice. Le programme que nous rédigerons permettra de définir la fonction f(x) = sinh(x)/(1+x2), laquelle accepte les listes comme arguments (c’est-à-dire que x peut être une liste de nombres, comme décrit au Chapitre 8). Au Chapitre 8, nous avons indiqué que le signe plus, se comporte comme un opérateur de concaténation pour les listes et non pour produire une somme terme à terme. Pour ce faire, il faut utiliser l’opérateur ADD, lequel produit une addition des listes terme à terme. Ainsi, pour définir la fonction présentée cidessus, nous utiliserons le programme suivant : «'x' STO x SINH 1 x SQ ADD / 'x' PURGE » Page 21-1 Pour intégrer ce programme, procédez comme suit : Séquence de touches : ‚å Produit : « [']~„x™K 'x' STO ~„x „´@)HYP @SINH 1#~„x „º „´@)@MTH@ @LIST @ADD@ x SINH 1 x SQ ADD / 'x' PURGE / [']~„x™ „°@)@MEM@@ @)@DIR@@ @PURGE ` _______________________ __________ Interprété comme : Lancement d’un programme RPL Stockage du niveau 1 dans la variable x Placement de x au niveau 1 Calcul du sinh du niveau 1 Saisie de 1 et calcul de x2 Calcul de (1+x2), puis division Purge de la variable x Programmation au niveau 1 _____________________ Pour enregistrer le programme, utilisez : [']~„gK Appuyez sur J pour récupérer votre menu de variables et évaluez g(3.5) en entrant la valeur de l’argument au niveau 1 (3.5`) puis en appuyant sur @@@g@@@. Le résultat est 1.2485…, c’est-à-dire : g(3.5) = 1.2485. Essayez également d’obtenir g({1 2 3}), en entrant la liste au niveau 1 de l’affichage : „ä1#2#3` et en appuyant sur @@@g@@@. Le résultat est maintenant {SINH(1)/2 SINH(2)/5 SINH(3)/10}, si votre CAS est défini sur le mode EXACT. Si votre CAS est défini sur le mode APPROXIMATE, le résultat est {0.5876.. 0.7253… 1.0017…}. Variables globales et locales et sous-programmes Le programme @@@g@@@, défini ci-dessus, peut être affiché comme suit : « 'x' STO x SINH 1 x SQ ADD / 'x' PURGE » à l’aide de ‚@@@g@@@. Remarquez que le programme utilise le nom de la variable x pour stocker la valeur placée au niveau 1 de la pile via les étapes de programmation 'x' Page 21-2 STO. Pendant l’exécution du programme, la variable x est stockée dans votre menu de variables comme toute autre variable précédemment stockée. Après avoir calculé la fonction, le programme purge (efface) la variable x, de sorte qu’elle n’apparaît pas dans votre menu de variables après l’évaluation du programme. Si la variable x n’était pas purgée dans le programme, sa valeur resterait disponible après l’exécution du programme. C’est la raison pour laquelle la variable x, telle que décrite dans ce programme, est désignée comme une variable globale. L’une des implications de l’utilisation de x en tant que variable globale est la suivante : si nous avions au préalable défini une variable portant le nom x, sa valeur serait remplacée par la valeur utilisée par le programme, puis complètement supprimée de votre menu de variables après l’exécution du programme. Par conséquent, du point de vue de la programmation, une variable globale est une variable accessible à l’utilisateur après l’exécution du programme. Il est possible d’utiliser une variable locale au sein du programme, laquelle est uniquement définie pour ce programme et ne sera plus disponible après l’exécution du programme. Le programme précédent pourrait être modifié comme suit : « → x « x SINH 1 x SQ ADD / » » Le symbole de la flèche (→) s’obtient par l’association de la touche majuscule de droite ‚ et de la touche 0 c’est-à-dire : ‚é. Remarquez également qu’une série supplémentaire de symboles de programmation (« ») indiquent l’existence d’un sous-programme, à savoir « x SINH 1 x SQ ADD / », au sein du programme principal. Le programme principal commence par la combinaison → x, qui représente l’affectation de la valeur au niveau 1 de la pile à une variable locale x. Puis, le flux de programmation se poursuit au sein du sous-programme en plaçant x dans la pile, en évaluant SINH(x), en plaçant 1 dans la pile, en plaçant x dans la pile, en mettant x au carré, en ajoutant 1 à x, et en divisant le niveau 2 de la pile (SINH(x)) par le niveau 1 de la pile (1+x2). Le contrôle du programme est ensuite retransmis au programme principal, mais il n’y a plus de commandes entre la première série de symboles de programmation finale (») et la deuxième ; par conséquent, le programme se termine. La dernière valeur de la pile, à savoir SINH(x)/ (1+x2), est retournée comme sortie du programme. Page 21-3 La variable x dans la dernière version du programme n’occupe jamais une place parmi les variables de votre menu de variables. Elle est modifiée au sein de la mémoire de la calculatrice sans affecter toute variable de même nom dans votre menu de variables. C’est la raison pour laquelle la variable x dans ce cas est considérée comme variable locale pour le programme, c’est-àdire une variable locale. Note: pour modifier le programme @@@g@@@, placez le nom du programme dans la pile (³@@@g@@@ `), puis utilisez „˜. Utilisez les flèches (š™— ˜) pour vous déplacer dans le programme. Utilisez la touche de retour en arrière/suppression, ƒ, pour supprimer les éventuels caractères indésirables. Pour ajouter des conteneurs de programmes (c’est-à-dire, « »), utilisez ‚å, comme ces symboles se présentent par paires, vous devrez les entrer au début et à la fin du sous-programme et supprimer l’une de leurs composantes à l’aide de la touche de suppression ƒ pour produire le programme requis, à savoir : « → x « x SINH 1 x SQ ADD / » ». Une fois le programme modifié, appuyez sur ` . Le programme modifié est de nouveau stocké dans la variable @@g@@. Portée de la variable globale Toute variable que vous définissez dans le répertoire HOME ou dans tout autre répertoire ou sous-répertoire sera considérée comme une variable globale du point de vue du développement de programmes. Toutefois, la portée d’une telle variable, c’est-à-dire l’emplacement de l’arborescence des répertoires où la variable est accessible, dépendra de l’emplacement de la variable dans l’arborescence (voir Chapitre 2). La règle permettant de déterminer la portée d’une variable est la suivante : une variable globale est accessible pour le répertoire où elle est définie et pour tout sous-répertoire lié à ce répertoire, à moins qu’une variable du même nom n’existe dans le sous-répertoire considéré.. Les conséquences de cette règle sont les suivantes : Page 21-4 • • • Une variable globale définie dans le répertoire HOME sera accessible à partir de tout sous-répertoire de HOME, sauf si elle est redéfinie au sein d’un répertoire ou d’un sous-répertoire. Si vous redéfinissez la variable au sein d’un répertoire ou d’un sousrépertoire, cette définition se substitue à toute autre définition dans les répertoires supérieurs au répertoire actuel. Lorsque vous exécutez un programme faisant référence à une variable globale donnée, le programme utilise la valeur de la variable globale située dans le répertoire depuis lequel le programme est appelé. Si aucune variable de ce nom n’existe dans le répertoire d’appel, le programme recherche dans les répertoires supérieurs au répertoire en cours, jusqu’au répertoire HOME, et utilise la valeur correspondant au nom de la variable considérée dans le répertoire parent le plus proche du répertoire en cours. Un programme défini dans un répertoire donné est accessible depuis ce répertoire ou n’importe lequel de ses sous-répertoires. Toutes ces règles peuvent sembler confuses à un nouvel utilisateur de la calculatrice. Elles peuvent toutes être simplifiées par la suggestion suivante : Créez des répertoires et des sous-répertoires au nom significatif pour organiser vos données et assurez-vous que toutes les variables globales dont vous avez besoin se trouvent dans le sous-répertoire approprié. Portée de la variable locale Les variables locales sont uniquement actives au sein d’un programme ou d’un sous-programme. Par conséquent, leur portée est limitée au programme où au sous-programme dans lequel elles sont définies. A titre d’exemple de variable locale, on peut citer l’index d’une boucle FOR (décrite ultérieurement dans ce chapitre), par exemple « → n x « 1 n FOR j x NEXT n LIST » » Le menu PRG Dans cette section, nous présentons le contenu du menu PRG (programmation), l’indicateur système 117 de la calculatrice étant défini sur les menus SOFT. Avec ce réglage de l’indicateur, les sous-menus et les commandes du menu PRG apparaîtront comme des étiquettes de menu. Cela facilite l’entrée des Page 21-5 commandes de programmation dans l’éditeur de ligne lorsque vous constituez un programme. Pour accéder au menu PRG, utilisez la combinaison de touches „°. Dans le menu PRG, nous identifions les sous-menus suivants (appuyez sur L pour passer à l’ensemble suivant de sous-menus du menu PRG) : Voici un bref descriptif du contenu de ces sous-menus et de leurs sous-menus : STACK : MEM : DIR : ARITH : Fonctions permettant de manipuler les éléments de la pile RPN Fonctions liées à la manipulation de mémoire Fonctions liées à la manipulation de répertoires Fonctions permettant de manipuler les indices stockés dans les variables BRCH : Ensemble de sous-menus avec branchements de programmes et fonctions de boucle IF : Construction IF-THEN-ELSE-END pour branchements CASE : Construction CASE-THEN-END pour branchements START : Construction START-NEXT-STEP pour branchements FOR : Construction FOR-NEXT-STEP pour boucles DO : Construction DO-UNTIL-END pour boucles WHILE : Construction WHILE-REPEAT-END pour boucles TEST : Opérateurs de comparaison, opérateurs logiques, fonctions de test des indicateurs TYPE : Fonctions permettant de convertir des types d’objet, de diviser des objets, etc. LIST : Fonctions liées à la manipulation de listes ELEM : Fonctions permettant de manipuler les éléments d’une liste PROC : Fonctions permettant d’appliquer des procédures aux listes GROB : Fonctions permettant de manipuler des objets graphiques Page 21-6 PICT : Fonctions permettant de dessiner des images dans l’écran de graphiques CHARS : Fonctions permettant de manipuler des chaînes de caractères MODES: Fonctions permettant de modifier les modes de la calculatrice FMT : Pour modifier le format des nombres ou le format des virgules ANGLE : Pour modifier la mesure des angles et les systèmes de coordonnées FLAG : Pour définir et désactiver les indicateurs et vérifier leur état KEYS : Pour définir et activer les touches définies par l’utilisateur (Chapitre 20) MENU : Pour définir et activer les menus personnalisés (Chapitre 20) MISC : Changements de mode divers (tonalité sonore, horloge, etc.) IN : Fonctions permettant l’entrée de programmes OUT : Fonctions permettant la sortie de programmes TIME : Fonctions liées au temps ALRM : Manipulation de l’alarme ERROR : Fonctions de gestion des erreurs IFERR : Construction IFERR-THEN-ELSE-END pour la gestion des erreurs RUN : Fonctions permettant d’exécuter et de déboguer des programmes Navigation dans les sous-menus RPN Commencez par la combinaison de touches „°, puis appuyez sur la touche de menu appropriée (par exemple, @)@MEM@@ ). Pour accéder à un sousmenu au sein de ce sous-menu (par exemple, @)@DIR@@ dans le sous-menu @)@MEM@), appuyez sur la touche correspondante. Pour vous déplacer vers le haut dans un sous-menu, appuyez sur la touche L jusqu’à ce que vous obteniez soit la référence au sous-menu parent (par exemple, @)@MEM@@ dans le sous-menu @)@DIR@@ ) ou au menu PRG (c’est-à-dire, @)@PRG@@ ). Fonctions répertoriées par sous-menu La liste suivante répertorie menu. STACK MEM/DIR DUP PURGE SWAP RCL les fonctions au sein des sous-menus PRG par sousBRCH/IF IF THEN BRCH/WHILE TYPE WHILE OBJ REPEAT ARRY Page 21-7 DROP OVER ROT UNROT ROLL ROLLD PICK UNPICK PICK3 DEPTH DUP2 DUPN DROP2 DROPN DUPDU NIP NDUPN MEM PURGE MEM BYTES NEWOB ARCHI RESTO LIST/ELEM GET GETI PUT PUTI SIZE POS HEAD TAIL STO PATH CRDIR PGDIR VARS TVARS ORDER ELSE END END TEST == ≠ < > ≤ MEM/ARITH BRCH/START ≥ STO+ START AND STONEXT OR STOx STEP XOR STO/ NOT BRCH/FOR INCR SAME DECR FOR TYPE SINV NEXT SF SNEG STEP CF SCONJ FS? BRCH/DO FC? BRCH DO FS?C IFT UNTIL FC?C IFTE END LININ GROB GROB BLANK GOR GXOR SUB REPL LCD LCD SIZE BRCH/CASE CASE THEN END CHARS SUB REPL POS SIZE NUM CHR OBJ STR HEAD MODES/FLAG SF CF FS? FC? FS?C FS?C FC?C STOF RCLF LIST STR TAG UNIT CR RC NUM CHR DTAG EQ TYPE VTYPE LIST OBJ LIST SUB REPL MODES/MISC BEEP CLK SYM STK ARG CMD INFO IN Page 21-8 LIST/PROC DOLIST DOSUB NSUB ENDSUB STREAM REVLIST SORT SEQ ANIMATE TAIL SREPL PICT MODES/FMT PICT PDIM STD LINE FIX TLINE SCI BOX ENG ARC FM, PIXON ML PIXOF MODES/ANGLE PIX? PVIEW DEG PXC RAD CPX GRAD RECT CYLIN SPHERE TIME DATE DATE TIME TIME TICKS ERROR DOERR ERRN ERRM ERR0 LASTARG TIME/ALRM ACK ACKALARM STOALARM RCLALARM DELALARM FINDALARM ERROR/IFERR IFERR THEN ELSE END RESET MODES/KEYS ASN STOKEYS RECLKEYS DELKEYS MODES/MENU MENU CST TMENU RCLMENU INFORM NOVAL CHOOSE INPUT KEY WAIT PROMPT OUT PVIEW TEXT CLLCD DISP FREEZE MSGBOX BEEP RUN DBUG SST SST↓ NEXT HALT KILL OFF Page 21-9 Raccourcis dans le menu PRG Bon nombre des fonctions répertoriées ci-dessus pour le menu PRG sont disponibles par d’autres moyens : • • • • • • Les opérateurs de comparaison (≠, ≤, <, ≥, >) sont disponibles sur le clavier. Beaucoup de fonctions et de paramètres du sous-menu MODES peuvent être activés par l’utilisation des fonctions d’entrée fournies par la touche H. Les fonctions du sous-menu TIME sont accessibles par la combinaison de touches ‚Ó. Les fonctions STO et RCL (dans le sous-menu MEM/DIR) sont disponibles par les touches K et „© du clavier. Les fonctions RCL et PURGE (dans le sous-menu MEM/DIR) sont disponibles via le menu TOOL (I). Dans le sous-menu BRCH, si vous appuyez sur la touche majuscule gauche („) ou sur la touche majuscule droite (‚) avant d’appuyer sur l’une des touches de sous-menu, vous créez des constructions liées à la touche de sous-menu choisie. Cela fonctionne uniquement lorsque la calculatrice est en mode RPN. En voici quelques exemples : „@)@IF@@ „@)CASE@ ‚@)@IF@@ ‚@)CASE@ „@)START „@)@FOR@@ Page 21-10 ‚@)START „@)@@DO@@ ‚@)@FOR@@ „@)WHILE Remarquez que l’invite d’insertion () est disponible après le mot clé pour chaque construction, ce qui vous permet de commencer à taper à l’endroit approprié. Séquence de touches pour les commandes couramment utilisées Vous trouverez ci-dessous des séquences de touches permettant d’accéder aux commandes couramment utilisées pour la programmation numérique au sein du menu PRG. Les commandes sont d’abord répertoriées par menu : @)STACK DUP SWAP DROP „°@)STACK @@DUP@@ „°@)STACK @SWAP@ „°@)STACK @DROP@ @)@MEM@@ @)@DIR@@ PURGE ORDER „°@)@MEM@@ @)@DIR@@ @PURGE „°@)@MEM@@ @)@DIR@@ @ORDER @)@BRCH@ @)@IF@@ IF THEN ELSE END „°@)@BRCH@ „°@)@BRCH@ „°@)@BRCH@ „°@)@BRCH@ @)@BRCH@ @)CASE@ CASE „°@)@BRCH@ @)CASE@ @CASE@ @)@IF@@ @)@IF@@ @)@IF@@ @)@IF@@ @@@IF@@@ @THEN@ @ELSE@ @@@END@@ Page 21-11 THEN END „°@)@BRCH@ @)CASE@ @THEN@ „°@)@BRCH@ @)CASE@ @@END@ @)@BRCH@ @)START START NEXT STEP „°@)@BRCH@ @)START @START „°@)@BRCH@ @)START @NEXT „°@)@BRCH@ @)START @STEP @)@BRCH@ @)@FOR@ FOR NEXT STEP „°@)@BRCH@ @)@FOR@ @@FOR@@ „°@)@BRCH@ @)@FOR@ @@NEXT@ „°@)@BRCH@ @)@FOR@ @@STEP@ @)@BRCH@ @)@@DO@@ DO UNTIL END @)@BRCH@ @)WHILE@ WHILE REPEAT END @)TEST@ @)TYPE@ „°@)@BRCH@ @)@@DO@@ @@@DO@@ „°@)@BRCH@ @)@@DO@@ @UNTIL „°@)@BRCH@ @)@@DO@@ @@END@@ „°@)@BRCH@ @)WHILE@ @WHILE „°)@BRCH@ @)WHILE@ @REPEA „°)@BRCH@ @)WHILE@ @@END@ == AND OR XOR NOT SAME SF CF FS? FC? FS?C FC?C „° @)TEST@ @@@≠@@@ „° @)TEST@ L @@AND@ „° @)TEST@ L @@@OR@@ „° @)TEST@ L @@XOR@ „° @)TEST@ L @@NOT@ „° @)TEST@ L @SAME „° @)TEST@ L L @@@SF@@ „°@)TEST@ L L @@@CF@@ „° @)TEST@ L L @@FS?@ „° @)TEST@ L L @@FC?@ „° @)TEST@ L L @FS?C „° @)TEST@ L L @FC?C OBJ „°@)TYPE@ @OBJ @ Page 21-12 ARRY LIST STR TAG NUM CHR TYPE „°@)TYPE@ @ @ARRY „°@)TYPE@ @ @LIST „°@)TYPE@ @ @STR „°@)TYPE@ @ @TAG „°@)TYPE@ L @NUM@ „°@)TYPE@ L @CHR@ „°@)TYPE@ L @TYPE@ @)LIST@ @)ELEM@ GET GETI PUT PUTI SIZE HEAD TAIL „°@)LIST@ „°@)LIST@ „°@)LIST@ „°@)LIST@ „°@)LIST@ „°@)LIST@ „°@)LIST@ @)LIST@ @)PROC@ REVLIST SORT SEQ „°@)LIST@ @)PROC@ @REVLI@ „°@)LIST@ @)PROC@ L @SORT@ „°@)LIST@ @)PROC@ L @@SEQ@@ @)MODES @)ANGLE@ DEG RAD „°L@)MODES @)ANGLE@ @@DEG@@ „°L@)MODES @)ANGLE@ @@RAD@@ @)MODES @)MENU@ CST MENU BEEP „°L@)MODES @)MENU@ @@CST@@ „°L@)MODES @)MENU@ @@MENU@ „°L@)MODES @)MISC@ @@BEEP@ @)@@IN@@ INFORM INPUT MSGBOX PVIEW @)ELEM@ @@GET@@ @)ELEM@ @GETI@ @)ELEM@ @@PUT@ @)ELEM@ @PUTI@ @)ELEM@ @SIZE@ @)ELEM@ L @HEAD@ @)ELEM@ L @TAIL@ „°L@)@@IN@@ „°L@)@@IN@@ „°L@)@OUT@ „°L@)@OUT@ @INFOR@ @INPUT@ @MSGBO@ @PVIEW@ @)@RUN@ Page 21-13 DBUG SST SST↓ HALT KILL „°LL „°LL „°LL „°LL „°LL @)@RUN@ @)@RUN@ @)@RUN@ @)@RUN@ @)@RUN@ @@DBG@ @@SST@ @SST↓@ @HALT@ @KILL Programmes permettant de générer des listes de nombres Remarquez que les fonctions du menu PRG ne sont pas les seules qui puissent être utilisées en programmation. En fait, la plupart des fonctions de la calculatrice peuvent être incluses dans un programme. Ainsi, vous pouvez utiliser, par exemple, les fonctions du menu MTH. Plus précisément, vous pouvez utiliser des fonctions pour les opérations de liste telles que SORT, ΣLIST, etc., disponibles via le menu MTH/LIST. A titre d’exercices de programmation supplémentaires, et pour essayer les séquences de touches répertoriées ci-dessus, nous présentons ici trois programmes permettant de créer ou de manipuler des listes. Les noms et les listes de programmes sont les suivants : LISC: « → n x « 1 n FOR j x NEXT n LIST » » CRLST: « → st en df « st en FOR →LIST » » j j df STEP en st - df / FLOOR 1 + CLIST: « REVLIST DUP DUP SIZE 'n' STO ΣLIST SWAP TAIL DUP SIZE 1 - 1 SWAP FOR j DUP ΣLIST SWAP TAIL NEXT 1 GET n LIST REVLIST 'n' PURGE » Le fonctionnement de ces programmes est le suivant : (1) LISC : crée une liste de n éléments tous égaux à une constante c. Operation : entrez n, entrez c, appuyez sur @LISC Exemple : 5 ` 6.5 ` @LISC crée la liste : {6.5 6.5 6.5 6.5 6.5} Page 21-14 : crée une liste de nombres de n1 à n2 avec l’incrément ∆n, c’est-à-dire : {n1, n1+∆n, n1+2⋅∆n, … n1+N⋅∆n }, où N=floor((n2-n1)/∆n)+1. Operation : entrez n1, entrez n2, entrez ∆n, appuyez sur @CRLST Exemple : 5 `3.5 `.5 ` @CRLST produit {0.5 1 1.5 2 2.5 3 3.5} (2) CRLST (3) CLIST : crée une liste contenant la somme cumulée des éléments, c’est-à-dire que si la liste d’origine est {x1 x2 x3 … xN}, CLIST crée la liste : N {x1 , x1 + x2 , x1 + x2 + x3 ,..., ∑ xi } i =1 Operation Exemple : placez la liste d’origine au niveau 1, appuyez sur @CLIST. : {1 2 3 4 5} `@CLIST produit {1 3 6 10 15}. Exemples de programmation séquentielle D’une manière générale, un programme est toute séquence d’instructions de la calculatrice située entre les conteneurs de programme “ et ». Des sousprogrammes peuvent être inclus dans un programme. Les exemples présentés précédemment dans ce guide (par exemple aux Chapitres 3 et 8) peuvent être classés en deux types principaux : (a) programmes générés par la définition d’une fonction ; et (b) programmes simulant une séquence d’opérations de la pile. Ces deux types de programmes sont décrits ci-après. La forme générale de ces programmes est la suivante: entréetraitementsortie, par conséquent, nous les appelons programmes séquentiels. Programmes générés par la définition d’une fonction Il s’agit de programmes générés par l’utilisation de la fonction DEFINE („à) avec un argument se présentant comme suit : 'nom_de_fonction(x1, x2, …) = expression contenant les variables x1, x2, …' Le programme est stocké dans une variable appelée nom_de_fonction. Le programme est alors rappelé vers la pile via ‚function_name. Le programme se présente comme suit : Page 21-15 « x1, x2, … 'expression contenant les variables x1, x2, …'». Pour évaluer la fonction pour une série de variables d’entrée x1, x2, …, en mode RPN, entrez les variables dans la pile dans l’ordre approprié (c’est-àdire : x1 d’abord, suivi de x2, puis x3, etc.), et appuyez sur les touches de menu étiquetées function_name. La calculatrice retourne la valeur de la fonction function_name(x1, x2, …). Exemple: Equation de Manning pour un canal rectangulaire large. A titre d’exemple, considérons la fonction suivante qui calcule la décharge d’unité (décharge par largeur d’unité), q, dans un canal ouvert rectangulaire large à l’aide de l’équation de Manning : q= Cu 5 / 3 y0 S0 n où Cu est une constante qui dépend du système d’unités utilisé [Cu = 1.0 pour les unités du Système International (S.I.), et Cu = 1.486 pour les unités du Système Anglais (E.S.)], n est le coefficient de résistance de Manning, qui dépend du type de garniture du canal et d’autres facteurs, y0 est la profondeur du flux et S0 est la pente du lit du canal donnée sous forme de fraction non dimensionnée. Note : Les valeurs du coefficient de Manning, n, sont disponibles dans des tables en tant que nombres non dimensionnés, généralement situés entre 0.001 et 0.5. La valeur de Cu est également utilisée sans dimensions. Il faut toutefois s’assurer que la valeur de y0 contient les unités appropriées, c’est-àdire m dans S.I. et ft dans E.S. Le résultat pour q est retourné dans les unités appropriées du système correspondant utilisé, c’est-à-dire, m2/s dans S.I. et ft2/s dans E.S. Par conséquent, l’équation de Manning n’est pas cohérente sur le plan des dimensions. Supposons que nous souhaitions créer une fonction q(Cu, n, y0, S0) pour calculer la décharge d’unités q pour ce cas. Utilisez l’expression ‘q(Cu,n,y0,S0)=Cu/n*y0^(5./3.)*√S0’, Page 21-16 en tant qu’argument de la fonction DEFINE. Remarquez que l'exposant 5./3. de cette équation, représente un rapport de nombres réels en raison des virgules décimales qui y figurent. Appuyez sur J, au besoin, pour récupérer la liste des variables. A ce stade, une variable appelée @@@q@@@ figurera dans les étiquettes de vos touches de menu. Pour afficher le contenu de q, utilisez ‚@@@q@@@. Le programme généré par la définition de la fonction q(Cu,n,y0,S0) est présenté comme suit : « → Cu n y0 S0 ‘Cu/n*y0^(5./3.)*√S0’ ». Cela doit être interprété comme “entrez Cu, n, y0, S0, dans cet ordre, puis calculez l’expression entre guillemets.” Par exemple, pour calculer q pour Cu = 1.0, n = 0.012, y0 = 2 m, et S0 = 0.0001, utilisez en mode RPN : 1 ` 0.012 ` 2 ` 0.0001 ` @@@q@@@ Le résultat est 2.6456684 (ou, q = 2.6456684 m2/s). Vous pouvez également séparer les données d’entrée par des espaces dans une seule ligne de pile au lieu d’utiliser `. Programmes simulant une séquence d’opérations de la pile Dans ce cas, les termes impliqués dans la séquence d’opérations sont considérés comme présents dans la pile. Pour taper le programme, vous ouvrez d’abord les conteneurs du programme à l’aide de ‚å. La séquence des opérations à effectuer est ensuite saisie. Une fois toutes les opérations entrées, appuyez sur ` pour terminer le programme. S’il s’agit d’un programme utilisé une seule fois, vous pouvez à ce stade appuyer sur µ pour exécuter le programme en utilisant les données d’entrée disponibles. S’il doit s’agir d’un programme permanent, il doit être stocké dans le nom d’une variable. Le meilleur moyen de décrire ce type de programme consiste à utiliser un exemple : Exemple : Hauteur dynamique pour un canal rectangulaire. Supposons que nous souhaitions calculer la hauteur dynamique, hv, dans un canal rectangulaire de largeur b, la profondeur du flux étant y, et comportant Page 21-17 une décharge Q. L’énergie spécifique est calculée ainsi, hv = Q2/(2g(by)2), où g correspond à l’accélération de gravité (g = 9.806 m/s2 en unités S.I. ou g = 32.2 ft/s2 en unités E.S.). Si l’on devait calculer hv pour Q = 23 cfs (pieds cube par seconde = ft3/s), b = 3 ft, et y = 2 ft, on pourrait utiliser : hv = 232/(2⋅32.2⋅ (3⋅2)2). En utilisant la calculatrice en mode RPN de manière interactive, on peut calculer cette quantité comme suit : 2`3*„º32.2* 2*23„º™/ Cela donne le résultat : 0.228174, ou hv = 0.228174. Pour décrire ce calcul en tant que programme, il faut disposer des données d’entrée (Q, g, b, y) dans la pile dans l’ordre dans lequel elles seront utilisées dans le calcul. En termes des variables Q, g, b et y, le calcul ainsi effectué est rédigé comme suit (ne tapez pas ces informations) : y ` b *„º g *2* Q „º™/ Comme vous le constatez, y est utilisé en premier, suivi de b, g et Q, dans cet ordre. Par conséquent, pour effectuer ce calcul, nous devons entrer les variables dans l’ordre inverse, c’est-à-dire (ne tapez pas ces données) : Q ` g `b `y ` Pour les valeurs spécifiques considérées, nous utiliserons : 23 ` 32.2 ` 3 `2 ` Le programme lui-même contiendra uniquement les saisies de clavier (ou commandes) résultant de la suppression des valeurs d’entrée du calcul interactif présenté auparavant, c’est-à-dire de la suppression de Q, g, b et y de (ne tapez pas ces données) : y ` b *„º g *2* Q „º™/ Page 21-18 et en conservant uniquement les opérations présentées ci-dessous (ne tapez pas ces données) : ` *„ *2* „º™/ Note : lorsque vous entrez le programme, n’utilisez pas la touche ™, mais plutôt la séquence de touches : „°@)STACK @SWAP@. Contrairement à l’utilisation interactive de la calculatrice présentée plus tôt, nous devons procéder à un échange des niveaux de pile 1 et 2 au sein du programme. Pour rédiger le programme, nous utiliserons par conséquent : ‚å * „º * Ouvre les symboles du programme Multipliez y par b Elevez au carré (b⋅y) Multipliez (b⋅y)2 fois g 2* „°@)STACK @SWAP@ „º „°@)STACK @SWAP@ / ` Entrez un 2 et multipliez-le par g⋅ (b⋅y)2 Echangez Q et 2⋅g⋅ (b⋅y)2 Elevez Q au carré Echangez 2⋅g⋅ (b⋅y)2 et Q2 Divisez Q2 par 2⋅g⋅ (b⋅y)2 Entrez le programme Le programme ainsi obtenu se présente comme suit : « * SQ * 2 * SWAP SQ SWAP / » Note : SQ est la fonction résultant de la séquence de touches „º. Effectuez une copie supplémentaire du programme et conservez-la dans une variable appelée hv: ³~„h~„v K Page 21-19 Une nouvelle variable @@@hv@@@ devrait être disponible dans votre menu de touches (appuyez sur J pour afficher votre liste de variables). Le programme restant dans la pile peut être évalué à l’aide de la fonction EVAL. Le résultat doit être 0.228174…, comme précédemment. De même, le programme est disponible pour une utilisation future dans la variable @@@hv@@@. Par exemple, pour Q = 0.5 m3/s, g = 9.806 m/s2, b = 1.5 m, et y = 0.5 m, utilisez : 0.5 # 9.806 #1.5 # 0.5 @@@hv@@@ Note : #est utilisé ici comme alternative à ` pour la saisie de données d’entrée. Le résultat est maintenant 2.26618623518E-2, c’est-à-dire : hv = 2.26618623518×10-2 m. Note : dans la mesure où l’équation programmée dans @@@hv@@@ est cohérente sur le plan des dimensions, on peut l’utiliser dans l’entrée. Comme indiqué précédemment, les deux types de programmes présentés dans cette section sont des programmes séquentiels, dans le sens où le flux des programmes suit un chemin unique, c’est-à-dire : INPUT OPERATION OUTPUT. On peut introduire des embranchements dans le flux du programme à l’aide des commandes du menu „°@)@BRCH@ . Vous trouverez ci-dessous de plus amples détails en ce qui concerne les embranchements des programmes. Entrée interactive dans les programmes Dans les exemples de programmes séquentiels présentés dans la section précédente, l’ordre dans lequel les variables doivent être placées dans la pile avant l’exécution du programme n’est pas toujours clair pour l’utilisateur. Dans le cas du programme @@@q@@@, rédigé ainsi « → Cu n y0 S0 ‘Cu/n*y0^(5/3)*√S0’ », Page 21-20 il est toujours possible de rappeler la définition du programme dans la pile (‚@@@q@@@) pour afficher l’ordre dans lequel les variables doivent être saisies, à savoir → Cu n y0 S0. Toutefois, dans le cas du programme @@hv@@, sa définition « * SQ * 2 * SWAP SQ SWAP / » ne fournit pas d’indication quant à l’ordre dans lequel les données doivent être entrées, sauf, bien sûr, si vous disposez d’une grande expérience du RPN et du langage RPL Utilisateur. Pour vérifier le résultat du programme sous forme de formule, il faut entrer des variables symboliques au lieu des résultats numériques dans la pile et laisser le programme opérer sur ces variables. Pour que cette démarche soit efficace, le CAS (système algébrique de la calculatrice) doit être réglé sur les modes symbolic et exact. Pour ce faire, utilisez H@)CAS@, et assurez-vous que les options _Numeric et _Approx ne sont plus cochées. Appuyez sur @@OK@@ @@OK@ pour revenir à l’affichage normal de la calculatrice. Appuyez sur J pour afficher le menu de vos variables. Nous utiliserons cette dernière démarche pour vérifier que la formule résulte de l’utilisation du programme @@hv@@ comme suit : nous savons qu’il y a quatre entrées dans le programme; par conséquent, nous utilisons les variables symboliques S4, S3, S2, et S1 pour indiquer les niveaux de la pile en entrée : ~s4` ~s3` ~s2` ~s1` Appuyez ensuite sur @@hv@@. La formule ainsi obtenue peut se présenter comme suit : ‘SQ(S4)/(S3*SQ(S2*S1)*2)’, si votre affichage n’est pas réglé sur le style textbook, ou comme suit : SQ( S 4) S 3 ⋅ SQ( S 2 ⋅ S1) ⋅ 2 Page 21-21 si le style textbook est sélectionné. Dans la mesure où nous savons que la fonction SQ( ) correspond à x2, nous interprétons ce dernier résultat comme suit : S 42 , 2 ⋅ S 3 ⋅ ( S 2 ⋅ S1) 2 ce qui indique l’emplacement des différents niveaux d’entrée de la pile dans la formule. En comparant ce résultat à la formule d’origine que nous avons programmée, c’est-à-dire : hv = Q2 , 2 g (by ) 2 nous constatons que nous devons entrer y dans le niveau de pile 1 (S1), b dans le niveau de pile 2 (S2), g dans le niveau de pile 3 (S3) et Q dans le niveau de pile 4 (S4). Invite avec chaîne d’entrée Ces deux démarches pour identifier l’ordre des données d’entrée ne sont pas très efficaces. Vous pouvez cependant aider l’utilisateur à identifier les variables à utiliser en lui présentant une invite contenant le nom des variables. Parmi les différentes méthodes fournies par le langage RPL Utilisateur, la plus simple consiste à utiliser une chaîne d’entrée et la fonction INPUT („°L@)@@IN@@ @INPUT@) pour charger vos données d’entrée. Le programme suivant invite l’utilisateur à indiquer la valeur d’une variable a et place l’entrée dans le niveau de pile 1 : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ » Ce programme contient le symbole :: (étiquette) et (retour), disponible via les combinaisons de touches „êet ‚ë, toutes deux associées à la touche . . Le symbole de l’étiquette (::) est utilisé pour étiqueter les chaînes pour l’entrée et la sortie. Le symbole de retour () équivaut à un retour chariot Page 21-22 sur un ordinateur. Les chaînes entre guillemets (“ “) sont tapées directement à partir du clavier alphanumérique. Enregistrez le programme dans une variable appelée INPTa (pour INPuT a). Essayez d’exécuter le programme en appuyant sur la touche de menu étiquetée @INPTa. Le résultat est une pile qui invite l’utilisateur à entrer la valeur de a et qui place le curseur devant l’invite :a: Entrez une valeur pour a, disons 35, puis appuyez sur `. Le résultat ainsi obtenu est la chaîne d’entrée : a :35 dans le niveau 1 de la pile. Fonction avec chaîne d’entrée Si vous deviez utiliser cette chaîne de code pour calculer la fonction, f(a) = 2*a^2+3, vous pourriez modifier le programme pour qu’il se présente comme suit : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ → a « ‘2*a^2+3‘ » » Enregistrez ce nouveau programme sous le nom ‘FUNCa’ (FUNCtion de a) : Exécutez le programme en appuyant sur @FUNCa. Lorsque vous êtes invité à entrer la valeur de a, entrez par exemple 2, puis appuyez sur `. Le résultat est simplement la fonction algébrique 2a2+3, soit un résultat incorrect. La calculatrice fournit des fonctions permettant de déboguer les programmes afin d’identifier les erreurs logiques pendant l’exécution du programme comme indiqué ci-dessous. Page 21-23 Débogage du programme Pour comprendre pourquoi le programme n’a pas fonctionné, nous utiliserons la fonction DBUG de la calculatrice comme suit : ³@FUNCa ` „°LL @)@RUN@ @@DBG@ @SST↓@ @SST↓@ @SST↓@ 2` @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ Copie le nom du programme dans le niveau 1 de la pile Lance le débogueur Débogage pas à pas, Résultat : “Enter a:” Résultat : {“ a:” {2 0} V} Résultat : l’utilisateur est invité à entrer la valeur de a Entrez une valeur de 2 pour a. Résultat : “:a:2” Résultat : a:2 Résultat : pile vide, exécution de →a Résultat : pile vide, entrée dans le sousprogramme « Résultat : ‘2*a^2+3’ Résultat : ‘2*a^2+3’ , quitte le sous programme » Résultat : ‘2*a^2+3’, quitte le programme principal» De nouvelles pressions sur la touche de menu @SST↓@ ne produisent plus aucune sortie dans la mesure où vous avez fait défiler tout le programme, pas à pas. Ce passage en revue par le débogueur n’a fourni aucune information quant à la raison pour laquelle le programme ne calcule pas la valeur de 2a2+3 pour a = 2. Pour connaître la valeur de a dans le sous-programme, il faut exécuter de nouveau le débogueur et évaluer a au sein du sous-programme. Essayez les commandes suivantes : J ³@FUNCa ` „°LL @)@RUN@ @@DBG@ Récupère le menu de variables Copie le nom du programme dans le niveau 1 de la pile Lance le débogueur Page 21-24 @SST↓@ @SST↓@ @SST↓@ 2` @SST↓@ @SST↓@ @SST↓@ Débogage pas à pas, Résultat : “Enter a:” Résultat : {“ a:” {2 0} V} Résultat : l’utilisateur est invité à entrer la valeur de a Entrez une valeur de 2 pour a. Résultat : “:a:2” Résultat : a:2 Résultat : pile vide, exécution de →a Résultat : pile vide, entrée dans le sousprogramme « A ce stade, vous êtes dans le sous-programme « ‘2*a^2+3’ », lequel utilise la variable locale a. Pour voir la valeur de a, utilisez la commande : ~„aµ Cela indique en effet que la variable locale a=2 Vous pouvez maintenant arrêter le débogueur, puisque vous connaissez déjà le résultat que vous obtiendrez. Pour arrêter le débogueur, appuyez sur @KILL. Vous obtenez le message <!> Interrupted qui indique que le débogueur a été arrêté. Appuyez sur $ pour revenir à l’affichage normal de la calculatrice. Note : En mode débogage, chaque fois que vous appuyez sur @SST↓@ l’angle supérieur gauche de l’écran indique l’étape du programme en cours d’exécution. Une fonction de touche appelée @@SST@ est également disponible dans le sous-menu @)RUN du menu PRG. Elle peut permettre d’exécuter immédiatement tout sous-programme appelé à partir d’un programme principal. Nous présenterons ultérieurement des exemples de l’application de @@SST@ . Correction du programme La seule explication possible à l’incapacité du programme à produire un résultat numérique semble être l’absence de la commande NUM après l’expression algébrique ‘2*a^2+3’. Modifiez le programme en ajoutant la Page 21-25 fonction EVAL manquante. Après modification, le programme doit se présenter comme suit : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ → a « ‘2*a^2+3‘ NUM » » Stockez-le, de nouveau dans la variable FUNCa, puis exécutez une nouvelle fois le programme avec a = 2. Cette fois, le résultat est 11, à savoir : 2*22+3 = 11. Chaîne d’entrée pour deux ou trois valeurs d’entrée Dans cette section, vous créerez un sous-répertoire au sein du répertoire HOME, afin d’accueillir des exemples de chaînes d’entrée pour une, deux et trois valeurs de données d’entrée. Il s’agira de chaînes d’entrée génériques qui pourront être incluses à tout futur programme, en veillant à modifier le nom des variables en fonction des besoins de chaque programme. Commençons par créer un sous-répertoire appelé PTRICKS (Programming TRICKS) qui contiendra les indications de programmation que nous pourrons par la suite emprunter afin de les utiliser dans des exercices de programmation plus complexes. Pour créer le sous-répertoire, assurez-vous d’abord que vous passez dans le répertoire HOME. Dans ce répertoire HOME, utilisez les touches suivantes pour créer le sous-répertoire PTRICKS : ³~~ptricks` „°@)@MEM@@ @)@DIR@@ @CRDIR J Entrez le nom de répertoire ‘PTRICKS’ Créez le répertoire Récupérez la liste des variables Un programme peut comporter plus de 3 valeurs de données d’entrée. Lorsque vous utilisez des chaînes d’entrée, il faut limiter le nombre de valeurs de données d’entrée à 5, pour une raison simple : d’une manière générale, seuls 7 niveaux de la pile sont visibles. Si l’on utilise le niveau 7 pour donner un titre à la chaîne d’entrée et qu’on laisse le niveau 6 vide pour faciliter la lecture de l’écran, on dispose seulement des niveaux 1 à 5 pour définir les variables d’entrée. Page 21-26 Programme de chaîne d’entrée pour deux valeurs d’entrée Le programme de chaîne d’entrée pour deux valeurs d’entrée, disons a et b, se présente comme suit : « “Enter a and b: “ {“:a::b: “ {2 0} V } INPUT OBJ→ » Ce programme peut facilement être créé par la modification du contenu de INPTa. Stockez ce programme dans la variable INPT2. Application : évaluation de la fonction de deux variables Considérons l'équation des gaz parfaits, pV = nRT, où p = pression du gaz (Pa), V = volume du gaz(m3), n = nombre de moles (gmol), R = constante de gaz universelle = 8.31451_J/(gmol*K), et T = température absolue (K). On peut définir la pression p en tant que fonction de deux variables, V et T, comme p(V,T) = nRT/V pour une masse de gaz donnée dans la mesure où n restera également constant. Supposons que n = 0.2 gmol, la fonction à programmer est alors la suivante : p (V , T ) = 8.31451 ⋅ 0.2 ⋅ T J T = (1.662902 _ ) ⋅ V K V On peut définir cette fonction en tapant le programme suivant « → V T ‘(1.662902_J/K)*(T/V)’ » et la stocker dans la variable @@@p@@@. L’étape suivante consiste à ajouter la chaîne d’entrée qui invitera l’utilisateur à indiquer les valeurs de V et T. Pour créer cette chaîne d’entrée, modifiez le programme dans @@@p@@@ afin qu’il se présente ainsi : “Enter V and T: “ {“ :V: :T: “ {2 0} V } INPUT OBJ→ → V T ‘(1.662902_J/K)*(T/V)’ » « Stockez le nouveau programme dans la variable @@@p@@@. Appuyez sur @@@p@@@ pour exécuter le programme. Entrez les valeurs de V = 0.01_m^3 et T = 300_K Page 21-27 dans la chaîne d’entrée, puis appuyez sur `. Le résultat ainsi obtenu est 49887.06_J/m^3. Les unités de J/m^3 sont équivalentes à des Pascals (Pa), l’unité de pression de prédilection du système S.I. Note : dans la mesure où nous avons délibérément inclus les unités dans la définition de la fonction, les valeurs d’entrée doivent avoir des unités jointes en entrée pour produire le résultat approprié. Programme de chaîne d’entrée pour trois valeurs d’entrée Le programme de chaîne d’entrée pour trois valeurs d’entrée, disons a ,b, et c, se présente comme suit : « “Enter a, b and c: “ {“ :a: :b: :c: “ {2 0} V } INPUT OBJ→ » Il est facile de créer ce programme en modifiant le contenu de INPT2 pour qu’il se présente comme indiqué ci-dessus. Le programme ainsi produit peut alors être stocké dans une variable appelée INPT3. Ce programme permet de compléter l’ensemble de programmes de chaînes d’entrée qui vous permettront d’entrer une, deux ou trois valeurs d’entrée. Conservez ces programmes à titre de référence, puis copiez-les et modifiez-les pour répondre aux besoins des nouveaux programmes que vous rédigerez. Application : évaluation d’une fonction à trois variables Supposons que vous souhaitiez programmer la loi de gaz idéale, en incluant le nombre de moles, n, comme variable supplémentaire, c’est-à-dire qu’il s’agit de définir la fonction : p (V , T , n) = (8.31451 _ J n ⋅T ) , K V et de la modifier pour inclure la chaîne d’entrée de trois variables. La procédure permettant d’assembler cette fonction est très similaire à celle qui a été utilisée précédemment pour définir la fonction p(V,T). Le programme ainsi obtenu se présente comme suit : “Enter V, T, and n:“ {“ :V: :T: :n:“ {2 0} V } INPUT OBJ→ → V T n ‘(8.31451_J/(K*mol))*(n*T/V) ‘ » « Page 21-28 Stockez ce résultat dans la variable @@@p@@@.Pour exécuter le programme, appuyez sur @@@p@@@. Entrez les valeurs de V = 0.01_m^3, T = 300_K, et n = 0.8_mol. Avant d’appuyer sur `, la pile se présente comme suit : Appuyez sur ` pour obtenir 199548.24_Pa = 199.55 kPa. le résultat 199548.24_J/m^3, ou Entrée via des formulaires d’entrée La fonction INFORM („°L@)@@IN@@ @INFOR@.) peut être utilisée pour créer des formulaires d’entrée détaillés pour un programme. La fonction INFORM requiert cinq arguments, dans l’ordre suivant : 1. Un titre : une chaîne de caractères décrivant le formulaire d’entrée 2. La définition des champs : une liste contenant une ou plusieurs définitions de champ {s1 s2 … sn}, où chaque définition de champ, si, peut présenter l’un des deux formats suivants : a. Une étiquette de champ simple : une chaîne de caractères b. Une liste de spécifications du formulaire {“label” “helpInfo” type0 type1 … typen}. “label” correspond à une étiquette de champ. “helpInfo” est une chaîne de caractères décrivant en détails l’étiquette du champ et les spécifications de type correspondent à une liste de types de variables admis pour le champ (voir le détail des types d’objet au Chapitre 24). 3. Des informations sur le format du champ : un seul numéro col ou une liste {col tabs}. Dans cette spécification, col est le nombre de colonnes de la case d’entrée et tabs (facultatif) spécifie le nombre d’arrêts de Page 21-29 tabulation entre les étiquettes et les champs du formulaire. La liste peut être vide. Les valeurs par défaut sont col = 1 et tabs = 3. 4. La liste des valeurs de réinitialisation : un liste contenant les valeurs permettant de réinitialiser les différents champs si l’option @RESET est sélectionnée pendant l’utilisation du formulaire d’entrée. 5. La liste des valeurs initiales : une liste contenant les valeurs initiales des champs. Les listes des éléments 4 et 5 peuvent être vides. De même, si aucune valeur ne peut être sélectionnée pour ces options, vous pouvez utiliser la commande NOVAL („°L@)@@IN@@ @NOVAL@). Une fois la fonction INFORM activée, vous obtiendrez comme résultat soit un zéro, au cas où l’option @CANCEL serait entrée, soit une liste contenant les valeurs entrées dans les champs dans l’ordre spécifié et le numéro 1, c’est-àdire, dans la pile RPN : 2: 1: {v1 v2 … vn} 1 Ainsi, si la valeur du niveau 1 de la pile est zéro, aucune entrée n’a été effectuée, alors que si cette valeur est 1, les valeurs d’entrée sont disponibles au niveau 2 de la pile. Example 1 - A titre d’exemple, considérons le programme suivant, INFP1 (INput Form Program 1) pour calculer la décharge Q dans un canal ouvert par la formule de Chezy : Q = C⋅(R⋅S)1/2, où C est le coefficient de Chezy, une fonction de la rugosité de la surface du canal (valeurs type 80-150), R étant le rayon hydraulique du canal (une longueur) et S correspondant à la pente du lit du canal (des nombres sans dimensions, habituellement 0.01 à 0.000001). Le programme suivant définit un formulaire d’entrée via la fonction INFORM : « “ CHEZY’S EQN” { { “C:” “Chezy’s coefficient” 0} { “R:” “Hydraulic radius” 0 } { “S:” “Channel bed slope” 0} } { } { 120 1 .0001} { 110 1.5 .00001 } INFORM » Page 21-30 Dans ce programme, on peut identifier les 5 composants de l’entrée comme suit : 1. Titre : “ CHEZY’S EQN” 2. Définitions des champs : il en existe trois, étiquetés “C:”, “R:”, “S:”, les chaînes d’information “Coefficient de Chezy”, “Rayon hydraulique”, “Pente du lit du canal”, et acceptant uniquement des données de type 0 - nombres réels pour les trois champs : { { “C:” “Chezy’s coefficient” 0} { “R:” “Hydraulic radius” 0 } { “S:” “Channel bed slope” 0} } 3. Informations sur le format des champs : { } (une liste vide, par conséquent, les valeurs par défaut sont utilisées) 4. Liste des valeurs de réinitialisation : { 120 1 .0001} 5. Liste des valeurs initiales : { 110 1.5 .00001} Enregistrez le programme dans la variable INFP1. Appuyez sur @INFP1 pour exécuter le programme. Le formulaire d’entrée, avec valeurs initiales chargées, se présente comme suit : Pour voir les effets de la réinitialisation de ces valeurs, utilisez L @RESET (sélectionnez Reset all pour réinitialiser les valeurs des champs) : Page 21-31 Entrez maintenant des valeurs différentes pour les trois champs, disons C = 95, R = 2.5, et S = 0.003, en appuyant sur @@@OK@@@ après avoir entré chacune de ces nouvelles valeurs. Après ces substitutions, le formulaire d’entrée se présentera comme suit : Maintenant, pour entrer ces valeurs dans le programme, appuyez une fois de plus sur @@@OK@@@. Cela active la fonction INFORM et produit le résultat suivant dans la pile : Ainsi, nous avons démontré l’utilisation de la fonction INFORM. Pour voir comment utiliser ces valeurs d’entrée dans un calcul, modifiez le programme comme suit : « “ CHEZY’S EQN” { { “C:” “Chezy’s coefficient” 0} { “R:” “Hydraulic radius” 0 } { “S:” “Channel bed slope” 0} } { } { 120 1 .0001} { 110 1.5 .00001 } INFORM IF THEN OBJ DROP C R S ‘C*(R*S)’ NUM “Q” TAG ELSE “Operation cancelled” MSGBOX END » Les étapes du programme présentées ci-dessus après la commande INFORM comprennent un embranchement de décision qui utilise la construction IFTHEN-ELSE-END (décrite en détails par ailleurs dans ce chapitre). Le contrôle du programme peut être envoyé vers l’une de deux possibilités selon la valeur figurant au niveau 1 de la pile. Si cette valeur est 1, le contrôle est transmis aux commandes : OBJ DROP C R S ‘C*√(R*S)’ NUM “Q” TAG Page 21-32 Ces commandes calculent la valeur de Q et placent une étiquette (ou label) dessus. D’autre part, si la valeur du niveau 1 de la pile est 0 (ce qui se produit lorsque vous entrez @CANCEL pendant que vous utilisez la case d’entrée), le contrôle du programme est transmis aux commandes : “Operation cancelled” MSGBOX Ces commandes produisent une boîte de message indiquant que l’opération a été annulée. Note : la fonction MSGBOX appartient à l’ensemble des fonctions de sortie dans le sous-menu PRG/OUT. Les commandes IF, THEN, ELSE, END sont disponibles dans le sous-menu PRG/BRCH/IF. Les fonctions OBJ, TAG sont disponibles dans le sous-menu PRG/TYPE. La fonction DROP est disponible dans le menu PRG/STACK. Les fonctions et NUM sont disponibles par le clavier. Exemple 2 – Pour illustrer l’utilisation de l’élément 3 (informations sur le format du champ) dans les arguments de la fonction INFORM, modifiez la liste vide utilisée dans le programme INFP1 en la remplaçant par { 2 1 }, ce qui signifie 2 colonnes au lieu de 3 qui est la valeur par défaut, et un seul arrêt de tabulation entre les étiquettes et les valeurs. Stockez ce nouveau programme dans la variable INFP2 : « “ CHEZY’S EQN” { { “C:” “Chezy’s coefficient” 0} { “R:” “Hydraulic radius” 0 } { “S:” “Channel bed slope” 0} } { 2 1 } { 120 1 .0001} { 110 1.5 .00001 } INFORM IF THEN OBJ DROP C R S ‘C*(R*S)’ NUM “Q” TAG ELSE “Operation cancelled” MSGBOX END » L’exécution du programme @INFP2 produit le formulaire d’entrée suivant : Page 21-33 Exemple 3 : Modifiez le format du champ de la liste d’informations en le remplaçant par { 3 0 } et enregistrez le programme modifié dans la variable INFP3. Exécutez ce programme pour afficher le nouveau formulaire d’entrée : Création d’une CHOOSE boxes La fonction CHOOSE („°L@)@@IN@@ @CHOOS@) permet à l’utilisateur de créer une CHOOSE box dans un programme. Cette fonction requiert trois arguments : 1. Une invite (une chaîne de caractères décrivant la CHOOSE box) 2. Une liste des définitions de choix {c1 c2 … cn}. Une définition de choix ci peut présenter l’un des deux formats suivants : a. Un objet (par exemple nombre, caractère algébrique, etc.) qui sera affiché dans la fenêtre de sélection et sera également le résultat de ce choix. b. Une liste {objet_affiché objet_résultat} de sorte que objet_affiché est répertorié dans la CHOOSE box alors que objet_résultat est sélectionné comme résultat si ce choix est sélectionné. 3. Un nombre indiquant l’emplacement du choix par défaut dans la liste des définitions de choix. Si ce nombre est 0, aucun choix par défaut n’est mis en surbrillance. L’activation de la fonction CHOOSE retourne soit un zéro, si une action @CANCEL est utilisée, soit, si un choix est fait, le choix sélectionné (par exemple, v) et le numéro 1, c’est-à-dire, dans la pile RPN : 2: v 1: 1 Page 21-34 Exemple 1 – l’équation de Manning permettant de calculer la hauteur dynamique dans un flux de canal ouvert comprend un coefficient, Cu, lequel dépend du système d’unités utilisées. Si vous utilisez le S.I. (Système International), Cu = 1.0, alors que si vous utilisez le E.S. (Système Britannique), Cu = 1.486. Le programme suivant utilise une CHOOSE box pour permettre à l’utilisateur de sélectionner la valeur de Cu en sélectionnant le système d’unités. Enregistrez-le dans la variable CHP1 (CHoose Program 1) : « “Units coefficient” { { “S.I. units” 1} { “E.S. units” 1.486} } 1 CHOOSE » L’exécution de ce programme (appuyez sur @CHP1) affiche la CHOOSE box suivante : Selon si vous choisissez des S.I. units ou E.S. units, la fonction CHOOSE des endroits une valeur de 1 ou une valeur de 1.486 dans le niveau 2 et un 1 de pile dans le niveau 1. Si vous annulez la CHOOSE box, CHOICE retourne un zéro (0). Les valeurs retournées par la fonction CHOOSE peuvent être influencées par d’autres commandes du programme, comme indiqué dans le programme modifié CHP2 : « “Units coefficient” {{“S.I. units” 1} {“E.S. units” 1.486}} 1 CHOOSE IF THEN “Cu” TAG ELSE “Operation cancelled” MSGBOX END » Les commandes suivant la fonction CHOOSE dans ce nouveau programme indiquent une décision fondée sur la valeur du niveau 1 de la pile selon la construction IF-THEN-ELSE-END. Si la valeur du niveau 1 de la pile est 1 les commandes “Cu” TAG produiront un résultat étiqueté à l’écran. Si la valeur du niveau 1 de la pile est zéro, les commandes “Operation Page 21-35 cancelled” MSGBOX afficheront une boîte de message indiquant que l’opération a été annulée. Identification de la sortie dans les programmes Le moyen le plus simple d’identifier la sortie des programmes numériques consiste à “étiqueter” les résultats du programme. Une étiquette est simplement une chaîne attachée à un nombre ou à tout autre objet. Cette chaîne correspond au nom associé à l’objet. Par exemple, nous avons vu précédemment que lors du débogage des programmes INPTa (ou INPT1) et INPT2, on obtenait comme résultats une sortie numérique étiquetée telle que :a:35. Etiquetage d’un résultat numérique Pour étiqueter un résultat numérique, vous devez placer le nombre dans le niveau 2 de la pile, puis utiliser la fonction →TAG („ ° @)TYPE@ @ TAG) Par exemple, pour produire le résultat étiqueté B:5., utilisez : 5`‚Õ~b„ ° @)TYPE@ @ TAG Décomposition d’un résultat numérique étiqueté en un nombre et une étiquette Pour décomposer un résultat étiqueté en sa valeur numérique et son étiquette, il suffit d’utiliser la fonction OBJ („°@)TYPE@ @OBJ @). La décomposition d’un nombre étiqueté à l’aide de →OBJ aboutit au placement de la valeur numérique au niveau 2 de la pile et de l’étiquette au niveau 1 de la pile. Si vous souhaitez utiliser uniquement la valeur numérique, vous pouvez supprimer l’étiquette à l’aide de la touche de retour ƒ. Par exemple, la décomposition de la quantité étiquetée B:5 (voir ci-dessus), produit : Page 21-36 “Désétiquetage” d’une quantité étiquetée Le “désétiquetage” consiste à extraire l’objet d’une quantité étiquetée. Cette fonction est accessible via la combinaison de touches suivante : „ ° @)TYPE@ L @DTAG. Par exemple, étant donnée la quantité étiquetée a:2, DTAG retourne la valeur numérique 2. Note : avant d’effectuer des opérations mathématiques sur des quantités étiquetées, la calculatrice “désétiquette” automatiquement ces quantités. Par exemple, la figure de gauche représente deux quantités étiquetées avant et après que l’utilisateur appuie sur la touche * en mode RPN : Exemples de sortie étiquetée Exemple 1 : étiquetage de la sortie de la fonction FUNCa Modifions la fonction FUNCa, définie précédemment, pour produire une sortie étiquetée. Utilisez ‚ @FUNCa pour rappeler le contenu de FUNCa dans la pile : Le programme de la fonction d’origine se présente comme suit : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ → a « ‘2*a^2+3‘ NUM » » Modifiez-le pour qu’il se présente ainsi : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ → a « ‘2*a^2+3‘ NUM ”F” →TAG » » Stockez de nouveau le programme dans FUNCa en utilisant „ @FUNCa. Exécutez ensuite le programme en appuyant sur @FUNCa. Entrez une valeur de 2 à l’invite, puis appuyez sur `. Le résultat est maintenant le résultat étiqueté F:11. Exemple 2 : étiquetage de l’entrée et de la sortie de la fonction FUNCa Page 21-37 Dans cet exemple, nous modifions le programme FUNCa afin que la sortie comprenne non seulement la fonction évaluée, mais aussi une copie de l’entrée accompagnée d’une étiquette. Utilisez ‚ @FUNCa pour rappeler le contenu de FUNCa dans la pile : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ → a ‘2*a^2+3‘ NUM ”F” →TAG » » « Modifiez-le pour qu’il se présente ainsi : « “Enter a: “ {“:a: “ {2 0} V } INPUT OBJ→ → a ‘2*a^2+3‘ EVAL ”F” →TAG a SWAP» » « (N’oubliez pas que la fonction SWAP est disponible via „°@)STACK @SWAP@). Stockez de nouveau le programme dans FUNCa en utilisant „ @FUNCa. Exécutez ensuite le programme en appuyant sur @FUNCa . Entrez une valeur de 2 à l’invite, puis appuyez sur `. Le résultat est maintenant deux nombres étiquetés a:2. dans le niveau 2 de la pile, et F:11. dans le niveau 1 de la pile. Note : dans la mesure où l’on utilise une chaîne d’entrée pour obtenir la valeur des données d’entrée, la variable locale a stocke une valeur étiquetée ( :a:2, dans l’exemple ci-dessus). Par conséquent, il n’est pas nécessaire de l’étiqueter dans l’entrée. Il suffit de placer un a avant la fonction SWAP dans le sous-programme ci-dessus et l’entrée étiquetée est placée dans la pile. Il convient de souligner que, lors du calcul de la fonction, l’étiquette de l’entrée a est automatiquement abandonnée et que seule sa valeur numérique est utilisée dans le calcul. Pour afficher l’opération de la fonction FUNCa, pas à pas, vous pouvez utiliser la fonction DBUG comme suit : ³ @FUNCa ` „°LL @)@RUN@ @@DBG@ @SST↓@ @SST↓@ Copie le nom du programme au niveau 1 de la pile Lance le débogueur Débogage pas à pas, Résultat : “Enter a:” Résultat : {“ a:” {2 0} V} Page 21-38 @SST↓@ 2` @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ Résultat : l’utilisateur est invité à entrer la valeur de a Entrez une valeur de 2 pour a. Résultat : “:a:2” Résultat : a:2 Résultat : pile vide, exécution de →a Résultat : pile vide, entrée dans le sousprogramme « Résultat : ‘2*a^2+3’ Résultat : pile vide, calcul en cours Résultat : 11., Résultat : “F” Résultat : F: 11. Résultat : a:2. Résultat : inversion des niveaux 1 et 2 quitte le sous-programme » quitte le programme principal » Exemple 3 : étiquetage de l’entrée et de la sortie de la fonction p(V,T) Dans cet exemple, nous modifions le programme @@@p@@@ afin que la sortie et l’entrée soient étiquetées ainsi que le résultat. Utilisez ‚@@@p@@@ pour rappeler le contenu du programme dans la pile : “Enter V, T, and n:“ {“ :V: :T: :n:“ {2 0} V } INPUT OBJ→ → V T n ‘(8.31451_J/(K*mol))*(n*T/V)‘ » « Modifiez-le pour qu’il se présente ainsi : « “Enter V, T and n: “ {“ :V: :T: :n:“ {2 0} V } INPUT OBJ→ → V T n « V T n ‘(8.31451_J/(K*mol))*(n*T/V)‘ EVAL “p” →TAG » » Note: remarquez que nous avons placé le calcul et l’étiquetage de fonction p(V,T,n), précédés d’un rappel des variables d’entrée V T n, dans sous-programme [la séquence d’instructions figurant dans la série intérieure symboles du programme « »]. C’est nécessaire car sans le symbole la un de du Page 21-39 programme séparant les deux listes de variables d’entrée (V T N n), le programme considérerait que les variables d’entrée « V T →V T N V T n requièrent six valeurs d’entrée alors que trois seulement sont disponibles. Cela aurait généré un message d’erreur et entraîné l’interruption de l’exécution du programme. Pour inclure le sous-programme mentionné ci-dessus dans la définition modifiée du programme @@@p@@@, il faut utiliser ‚å au début et à la fin du sous-programme. Dans la mesure où les symboles de programmes se présentent par paires, chaque fois que ‚å est appelé, vous devez supprimer le symbole de fermeture du programme (») au début et le symbole d’ouverture du programme («) à la fin du sous-programme. Pour supprimer tout caractère lors de la modification du programme, placez le curseur à droite du caractère à supprimer et utilisez la touche de retour arrière ƒ. Stockez de nouveau le programme dans la variable p en utilisant „@@@p@@@. Exécutez ensuite le programme en appuyant sur @@@p@@@. Entrez les valeurs V = 0.01_m^3, T = 300_K, et n = 0.8_mol, lorsque vous y êtes invité. Avant d’appuyer sur ` pour entrer les valeurs, la pile se présente ainsi : Après l’exécution du programme, la pile se présente ainsi : Page 21-40 En résumé : l’élément commun aux trois exemples présentés ici est l’utilisation d’étiquettes pour identifier les variables d’entrée et de sortie. Si l’on utilise une chaîne d’entrée pour obtenir les valeurs d’entrée, ces valeurs sont déjà pré-étiquetées et il est facile de les rappeler dans la pile pour une sortie. L’utilisation de la commande →TAG vous permet d’identifier la sortie du programme. Utilisation d’une boîte de message La boîte de message constitue une solution plus élégante pour présenter la sortie d’un programme. La commande de boîte de message dans la calculatrice est obtenue par „°L@)@OUT@ @MSGBO@. La commande de boîte de message requiert que la chaîne de sortie à placer dans la zone soit disponible au niveau 1 de la pile. Pour visualiser l’opération de la commande MSGBOX, essayez l’exercice suivant : ‚Õ~‚t~„ê1.2 ‚Ý ~„r~„a~„d „°L@)@OUT@ @MSGBO@ Le résultat obtenu est la boîte de message suivante : Appuyez sur @@@OK@@@ pour annuler la boîte de message. Vous pouvez utiliser une boîte de message pour la sortie d’un programme via une sortie étiquetée convertie en chaîne, en tant que chaîne de sortie pour MSGBOX. Pour convertir en chaîne un résultat étiqueté ou toute valeur Page 21-41 algébrique ou non étiquetée, utilisez la fonction →STR disponible en „°@)TYPE@ @ STR. Utilisation d’une boîte de message pour la sortie d’un programme La fonction @@@p@@@ , du dernier exemple, peut être modifiée pour se présenter ainsi : “Enter V, T and n: “ {“ :V: :T: :n: “ {2 0} V } INPUT OBJ→ → V T n « V T n ‘(8.31451_J/(K*mol))* (n*T/V)‘ EVAL “p” →TAG →STR MSGBOX » » « Stockez de nouveau le programme dans la variable p en utilisant „@@@p@@@. Exécutez le programme en appuyant sur @@@p@@@. Entrez les valeurs V = 0.01_m^3, T = 300_K, et n = 0.8_mol, lorsque vous y êtes invité. Comme dans la version antérieure de @@@p@@@, avant d’appuyer sur ` pour entrer les valeurs, la pile se présente ainsi : La première sortie du programme est une boîte de message contenant la chaîne : Appuyez sur @@@OK@@@ pour annuler la sortie de la boîte de message. La pile se présente ainsi : Page 21-42 Inclusion de l’entrée et de la sortie dans une boîte de message On pourrait modifier le programme afin que non seulement la sortie, mais aussi l’entrée soient incluses dans une boîte de message. Dans le cas du programme @@@p@@@, le programme modifié se présente ainsi : “Enter V, T and n: “{“ :V: :T: :n: “ {2 0} V } INPUT OBJ→ → V T n « V →STR “ ” + T →STR “ ” + n →STR “ ” + ‘(8.34451_J/(K*mol))*(n*T/V)‘ EVAL “p” →TAG →STR + + + MSGBOX » » « Remarquez qu’il faut ajouter l’élément de code suivant après chacun des noms de variables V, T et n, dans le sous-programme : →STR “ ”+ Pour saisir ce code la première fois, utilisez : „°@)TYPE@ @ STR ‚Õ ‚ë ™+ Dans la mesure où les fonctions du menu TYPE restent disponibles dans les touches de menu, pour les deuxième et troisième occurrences de l’élément de code (→STR “ ” + ) dans le sous-programme (c’est-à-dire, après les variables T et n, respectivement), il suffit d’utiliser : @ STR ‚Õ ‚ë ™+ Vous remarquerez qu’après avoir utilisé la séquence de touches ‚ë une nouvelle ligne est générée dans la pile. La dernière modification à inclure consiste à tapez le signe plus (+) trois fois après l’appel de la fonction au tout début du sous-programme. Page 21-43 Note : le signe plus (+) dans ce programme est utilisé pour concaténer les chaînes. La concaténation est simplement l’opération de fusion de deux chaînes de caractères individuelles. Pour visualisez le fonctionnement du programme : • • • Stockez de nouveau le programme dans la variable p en utilisant „@@@p@@@. Exécutez le programme en appuyant sur @@@p@@@. Entrez les valeurs V = 0.01_m^3, T = 300_K, et n = 0.8_mol, lorsque vous y êtes invité. Comme dans la version antérieure de [ p ], avant d’appuyer sur [ENTER] pour entrer les données, la pile se présente ainsi : La première sortie du programme est une boîte de message contenant la chaîne : Appuyez sur @@@OK@@@ pour annuler la sortie de la boîte de message. Incorporation d’unités dans un programme Comme vous avez pu l’observer dans tous les exemples donnés pour les différentes versions du programme @@@p@@@ présentées dans ce chapitre, l’adjonction de valeurs d’entrée peut être un processus fastidieux. Vous pouvez demander au programme lui-même de joindre ces unités aux valeurs Page 21-44 d’entrée et de sortie. Nous illustrerons ces options en modifiant une fois encore le programme @@@p@@@, comme suit. Rappelez le contenu du programme @@@p@@@ dans la pile en utilisant ‚@@@p@@@, et modifiez-le pour qu’il se présente ainsi : Note : j’ai divisé le programme arbitrairement en plusieurs lignes pour faciliter sa lecture. Ce programme n’apparaît pas nécessairement ainsi dans la pile de la calculatrice. La séquence de commandes est cependant correcte. N’oubliez pas par ailleurs que le caractère n’apparaît pas dans la pile mais produit une nouvelle ligne. « “Enter V,T,n [S.I.]: “ {“ :V: :T: :n: “ {2 0} V } INPUT OBJ→ → V T n « V ‘1_m^3’ * T ‘1_K’ * n ‘1_mol’ * → V T n « V “V” →TAG →STR “ ” + T “T” →TAG →STR “ ” + n “n” →TAG →STR “ ” + ‘(8.31451_J/(K*mol))*(n*T/V)‘ EVAL “p” →TAG →STR + + + MSGBOX » » » Cette nouvelle version du programme contient un niveau supplémentaire de sous-programmation (c’est-à-dire un troisième niveau de symboles de programme « », et certaines étapes utilisant des listes, à savoir, V ‘1_m^3’ * { } + T ‘1_K’ * + n ‘1_mol’ * + EVAL → V T n L’interprétation de ce bout de code est la suivante. (Nous utilisons les valeurs de chaîne d’entrée :V:0.01, :T:300, et :n:0.8) : 1. V : La valeur de V, en tant qu’entrée étiquetée (par exemple, V:0.01) est placée dans la pile. 2. ‘1_m^3’ : Les unités S.I. correspondantes au V sont placées au niveau 1 de la pile, l'entrée étiquetée pour V monte au niveau 2 de la pile. 3. * : En multipliant le contenu des niveaux 1 et 2 de la pile, on génère un nombre avec les unités (par exemple, Page 21-45 0.01_m^3), mais l’étiquette disparaît. 4. T ‘1_K’ * : Calcul de la valeur de T, y compris les unités S.I. 5. n ‘1_mol’ * : Calcul de la valeur de n, y compris les unités 6. → V T n : Les valeurs de V, T, et n, situées respectivement aux niveaux 3, 2 et 1 de la pile, sont transmises au niveau suivant de la sous-programmation. Pour voir cette version du programme en action, procédez comme suit : • • • Stockez de nouveau le programme dans la variable p en utilisant [][ p ]. Exécutez le programme en appuyant sur [ p ]. Entrez les valeurs de V = 0.01, T = 300, et n = 0.8, lorsque vous y êtes invité (aucune unité n’est requise maintenant). Avant d’appuyer sur ` pour entrer les valeurs, la pile se présente ainsi : Appuyez sur ` pour exécuter le programme. La sortie est une boîte de message contenant la chaîne : Appuyez sur @@@OK@@@ pour annuler la sortie de la boîte de message. Page 21-46 Sortie de boîte de message sans unités Modifions de nouveau le programme @@@p@@@ pour éliminer l’utilisation des unités dans tout le programme. Le programme sans unité se présente ainsi : « “Enter V,T,n [S.I.]: “ {“ :V: :T: :n: “ {2 0} V } INPUT OBJ→ → V T n « V DTAG T DTAG n DTAG → V T n « “V=” V →STR + “ ”+ “T=” T →STR + “ ” + “n=” n →STR + “ ” + ‘8.31451*n*T/V‘ EVAL →STR “p=” SWAP + + + + MSGBOX » » » Lorsqu’il est exécuté avec les données d’entrée V = 0.01, T = 300, et n = 0.8, il produit la sortie de boîte de message suivante : Appuyez sur @@@OK@@@ pour annuler la sortie de la boîte de message. Opérateurs relationnels et logiques Jusqu’à présent, nous avons principalement travaillé avec des programmes séquentiels. Le langage RPL Utilisateur fournit des déclarations qui permettent les embranchements et la mise en boucle du flux du programme. Bon nombre d’entre elles prennent des décisions qui dépendent de la déclaration logique, vraie ou fausse. Dans cette section, nous présentons certains des éléments utilisés pour construire de telles déclarations logiques, c’est-à-dire des opérateurs relationnels et logiques. Opérateurs relationnels Les opérateurs relationnels sont utilisés pour comparer la position relative de deux objets. Par exemple, si on traite uniquement avec des nombres réels, les opérateurs relationnels permettent de faire une déclaration concernant la position relative de deux nombres réels ou plus. Selon les nombres utilisés, une telle déclaration peut être vraie (représentée par la valeur numérique 1. Page 21-47 dans la calculatrice) ou fausse (représentée par la valeur numérique 0. dans la calculatrice). Les opérateurs relationnels disponibles pour programmer la calculatrice sont les suivants : ____________________________________________________ Opérateur Signification Exemple ____________________________________________________ == “est égal à” ‘x==2’ ≠ “n’est pas égal à” ‘3 ≠ 2’ < “est inférieur à” ‘m< n’ > “est supérieur à” ‘10>a’ ≥ “est supérieur ou égal à” ‘p ≥ q’ ≤ “est inférieur ou égal à” ‘7≤12’ _____________________________________________________ Tous les opérateurs, à l’exception de == (qui peut être créé en tapant ‚Å ‚Å ), sont disponibles sur le clavier, ainsi que dans „° @)TEST@. Deux nombres, variables ou valeurs algébriques, connectés par un opérateur relationnel, forment une expression logique qui peut prendre la valeur vraie (1.), fausse (0.) ou simplement ne pas être évaluée. Pour déterminer si une déclaration logique est vraie ou fausse, placez-la dans le niveau 1 de la pile et appuyez sur EVAL (µ). Exemples : ‘2<10’ µ, Résultat : 1. (vrai) ‘2>10’ µ, Résultat : 0. (faux) Dans l’exemple suivant, on suppose que la variable m n’est pas initialisée (qu’on ne lui a pas attribué de valeur numérique) : ‘2== m’µ, Résultat : ‘2==m’ Le fait que le résultat de l’évaluation de la déclaration soit la même déclaration originelle, indique que cette déclaration ne peut être évaluée de manière unique. Page 21-48 Opérateurs logiques Les opérateurs logiques sont des particules logiques utilisées pour joindre ou modifier des déclarations logiques simples. Les opérateurs logiques disponibles dans la calculatrice sont facilement accessibles via la séquence de touches suivante : „° @)TEST@ L. Les opérateurs logiques disponibles sont : AND, OR, XOR (ou exclusif), NOT, et SAME. Les opérateurs produisent des résultats vrais ou faux, selon la valeur de vérité des déclarations logiques concernées. L’opérateur NOT (négation) s’applique à une seule déclaration logique. Tous les autres s’appliquent à deux déclarations logiques. La tabulation de l’ensemble des combinaisons possibles d’une ou deux déclarations ainsi que la valeur résultant de l’application d’un certain opérateur logique produisent ce que l’on appelle la table de vérité de l’opérateur. Vous trouverez ci-dessous les tables de vérité de chacun des opérateurs logiques standard disponibles dans la calculatrice : p 1 0 NOT p 0 1 p 1 1 0 0 q 1 0 1 0 p AND q 1 0 0 0 p 1 1 0 q 1 0 1 p OR q 1 1 1 Page 21-49 0 0 0 p 1 1 0 0 q 1 0 1 0 p XOR q 0 1 1 0 La calculatrice comprend également l’opérateur logique SAME. Il s’agit d’un opérateur logique non standard utilisé pour déterminer si deux objets sont identiques. S’ils sont identiques, une valeur de 1 (vrai) est retournée ; dans le cas contraire, une valeur de 0 (faux) est retournée. Par exemple, l’exercice suivant, en mode RPN, retourne une valeur de 0 : ‘SQ(2)’ ` 4 ` SAME Vous pouvez remarquer que l’utilisation de SAME implique une interprétation très stricte du mot “identique”. C’est la raison pour laquelle SQ(2) n’est pas identique à 4, même si l’évaluation numérique des deux correspond à 4. Embranchement des programmes L’embranchement d’un flux de programme implique que le programme choisit l’un de deux ou plusieurs flux possibles. Le langage RPL Utilisateur fournit un certain nombre de commandes qui peuvent être utilisées pour programmer des embranchements. Les menus contenant ces commandes sont accessibles via la séquence de touches : „°@)@BRCH@ Ce menu présente les sous-menus pour les constructions de programmes Page 21-50 Les constructions de programmes IF…THEN..ELSE…END, et CASE…THEN…END seront désignées comme des constructions d’embranchements de programmes. START, FOR, DO, et WHILE, sont appropriées pour contrôler le traitement répétitif au sein d’un programme et seront désignées comme des constructions en boucle de programmes. Ces derniers types de constructions de programmes sont présentés avec de plus amples détails dans une section ultérieure. Embranchement avec IF Dans cette section, nous présentons des exemples utilisant les constructions IF…THEN…END et IF…THEN…ELSE…END. La construction IF…THEN…END La construction IF…THEN…END est la plus simple des constructions de programmes IF. Le format général de cette construction est le suivant : IF déclaration_logique THEN déclarations_programme END. Le fonctionnement de cette construction est le suivant : 1. Evaluez déclaration_logique. 2. Si déclaration_logique est vraie, exécutez déclarations_programme et poursuivez le flux du programme après la déclaration END. 3. Si déclaration_logique est fausse, ignorez déclarations_programme et poursuivez le flux du programme après la déclaration END. Pour taper les particules IF, THEN, ELSE et END, utilisez : „°@)@BRCH@ @)@IF@@ Les fonctions @@@IF@@ @@THEN @@ELSE@ @@ END@@ sont disponibles dans ce menu pour être tapées de manière sélective par l’utilisateur. Pour produire une construction IF…THEN…END directement dans la pile, utilisez : „°@)@BRCH@ „ @)@IF@@ Page 21-51 Cela crée l’entrée suivante dans la pile : Le curseur placé devant la déclaration IF invite l’utilisateur à entrer la déclaration logique qui active la construction IF lorsque le programme est exécuté. Exemple : tapez le programme suivant : « → x « IF ‘x<3’ THEN ‘x^2‘ EVAL END ”Done” MSGBOX » » et enregistrez-le sous le nom ‘f1’. Appuyez sur J et vérifiez que la variable @@@f1@@@ est bien disponible dans votre menu de variables. Vérifiez les résultats suivants : 0 @@@f1@@@ Résultat : 0 3.5 @@@f1@@@ Résultat : no action 1.2 @@@f1@@@ Résultat : 1.44 10 @@@f1@@@ Résultat : no action Ces résultats confirment le fonctionnement correct de la construction IF…THEN…END. Le programme, tel qu’il est rédigé, calcule la fonction f1(x) = x2, if x < 3 (et aucune sortie dans les autres cas). La construction IF…THEN…ELSE…END La construction IF…THEN…ELSE…END permet deux flux de programme au choix en fonction de la valeur de vérité de la déclaration_logique. Le format général de cette construction est le suivant : IF déclaration_logique THEN déclarations_programme_si_vrai ELSE déclarations_programme_si_faux END. Le fonctionnement de cette construction est le suivant : 1. Evaluez déclaration_logique. Page 21-52 2. Si déclaration_logique est vraie, exécutez déclarations_programme_si_vrai et poursuivez le flux du programme après la déclaration END. 3. Si déclaration_logique est fausse, exécutez déclarations_programme_si_faux et poursuivez le flux du programme après la déclaration END. Pour produire une construction IF…THEN…ELSE…END directement dans la pile, utilisez : „°@)@BRCH@ ‚ @)@IF@@ Cela crée l’entrée suivante dans la pile : Exemple : tapez le programme suivant : →x » » « « IF ‘x<3’ THEN ‘x^2‘ ELSE ‘1-x’ END EVAL ”Done” MSGBOX et enregistrez-le sous le nom ‘f2’. Appuyez sur J et vérifiez que la variable @@@f2@@@ est bien disponible dans votre menu de variables. Vérifiez les résultats suivants : 0 @@@f2@@@ Résultat : 0 1.2 @@@f2@@@ Résultat : 1.44 3.5 @@@f2@@@ Résultat : -2.5 10 @@@f2@@@ Résultat : -9 Ces résultats confirment le fonctionnement correct de la construction IF…THEN…ELSE…END. Le programme, tel qu’il est rédigé, calcule la fonction : x 2 , if x < 3 f 2 ( x) = 1 − x, otherwise Page 21-53 Note : dans ce cas particulier, une alternative possible aurait consisté à utiliser une fonction IFTE sous la forme : ‘f2(x) = IFTE(x<3,x^2,1-x)’ Constructions IF…THEN…ELSE…END imbriquées Dans la plupart des langages de programmation informatique où la construction IF…THEN…ELSE…END est disponible, le format général utilisé pour la présentation du programme est le suivant : IF déclaration_logique déclarations_programme_si_vrai ELSE déclarations_programme_si_faux END Dans la conception d’un programme de calculatrice comprenant des constructions IF, vous commenceriez par rédiger à la main le pseudo-code des constructions IF telles qu’elles sont présentées ci-dessus. Par exemple, pour le programme @@@f2@@@, vous pourriez écrire IF x<3 THEN x2 ELSE 1-x END Si cette construction simple fonctionne bien lorsque la fonction ne comprend que deux embranchements, vous devrez peut-être imbriquer des constructions IF…THEN…ELSE…END pour traiter des fonctions comptant trois embranchements ou plus. Considérons par exemple la fonction Page 21-54 x 2 , if x < 3 1 − x, if 3 ≤ x < 5 f 3 ( x) = sin( x), if 5 ≤ x < 3π exp( x), if 3π ≤ x < 15 − 2, elsewhere Voici un moyen possible d’évaluer cette fonction à l’aide de constructions IF… THEN … ELSE … END : IF x<3 THEN x2 ELSE IF x<5 THEN 1-x ELSE IF x<3π THEN sin(x) ELSE IF x<15 THEN exp(x) ELSE -2 END END END END Une construction IF complexe de ce type est appelée série de constructions IF … THEN … ELSE … END imbriquées. Une solution possible pour évaluer f3(x), en fonction de la construction IF imbriquée présentée ci-dessus, consiste à rédiger le programme suivant : → x « IF ‘x<3‘ THEN ‘x^2‘ ELSE IF ‘x<5‘ THEN ‘1-x‘ ELSE IF ‘x<3*π‘ THEN ‘SIN(x)‘ ELSE IF ‘x<15‘ THEN ‘EXP(x)‘ ELSE –2 END END END END EVAL » » « Page 21-55 Stockez ce programme dans la variable @@@f3@@@ et essayez les évaluations suivantes : 1.5 @@f3@@@ 2.5 @@@f3@@@ 4.2 @@@f3@@@ 5.6 @@@f3@@@ 12 @@@f3@@@ 23 @@@f3@@@ 2.25 (c’est-à-dire x2) 6.25 (c’est-à-dire x2) -3.2 (c’est-à-dire 1-x) -0.631266… (c’est-à-dire sin(x), avec x dans les radians) Résultat : 162754.791419 (c’est-à-dire exp(x)) Résultat : -2. (c’est-à-dire -2) Résultat : Résultat : Résultat : Résultat : La construction CASE La construction CASE peut permettre de coder plusieurs flux de programmes possibles, comme dans le cas des constructions IF imbriquées présentées cidessus. Le format général de cette construction est le suivant : CASE Déclaration_logique1 THEN déclarations_programme1 END Déclaration_logique2 THEN déclarations_programme2 END . . . Déclaration_logique THEN déclarations_programme END déclarations_programme_par_défaut(facultatif) END Lorsque vous évaluez cette construction, le programme teste chacune des déclarations_logiques jusqu’à ce qu’il en trouve une vraie. Le programme exécute les déclarations_programme, correspondantes, puis transmet le flux de programme à la déclaration suivant la déclaration END. Les déclarations CASE, THEN, et END sont disponibles pour saisie via „°@)@BRCH@ @)CASE@ . Page 21-56 Dans le menu BRCH, c’est-à-dire, („°@)@BRCH@ ) vous pouvez utiliser les raccourcis suivants pour saisir votre construction CASE (l’emplacement du curseur est indiqué par le symbole ): • „@)CASE@: Lance la construction case en fournissant les invites : CASE THEN END END • ‚@)CASE@: Termine la ligne CASE en ajoutant les particules THEN END Exemple – programme f3(x) utilisant la déclaration CASE La fonction est définie par les 5 expressions suivantes : x 2 , if x < 3 1 − x, if 3 ≤ x < 5 f 3 ( x) = sin( x), if 5 ≤ x < 3π exp( x), if 3π ≤ x < 15 − 2, elsewhere A l’aide de la déclaration CASE en langage RPL Utilisateur, on peut coder cette fonction ainsi : → x « CASE ‘x<3‘ THEN ‘x^2‘ END ‘x<5‘ THEN ‘1-x‘ END ‘x<3*π‘ THEN ‘SIN(x)‘ END ‘x<15‘ THEN ‘EXP(x)‘ END –2 END EVAL » » « Stockez ce programme dans une variable appelée @@f3c@. Essayez ensuite les exercices suivants : 1.5 2.5 4.2 5.6 @@f3c@ @@f3c@ @@f3c@ @@f3c@ 12 @@f3c@ 2.25 (c’est-à-dire x2) 6.25 (c’est-à-dire x2) -3.2 (c’est-à-dire 1-x) -0.631266… (c’est-à-dire sin(x), avec x dans les radians) Résultat : 162754.791419 (c’est-à-dire exp(x)) Résultat : Résultat : Résultat : Résultat : Page 21-57 23 @@f3c@ Résultat : -2. (c’est-à-dire -2) Comme vous pouvez le constater, f3c produit exactement les mêmes résultats que f3. La seule différence entre ces programmes tient aux constructions à embranchements utilisées. Dans le cas de la fonction f3(x), dont la définition requiert cinq expressions, la construction CASE peut être plus facile à coder qu’un certain nombre de constructions IF … THEN … ELSE … END imbriquées. Boucles de programmes Les boucles de programmes sont des constructions permettant au programme d’exécuter un certain nombre de déclarations en les répétant. Supposons par exemple que vous souhaitiez calculer la somme des carrés des nombres entiers de 0 à n, c’est-à-dire : n S = ∑k2 k =0 Pour calculer cette somme, il suffit d’utiliser la touche ‚½ dans l’Editeur d’équations et de charger les valeurs limites et l’expression de la somme (des exemples de sommes sont présentées aux Chapitres 2 et 13). Toutefois, pour illustrer l’utilisation des boucles de programmation, nous calculerons cette somme à l’aide de nos propres codes RPL Utilisateur. Quatre commandes différentes peuvent être utilisées pour coder une boucle de programme en RPL Utilisateur : START, FOR, DO et WHILE. Les commandes START et FOR utilisent un index ou un compteur pour déterminer le nombre de répétitions de la boucle. Les commandes DO et WHILE s’appuient sur une déclaration logique pour décider du moment auquel terminer l’exécution d’une boucle. Le fonctionnement des commandes de boucle est décrit en détail dans les sections suivantes. La construction START La construction START utilise deux valeurs d’un index pour exécuter un certain nombre de déclarations de manière répétée. Il existe deux versions de la construction START : START…NEXT et START … STEP. La version START…NEXT est utilisée lorsque l’incrément de l’index est égal à 1, alors Page 21-58 que la version START…STEP est utilisée lorsque l’incrément de l’index est déterminé par l’utilisateur. Les commandes participant à la construction START sont disponibles via : „°@)@BRCH@ @)START @START Dans le menu BRCH („°@)@BRCH@) les touches suivantes sont disponibles pour générer des constructions START (le symbole indique la position du curseur) : • „ @START : Lance la construction START…NEXT : START NEXT • ‚ @START : Lance la construction START…STEP : START STEP La construction START…NEXT La forme générale de cette déclaration est : start_value end_value START program_statements NEXT Dans la mesure où dans ce cas, l’incrément est de 1, pour que la boucle se termine, vous devez vous assurer que start_value < end_value. Dans le cas contraire, vous produiriez ce que l’on appelle une boucle sans fin. Exemple : calcul de la somme S définie ci-dessus La construction START…NEXT contient un index dont la valeur est inaccessible à l’utilisateur. Dans la mesure où pour effectuer le calcul de la somme, il faut disposer de l’index lui-même (k, dans ce cas), nous devons créer notre propre index, k, que nous incrémenterons au sein de la loupe à chaque exécution de celle-ci. Le programme suivant représente une implémentation possible du calcul de S : 0. DUP → n S k « 0. n START k SQ S + 1. ‘k‘ STO+ ‘S‘ STO NEXT S “S” TAG » » « Page 21-59 Tapez le programme et enregistrez-le dans une variable appelée @@@S1@@@. Voici une brève explication du fonctionnement de ce programme : 1. Ce programme doit disposer d’un nombre entier en entrée. Par conséquent, avant de l’exécuter, ce nombre (n) se trouve au niveau 1 de la pile. Le programme est alors exécuté. 2. On entre un zéro, ce qui déplace n au niveau 2 de la pile. 3. La commande DUP, qui peut être tapée comme ~~dup~, copie le contenu du niveau 1 de la pile, déplace tous les niveaux de la pile vers le haut et place la copie qui vient d’être effectuée au niveau 1 de la pile. Par conséquent, après l’exécution de DUP, n se trouve au niveau 3 de la pile tandis que des zéros remplissent les niveaux 1 et 2 de la pile. 4. L’élément de code → n S k stocke les valeurs de n, 0 et 0 respectivement dans les variables locales n, S, k. On dit alors que les variables n, S, et k ont été initialisées (S et k à zéro, n à la valeur choisie par l’utilisateur). 5. L’élément de code 0. n START identifie une boucle START dont l’index prendra les valeurs 0, 1, 2, …, n 6. La somme S est incrémentée de k2 dans l’élément de code rédigé : k SQ S + 7. L’index k est incrémenté de 1 dans l’élément de code rédigé : 1. k + 8. A ce stade, les valeurs mises à jour de S et k sont disponibles respectivement aux niveaux 2 et 1 de la pile. L’élément de code ‘k‘ STO stocke la valeur du niveau 1 de la pile dans la variable locale k. La valeur mise à jour de S occupe maintenant le niveau 1 de la pile. 9. L’élément de code ‘S‘ STO stocke la valeur du niveau 1 de la pile dans la variable locale k. La pile est maintenant vide. 10. La particule NEXT augmente l’index de un et envoie le contrôle du début de la boucle (étape 6). 11. La boucle est répétée jusqu’à ce que l’index de la boucle atteigne la valeur maximale, n. 12. La dernière partie du programme rappelle la dernière valeur de S (la somme), l’étiquette et la place au niveau 1 de la pile où elle peut être vue par l’utilisateur en tant que sortie du programme. Page 21-60 Pour visualiser le programme en action, pas à pas, vous pouvez utiliser le débogueur comme suit (utilisez n = 2). SL1 représente le niveau 1 de la pile : J2[‘] @@@S1@@ ` „°LL @)@RUN@ @@DBG@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ Placez un 2 au niveau 2 et le nom du programme, ‘S1’, au niveau 1 Lancez le débogueur. SL1 = 2. SL1 = 0., SL2 = 2. SL1 = 0., SL2 = 0., SL3 = 2. (DUP) Pile vide (-> n S k) Pile vide (« - démarrez le sousprogramme) SL1 = 0., (valeur de départ de l’index de la boucle SL1 = 2.(n), SL2 = 0. (valeur de fin de l'index de la boucle) Pile vide (START – début de la boucle) --- exécution numéro 1 de la boucle pour k = 0 @SST↓@ SL1 = 0. (k) @SST↓@ SL1 = 0. (SQ(k) = k2) @SST↓@ SL1 = 0.(S), SL2 = 0. (k2) @SST↓@ SL1 = 0. (S + k2) @SST↓@ SL1 = 1., SL2 = 0. (S + k2) @SST↓@ SL1 = 0.(k), SL2 = 1., SL3 = 0. (S + k2) @SST↓@ SL1 = 1.(k+1), SL2 = 0. (S + k2) @SST↓@ SL1 = ‘k’, SL2 = 1., SL3 = 0. (S + k2) @SST↓@ SL1 = 0. (S + k2) [Stocke la valeur SL2 = 1, dans SL1 = ‘k’] @SST↓@ SL1 = ‘S’, SL2 = 0. (S + k2) @SST↓@ Pile vide [Stocke la valeur de SL2 = 0, dans SL1 = ‘S’] @SST↓@ Pile vide (NEXT – fin de la boucle) --- exécution numéro 2 de la boucle pour k = 1 @SST↓@ SL1 = 1. (k) Page 21-61 @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ @SST↓@ SL1 = 1. (SQ(k) = k2) SL1 = 0.(S), SL2 = 1. (k2) SL1 = 1. (S + k2) SL1 = 1., SL2 = 1. (S + k2) SL1 = 1.(k), SL2 = 1., SL3 = 1. (S + k2) SL1 = 2.(k+1), SL2 = 1. (S + k2) SL1 = ‘k’, SL2 = 2., SL3 = 1. (S + k2) SL1 = 1. (S + k2) [Stocke la valeur de SL2 = 2, dans SL1 = ‘k’] SL1 = ‘S’, SL2 = 1. (S + k2) Pile vide [Stocke la valeur de SL2 = 1, dans SL1 = ‘S’] Pile vide (NEXT – fin de la boucle) --- exécution numéro 3 de la boucle pour k = 2 @SST↓@ SL1 = 2. (k) @SST↓@ SL1 = 4. (SQ(k) = k2) @SST↓@ SL1 = 1.(S), SL2 = 4. (k2) @SST↓@ SL1 = 5. (S + k2) @SST↓@ SL1 = 1., SL2 = 5. (S + k2) @SST↓@ SL1 = 2.(k), SL2 = 1., SL3 = 5. (S + k2) @SST↓@ SL1 = 3.(k+1), SL2 = 5. (S + k2) @SST↓@ SL1 = ‘k’, SL2 = 3., SL3 = 5. (S + k2) @SST↓@ SL1 = 5. (S + k2) [Stocke la valeur de SL2 = 3, dans SL1 = ‘k’] @SST↓@ SL1 = ‘S’, SL2 = 5. (S + k2) @SST↓@ Pile vide [Stocke la valeur de SL2 = 0, dans SL1 = ‘S’] @SST↓@ Pile vide (NEXT – fin de la boucle) --- pour n = 2, l’index de la boucle est épuisé et le contrôle est transmis à la déclaration suivant NEXT @SST↓@ SL1 = 5 (S est rappelé dans la pile) @SST↓@ SL1 = “S”, SL2 = 5 (“S” est placé dans la PILE @SST↓@ SL1 = S:5 (étiquetage de la valeur de sortie) Page 21-62 @SST↓@ @SST↓@ SL1 = S:5 (quitte le sous-programme ») SL1 = S:5 (quitte le programme principal ») Le listage pas à pas est terminé. Le résultat de l’exécution du programme @@@S1@@ avec n = 2, est S:5. Vérifiez également les résultats suivants : J 3 5 10 30 @@@S1@@ @@@S1@@ @@@S1@@ @@@S1@@ Résultat Résultat Résultat Résultat : : : : S:14 S:55 S:385 S:9455 4 @@@S1@@ Résultat 8 @@@S1@@ Résultat 20 @@@S1@@ Résultat 100 @@@S1@@ Résultat : : : : S:30 S:204 S:2870 S:338350 La construction START…STEP La forme générale de cette déclaration est : start_value end_value START program_statements increment NEXT La valeur_initiale, la valeur_finale et l’increment de l’index de la boucle peuvent être des quantités positives ou négatives. Pour increment > 0, l’exécution se poursuit tant que l’index est inférieur ou égal à valeur_finale. Pour increment < 0, l’exécution survient aussi longtemps que l’index est supérieur ou égal à valeur_finale. Exemple – génération d’une liste de valeurs Supposons que vous souhaitiez générer une liste de valeurs de x de x = 0.5 à x = 6.5 par incréments de 0.5. Vous pouvez rédiger le programme suivant : « → xs xe dx « xs DUP xe START DUP dx + dx STEP DROP xe xs – dx / ABS 1 + →LIST » » et le stocker dans la variable @GLIST. Page 21-63 Dans ce programme, xs = valeur initiale de la boucle, xe = valeur finale de la boucle, dx = valeur d’incrément pour la boucle. Le programme place les valeurs de xs, xs+dx, xs+2⋅dx, xs+3⋅dx, … dans la pile. Il calcule ensuite le nombre d’éléments générés à l’aide de l’élément de code : xe xs – dx / ABS 1. + Enfin, le programme assemble une liste des éléments placés dans la pile. • • Vérifiez que l’appel de programme 0.5 ` 2.5 ` 0.5 ` @GLIST produit la liste {0.5 1. 1.5 2. 2.5}. Pour visualiser le fonctionnement pas à pas, utilisez le programme DBUG pour obtenir une brève liste, par exemple : J1 # 1.5 # 0.5 ` [ ‘ ] @GLIST ` „°LL @)@RUN@ @@DBG@ Entrez les paramètres 1 1.5 0.5 Entrez le nom du programme au niveau 1 Lancez le débogueur. Use @SST↓@ pour entrer dans le programme et visualiser le fonctionnement détaillé de chaque commande. La construction FOR Comme dans le cas de la commande START, la commande FOR comprend deux variantes : la construction FOR…NEXT, pour les incréments d’index de la boucle de 1, et la construction FOR…STEP, pour les incréments d’index de la boucle sélectionnés par l’utilisateur. Toutefois, contrairement à la commande START, la commande FOR requiert que l’on nomme l’index de la boucle (par exemple, j, k, n). Il est inutile de nous préoccuper d’incrémenter l’index nous-mêmes, comme on le fait dans les exemples utilisant START. La valeur correspondant à l’index est disponible pour les calculs. Les commandes impliquées dans la construction FOR sont disponibles via : „°@)@BRCH@ @)@FOR Page 21-64 Dans le menu BRCH („°@)@BRCH@) les touches suivantes sont disponibles pour générer des constructions FOR (le symbole indique la position du curseur) : • „ @)@FOR: Lance la construction FOR…NEXT : FOR NEXT • ‚ @)@FOR: Lance la construction the FOR…STEP : FOR STEP Construction FOR…NEXT La forme générale de cette déclaration est : start_value end_value FOR loop_index program_statements NEXT Pour éviter une boucle sans fin, assurez-vous que valeur_initiale < valeur_finale. Exemple : calculez la somme S à l’aide d’une construction FOR…NEXT Le programme suivant calcule la somme n S = ∑k2 k =0 Utilisation d’une boucle FOR…NEXT : « 0 →n S « 0 n FOR k k SQ S + ‘S‘ STO NEXT S “S” TAG » » Stockez ce programme dans une variable @@S2@@. Vérifiez les exercices suivants : J 3 5 10 30 @@@S2@@ @@@S2@@ @@@S2@@ @@@S2@@ Résultat Résultat Résultat Résultat : : : : S:14 S:55 S:385 S:9455 4 @@@S2@@ 8 @@@S2@@ 20 @@@S2@@ 100 @@@S2@@ Résultat Résultat Résultat Résultat : S:30 :S:204 :S:2870 :S:338350 Page 21-65 Vous avez peut-être remarqué que ce programme est beaucoup plus simple que celui qui est stocké dans @@@S1@@. Il est inutile d’initialiser k ou d’incrémenter k au sein du programme. Le programme se charge lui-même de produire ces incréments. La construction FOR…STEP La forme générale de cette déclaration est : start_value end_value FOR loop_index program_statements increment STEP La valeur_initiale, la valeur_finale et l’increment de l’index de la boucle peuvent être des quantités positives ou négatives. Pour increment > 0, l’exécution se poursuit tant que l’index est inférieur ou égal à valeur_finale. Pour increment < 0, l’exécution se poursuit tant que l’index est supérieur ou égal à valeur_finale. Les déclarations du programme sont exécutées au moins une fois (par exemple, 1 0 START 1 1 STEP retourne 1) Exemple : générez une liste de nombre à l’aide d’une construction FOR…STEP Tapez le programme : « → xs xe dx « xe xs – dx / ABS 1. + → n x dx STEP n →LIST » » » « xs xe FOR x et stockez-le dans la variable @GLIS2. • • Vérifiez que l’appel de programme 0.5 ` 2.5 ` 0.5 ` @GLIS2 produit la liste {0.5 1. 1.5 2. 2.5}. Pour visualiser le fonctionnement pas à pas, utilisez le programme DBUG pour obtenir une brève liste, par exemple : J1 # 1.5 # 0.5 ` [‘] @GLIS2 ` niveau 1 „°LL @)@RUN@ @@DBG@ Entrez les paramètres 1 1.5 0.5 Entrez le nom du programme au Lancez le débogueur. Page 21-66 Use @SST↓@ pour entrer dans le programme et visualiser le fonctionnement détaillé de chaque commande. La construction DO La structure générale de cette commande est : DO déclarations_programme UNTIL déclaration_logique END La commande DO lance une boucle sans fin exécutant le programme déclarations_programme jusqu’à ce que la déclaration_logique retourne FALSE (0). La déclaration_logique doit contenir la valeur d’un index dont la valeur est modifiée dans les déclarations_programme. Exemple 1 - ce programme produit un compteur dans l’angle supérieur gauche de l’écran, lequel ajoute 1 dans une boucle sans fin jusqu’à ce qu’une touche (appuyez sur n’importe quelle touche) arrête le compteur : « 0 DO DUP 1 DISP 1 + UNTIL KEY END DROP » La commande KEY est évaluée comme TRUE lorsque vous appuyez sur une touche. Exemple 2 : calculez la somme S à l’aide d’une construction DO…UNTIL…END Le programme suivant calcule la somme n S = ∑k2 k =0 Utilisation d’une boucle DO…UNTIL…END : 0. → n S « DO n SQ S + ‘S‘ STO n 1 – ‘n‘ STO UNTIL ‘n<0‘ END S “S” TAG » » « Stockez ce programme dans une variable @@S3@@. Vérifiez les exercices suivants : J Page 21-67 3 5 10 30 @@@S3@@ @@@S3@@ @@@S3@@ @@@S3@@ Résultat Résultat Résultat Résultat : : : : S:14 S:55 S:385 S:9455 4 @@@S3@@ 8 @@@S3@@ 20 @@@S3@@ 100 @@@S3@@ Résultat Résultat Résultat Résultat :S:30 :S:204 :S:2870 :S:338350 Exemple 3 : générez une liste à l’aide d’une construction DO…UNTIL…END Tapez le programme suivant « → xs xe dx « xe xs – dx / ABS 1. + xs → n x « xs DO ‘x+dx’ EVAL DUP ‘x’ STO UNTIL ‘x≥xe’ END n →LIST » » » et stockez-le dans la variable @GLIS3. • • Vérifiez que l’appel de programme 0.5 ` 2.5 ` 0.5 ` @GLIS3 produit la liste {0.5 1. 1.5 2. 2.5}. Pour visualiser le fonctionnement pas à pas, utilisez le programme DBUG pour obtenir une brève liste, par exemple : J1 # 1.5 # 0.5 ` [‘] @GLIS3 ` „°LL @)@RUN@ @@DBG@ Entrez les paramètres 1 1.5 0.5 Entrez le nom du programme au niveau 1 Lancez le débogueur. Use @SST↓@ pour entrer dans le programme et visualiser le fonctionnement détaillé de chaque commande. La construction WHILE La structure générale de cette commande est : WHILE déclaration_logique REPEAT déclarations_programme END La déclaration WHILE répète les déclarations_programme tandis que déclaration_logique est vraie (autre que zéro). Dans le cas contraire, le contrôle du programme est transmis à la déclaration suivant immédiatement Page 21-68 END. Les déclarations_programme doivent comprendre un index de boucle qui sera modifié avant la vérification de la déclaration_logique au début de la répétition suivante. Contrairement à la commande DO, si la première évaluation de déclaration_logique est fausse, la boucle n’est jamais exécutée. Exemple 1 : calculez la somme S à l’aide d’une construction WHILE … REPEAT … END Le programme suivant calcule la somme n S = ∑k2 k =0 Utilisation d’une boucle WHILE…REPEAT…END : 0. → n S « WHILE ‘n≥0‘ REPEAT n SQ S + ‘S‘ STO n 1 – ‘n‘ STO END S “S” TAG » » « Stockez ce programme dans une variable @@S4@@. Vérifiez les exercices suivants : J 3 5 10 30 @@@S4@@ @@@S4@@ @@@S4@@ @@@S4@@ Résultat Résultat Résultat Résultat : : : : S:14 S:55 S:385 S:9455 4 @@@S4@@ 8 @@@S4@@ 20 @@@S4@@ 100 @@@S4@@ Résultat Résultat Résultat Résultat :S:30 :S:204 :S:2870 :S:338350 Exemple 2 : générez une liste à l’aide d’une construction WHILE… REPEAT … END Tapez le programme suivant « → xs xe dx « xe xs – dx / ABS 1. + xs → n x « xs WHILE ‘x<xe‘ REPEAT ‘x+dx‘ EVAL DUP ‘x‘ STO END n →LIST » » » et stockez-le dans la variable @GLIS4. Page 21-69 • • Vérifiez que l’appel de programme 0.5 ` 2.5 ` 0.5 ` @GLIS4 produit la liste {0.5 1. 1.5 2. 2.5}. Pour visualiser le fonctionnement pas à pas, utilisez le programme DBUG pour obtenir une brève liste, par exemple : J1 # 1.5 # 0.5 ` [‘] @GLIS4 ` „°LL @)@RUN@ @@DBG@ Entrez les paramètres 1 1.5 0.5 Entrez le nom du programme au niveau 1 Lancez le débogueur. Use @SST↓@ pour entrer dans le programme et visualiser le fonctionnement détaillé de chaque commande. Erreurs et détection des erreurs Les fonctions du sous-menu PRG/ERROR permettent de manipuler les erreurs dans la calculatrice et de détecter les erreurs dans les programmes. Le sousmenu PRG/ERROR, disponible via „°LL@)ERROR@ , contient les fonctions et sous-menus suivants : DOERR Cette fonction exécute une erreur définie par l’utilisateur, laquelle incite la calculatrice à se comporter comme si cette erreur particulière s’était produite. Cette fonction accepte comme argument soit un nombre entier, soit un nombre entier binaire, soit un message d’erreur, soit le nombre zéro (0). Par exemple, en mode RPN, la saisie de 5` @DOERR produit le message d’erreur suivant : Error: Memory Clear Si vous entrez #11h ` @DOERR, vous obtenez le message suivant : Error: Undefined FPTR Name Si vous entrez “TRY AGAIN” ` @DOERR, vous obtenez le message d’erreur suivant : TRY AGAIN Page 21-70 Enfin, 0` @DOERR, produit le message : Interrupted ERRN Cette fonction retourne un nombre représentant l’erreur la plus récente. Par exemple, si vous essayez 0Y$@ERRN, vous obtenez le nombre #305h. Il s’agit du nombre entier binaire représentant l’erreur : Infinite Result ERRM Cette fonction retourne une chaîne de caractères représentant le message correspondant à l’erreur la plus récente. Par exemple, en Approx mode, si vous essayez 0Y$@ERRM, vous obtenez la corde suivante: “Infinite Result” ERR0 Cette fonction dégage le dernier nombre erreur, de sorte que, l'exécution ERRN après, en Approx mode, retourne # 0h. Par exemple, si vous essayez 0Y$@ERR0 @ERRN, vous obtenez # 0h. De même, si vous essayez 0Y$@ERR0 @ERRM, vous obtenez la chaîne vide “ “. LASTARG Cette fonction retourne des copies des arguments de la commande ou de la fonction exécutée le plus récemment. Par exemple, en mode RPN, si vous utilisez : 3/2`, puis la fonction LASTARG (@LASTA), vous obtenez les valeurs 3 et 2 dans la pile. Un autre exemple en mode RPN est le suivant : 5U`. L’utilisation de LASTARG après ces entrées produit un 5. Sous-menu IFERR Le sous-menu @)IFERR fournit les fonctions suivantes : Il s’agit des composants de la construction IFERR … THEN … END ou de la construction IFERR … THEN … ELSE … END . Ces deux constructions logiques sont utilisées pour détecter les erreurs lors de l’exécution des programmes. Au Page 21-71 sein du sous-menu @)ERROR la saisie de „@)IFERR ou de ‚@)IFERR place les composants de la structure IFERR dans la pile, prêts pour que l’utilisateur remplisse les termes manquants, c’est-à-dire : La forme générale des deux constructions de détection des erreurs est la suivante : IF trap-clause THEN error-clause END IF trap-clause THEN error-clause ELSE normal-clause END Le fonctionnement de ces constructions logiques est similaire à celui des constructions IF … THEN … END et IF … THEN … ELSE … END. Si une erreur est détectée lors de l’exécution de trap-clause, error-clause est exécutée. Dans le cas contraire, la clause normal-clause est exécutée. A titre d’exemple, considérons le programme suivant (@ERR1) qui accepte en entrée deux matrices, A et b, et vérifie s’il existe une erreur dans la clause trap : A b / (mode RPN, c’est-à-dire, A/b). Si une erreur est présente, le programme accepte la fonction LSQ (Least SQuares, voir Chapitre 11) pour résoudre le système d’équations suivant : « A b « IFERR A b / THEN LSQ END » » Essayez avec les arguments A = [ [ 2, 3, 5 ] , [1, 2, 1 ] ] et b = [ [ 5 ] , [ 6 ] ]. Une division simple de ces deux arguments produit une erreur : /Error: Invalid Dimension. Toutefois, la construction de détection d’erreurs du programme, @ERR1, avec les mêmes arguments, produit, [0.262295…, 0.442622…]. Page 21-72 Programmation RPL Utilisateur en mode algébrique Même si tous les programmes présentés précédemment sont produits et exécutés en mode RPN, vous pouvez toujours taper un programme en langage RPL Utilisateur lorsque vous êtes en mode algébrique en utilisant la fonction RPL>. Cette fonction est disponible via le catalogue de commandes. A titre d’exemple, essayez de créer le programme suivant en mode algébrique, et enregistrez le dans la variable P2 : « → X ‘2.5-3*X^2’ » Premièrement, lancer la fonction RPL> à partir du catalogue de commande (‚N). Toutes les fonctions lancées en mode ALG ont leur nom entre parenthèses. La fonction RPL> ne fait pas exception, mais la parenthèse doit être enlevée avant de saisir un programme sur l’écran. Utilisez les touches directionnelles (š™) et la touche d’effaçage (ƒ) pour enlever les parenthèses de la ligne RPL>() . Maintenant, vous pouvez saisir le programme RPL. Les figures suivantes indiquent la commande RPL> avec le programme avant et après avoir appuyer sur la touche `. Pour enregistrer le programme, utilisez la commande STO comme suit : „îK~p2` Une estimation du programme P2 avec l’argument X = 5 est indiquée cidessous : Page 21-73 Vous pouvez écrire des programmes en mode algébrique, mais si vous n’utilisez pas la fonction RPL>, des messages d’erreurs peuvent apparaître quand vous appuyez sur `, par exemple : Par contre, si la fonction RPL a été utilisée, il n’y a aucun problème en mode algébrique : Page 21-74 Chapitre 22 Programmes de manipulation graphique Ce chapitre comprend un certain nombre d’exemples qui présentent l’utilisation des fonctions de la calculatrice pour manipuler les graphiques de manière interactive ou via l’utilisation des programmes. Comme au Chapitre 21, nous recommandons l’utilisation du mode RPN, l’indicateur système 117 étant réglé sur les étiquettes de menu SOFT. « » Nous présentons un certain nombre d’applications graphiques de la calculatrice au Chapitre 12. Les exemples donnés au Chapitre 12 représentent la production interactive de graphiques à l’aide des formulaires d’entrée pré-programmés de la calculatrice. Il est également possible d’utiliser des graphiques dans vos programmes, par exemple pour compléter les résultats numériques par des graphiques. Pour ce faire, nous présentons d’abord la fonction du menu PLOT. Le menu PLOT Les commandes pour régler et tracer des graphiques sont disponibles dans le menu PLOT. Vous pouvez ouvrir le menu PLOT en utilisant : 81.01 „°L@)MODES @)MENU@ @@MENU@. Le menu produit permet d’accéder à une variété de fonctions graphiques. Pour l’application dans les exemples suivants, paramétrons la touche C (GRAPH) pour pouvoir accéder facilement à ce menu, comme expliqué cidessous. Page 22-1 Touche définie par l’utilisateur pour le menu PLOT Saisissez la commande suivante pour déterminer si des touches définies par l’utilisateur sont déjà stockées dans votre calculatrice : „°L@)MODES @)@KEYS@ @@RCLK@. A moins que vous n’ayez déjà défini des touches, vous devriez obtenir une liste contenant un S, à savoir {S}. Cela indique que le clavier standard est la seule définition de touches stockée dans votre calculatrice. Pour définir une touche, il faut ajouter à cette liste une commande ou un programme suivi d’une référence à la touche (pour plus de détails, voir le Chapitre 20). Saisissez la liste { S << 81.01 MENU >> 13.0 }dans la pile et utilisez la fonction STOREKEYS („°L@)MODES @)@KEYS@ @@STOK@) afin de définir la touche C comme touche d’accès au menu PLOT. Vérifiez qu’une telle liste a été stockée dans la calculatrice en utilisant la commande „°L@)MODES @)@KEYS@ @@RCLK@. Note : nous ne proposerons pas d’exercice pendant la présentation du menu PLOT, de ses fonctions ou sous-menus. Cette section s’apparente davantage à une visite guidée du contenu du menu PLOT et de ses relations avec les différents types de graphiques disponibles dans la calculatrice. Pour activer une touche définie par l’utilisateur, vous devez appuyer sur „Ì (identique à la touche ~) avant d’appuyer sur la touche ou la combinaison de touches appropriée. Pour activer le menu PLOT à l’aide de la définition de touche utilisée ci-dessus, appuyez sur : „Ì C. Vous obtenez alors le menu suivant (appuyez sur L pour passer au deuxième menu) Page 22-2 Description du menu PLOT Le schéma ci-dessous présente les sous-menus du menu PLOT. Les nombres accompagnant les différents menus et fonctions dans le schéma sont utilisés comme références dans la description de ces objets ci-après. Les touches de menu étiquetées 3D, STAT, FLAG, PTYPE et PPAR, produisent des menus supplémentaires, lesquels seront présentés plus en détail ultérieurement. A ce stade, nous décrivons les fonctions directement accessibles via les touches de menu pour le menu numéro 81.02. Il s’agit des fonctions suivantes : LABEL (10) La fonction LABEL permet d’étiqueter les axes d’un tracé, y compris les noms de variables et les valeurs minimale et maximale des axes. Les noms de variables sont sélectionnés à partir d’informations figurant dans la variable PPAR. AUTO (11) La fonction AUTO (AUTOscale) calcule une plage d’affichage pour l’axe y ou pour les axes y et x dans des tracés en deux dimensions en fonction du type de tracé défini dans la variable PPAR. Pour tout graphique en trois dimensions, la fonction AUTO ne produit pas d’action. Pour les tracés en deux dimensions, la fonction AUTO effectue les opérations suivantes : Page 22-3 • FUNCTION • CONIC • POLAR • PARAMETRIC • • TRUTH BAR • • HISTOGRAM SCATTER : selon la plage de tracés de x, elle échantillonne la fonction dans EQ et détermine les valeurs minimale et maximale de y. : définit l’échelle de l’axe y comme égale à l’échelle de l’axe x. : en fonction des valeurs de la variable indépendante (habituellement θ), elle échantillonne la fonction dans EQ et détermine les valeurs minimale et maximale de x et de y. : produit un résultat similaire à celui de la fonction POLAR en fonction des valeurs du paramètre définissant les équations pour x et y. : ne produit aucune action. : la plage de l’axe x est définie entre 0 et n+1 avec n correspondant au nombre d’éléments figurant dans ΣDAT. La plage des valeurs de y est fondée sur le contenu de ΣDAT. Les valeurs minimale et maximale de y sont déterminées de manière que l’axe x soit toujours inclus dans le graphique. : similaire à la fonction BAR. : définit la plage des axes x et y en fonction du contenu des variables indépendante et dépendante de ΣDAT. INFO (12) La fonction INFO est uniquement interactive (c’est-à-dire qu’elle ne peut pas être programmée). Lorsque vous appuyez sur la touche de menu correspondante, vous obtenez des informations sur les paramètres actuels du tracé. EQ (3) Le nom de variable EQ est réservé par la calculatrice pour stocker l’équation actuelle dans des tracés ou dans la solution des équations (voir le chapitre …). La touche de menu étiquetée EQ dans ce menu peut être utilisée de la même Page 22-4 manière que si votre menu de variables était disponible ; par exemple, si vous appuyez sur la touche [ EQ ] elle répertorie le contenu actuel de cette variable. ERASE (4) La fonction ERASE efface le contenu actuel de la fenêtre de graphiques. En programmation, elle peut également permettre de s’assurer que la fenêtre des graphiques est vide avant de tracer un nouveau graphique. DRAX (5) La fonction DRAX dessine les axes dans le tracé actuel, s’ils sont visibles. DRAW (6) La fonction DRAW dessine le tracé défini dans la fonction PPAR. Le menu PTYPE sous PLOT (1) Le menu PTYPE répertorie le nom de tous les types de tracés en deux dimensions pré-programmés dans la calculatrice. Le menu contient les touches suivantes : Ces touches correspondent aux types de tracés Fonction, Conique, Polaire, Paramétrique, Truth et Eq. diff, présentés auparavant. Si vous appuyez sur l’une des ces touches de menu tout en saisissant un programme, l’appel de la fonction correspondante est intégré au programme. Appuyez sur L )@PLOT pour revenir au menu PLOT principal. Le menu PPAR (2) Le menu PPAR répertorie les différentes options de menu pour la variable PPAR telles que définies par les étiquettes de touches de menu suivantes. Appuyez sur L pour passer aux menus suivants : Page 22-5 Note : les commandes SCALE présentées ici représentent en réalité les commandes SCALE, SCALEW, SCALEH, dans cet ordre. Le schéma ci-dessous illustre les fonctions disponibles dans le menu PPAR. Les lettres associées à chaque fonction du schéma sont utilisées à des fins de référence dans la description des fonctions présentées ci-dessous. INFO (n) et PPAR (m) Si vous appuyez sur @INFO, ou saisissez ‚ @PPAR, pendant que vous êtes dans ce menu, vous obtiendrez la liste des paramètres PPAR actuels, par exemple : Page 22-6 Ces informations indiquent que X est la variable indépendante (Indep), Y est la variable dépendante (Depnd), la plage de l’axe x se situe entre –6.5 et 6.5 (Xrng), la plage de l’axe y se situe entre –3.1 et 3.2 (Yrng). La dernière information figurant à l’écran, la valeur de Res (résolution) détermine l’intervalle de la variable indépendante utilisé pour générer le tracé. Les étiquettes des touches de menu incluses dans le menu PPAR(2) représentent des commandes qui peuvent être utilisées dans des programmes. Il s’agit notamment des commandes suivantes : INDEP (a) La commande INDEP spécifie la variable indépendante et la plage de son tracé. Ces spécifications sont stockées dans le troisième paramètre de la variable PPAR. La valeur par défaut est 'X'. Les valeurs qui peuvent être affectées à la spécification de la variable indépendante sont les suivantes : • Un nom de variable, par exemple : 'Vel' • Un nom de variable dans une liste, par exemple : { Vel } • Un nom de variable et une plage dans une liste, par exemple : { Vel 0 20 } • Une plage sans nom de variable, par exemple : { 0 20 } • Deux valeurs représentant une plage, par exemple : 0 20 Dans un programme, toute spécification de ce type est suivie de la commande INDEP. DEPND (b) La commande DEPND spécifie le nom de la variable dépendante. Dans le cas des tracés TRUTH, elle spécifie également la plage du tracé. La valeur par défaut est Y. Les types de spécifications de la variable DEPND sont les mêmes que celles de la variable INDEP. XRNG (c) et YRNG (d) La commande XRNG spécifie la plage de tracé de l’axe x, tandis que la commande YRNG spécifie la plage de tracé de l’axe y. La saisie pour l’une Page 22-7 ou l’autre de ces commandes se compose de deux nombres représentant les valeurs minimale et maximale de x ou de y. Les valeurs des plages des axes x et y sont stockées sous forme de paires ordonnées (xmin, ymin) et (xmax, ymax) dans les deux premiers éléments de la variable PPAR. Les valeurs par défaut de xmin et xmax sont respectivement -6.5 et 6.5. Les valeurs par défaut de xmin et xmax sont respectivement –3.1 et 3.2. RES (e) La commande RES (RESolution) spécifie l’intervalle entre les valeurs de la variable indépendante lors de la production d’un tracé spécifique. La résolution peut être exprimée en termes d’unités d’utilisateur en tant que nombre réel, ou en termes de pixels en tant qu’entier binaire (des nombres commençant par #, par exemple, #10). La résolution est stockée en tant que quatrième élément dans la variable PPAR. CENTR (g) La commande CENTR prend comme argument une paire ordonnée (x,y) ou une valeur x, puis ajuste les deux premiers éléments de la variable PPAR, c’est-à-dire : (xmin, ymin) et (xmax, ymax), de telle sorte que le centre du tracé soit respectivement (x,y) ou (x,0). SCALE (h) La commande SCALE détermine l’échelle du tracé représentée par le nombre d’unités d’utilisateur par cochage. L’échelle par défaut est de 1 unité-utilisateur par cochage. Lorsque la commande SCALE est utilisée, elle prend comme argument deux nombres, xscale et yscale, représentant les nouvelles échelles horizontale et verticale. La commande SCALE a pour effet d’ajuster les paramètres (xmin, ymin) et (xmax, ymax) dans PPAR en fonction de l’échelle souhaitée. Le centre du tracé est préservé. SCALEW (i) Etant donné un facteur xfactor, la commande SCALEW multiplie l’échelle horizontale par ce facteur. Le W de SCALEW signifie 'width' (largeur). L’exécution de SCALEW modifie les valeurs de xmin et xmax dans PPAR. Page 22-8 SCALEH (j) Etant donné un facteur yfactor, la commande SCALEH multiplie l’échelle verticale par ce facteur. Le H de SCALEH signifie 'hauteur'. L’exécution de SCALEH modifie les valeurs de ymin et ymax dans PPAR. Note : les modifications apportées par l’utilisation des commandes SCALE, SCALEW ou SCALEH peuvent être utilisées pour effectuer un zoom avant ou un zoom arrière dans un tracé. ATICK (l) La commande ATICK (cochage des axes) permet de définir les marques de cochage des axes. La valeur d’entrée de la commande ATICK peut être l’une des suivantes : • • • Une valeur réelle x : définit les annotations de cochage des axes x et y sur les unités x. Une liste de deux valeurs réelles { x y }: définit les annotations de cochage dans les axes x et y sur des unités x et y respectives. Un entier binaire #n: définit à la fois les annotations de cochage des axes x et y sur #n pixels Une liste de deux entiers binaires {#n #m}: définit les annotations de cochage dans les axes x- et y- respectivement sur #n et #m pixels. AXES (k) La valeur d’entrée pour la commande des axes se compose soit d’une paire ordonnée (x,y), soit d’une liste {(x,y) atick "x-axis label" "y-axis label"}. Le paramètre atick représente la spécification des annotations de cochage telles que décrites ci-dessus pour la commande ATICK. La paire ordonnée représente le centre du tracé. Si une paire ordonnée seulement est fournie comme entrée pour AXES, seule l’origine des axes est modifiée. L’argument pour la commande AXES, qu’il s’agisse d’une paire ordonnée ou d’une liste de valeurs, est stocké en tant que cinquième paramètre dans PPAR. Page 22-9 Pour revenir au menu PLOT, appuyez sur @)PLOT. Appuyez sur L pour accéder au deuxième sous-menu du menu PLOT. RESET (f) Ce bouton réinitialise les paramètres du tracé en fonction des valeurs par défaut. Le menu 3D de PLOT (7) Le menu 3D contient deux sous-menus, PTYPE et VPAR, ainsi qu’une variable, EQ. Nous nous sommes déjà familiarisés avec la signification de EQ ; par conséquent, nous nous concentrerons ici sur le contenu des menus PTYPE et VPAR. Le schéma ci-dessous présente les subdivisions du menu 3D. Le menu PTYPE de 3D (IV) Le menu PTYPE sous 3D contient les fonctions suivantes : Ces fonctions correspondent aux options graphiques Slopefield, Wireframe, Y-Slice, Ps-Contour, Gridmap and Pr-Surface présentées au début de ce chapitre. Si vous appuyez sur l’une des ces touches de menu tout en saisissant Page 22-10 un programme, l’appel de la fonction correspondante est intégré au programme. Appuyez sur L@)@3D@@ pour revenir au menu 3D principal. Le menu VPAR de 3D (V) La variable VPAR correspond aux PARamètres de Volume, ce qui désigne un parallélépipède dans l’espace à l’intérieur duquel le graphique en trois dimensions est construit. Lorsque vous appuyez sur [VPAR] dans le menu 3D, vous obtenez les fonctions suivantes. Appuyez sur L pour passer au menu suivant : La signification de ces fonctions est décrite ci-dessous : INFO (S) et VPAR (W) Lorsque vous appuyez sur @INFO (S), vous obtenez les informations qui figurent sur l’écran de gauche représenté ci-dessus. Les plages de Xvol, Yvol et Zvol décrivent l’étendue du parallélépipède dans l’espace où la graphique sera généré. Xrng et Yrng décrivent la plage de valeurs de x et y respectivement, en tant que variables indépendantes dans le plan x-y qui sera utilisé pour générer les fonctions sous la forme z = f(x,y). Appuyez sur L and @INFO (Y) pour afficher les informations figurant dans l’écran représenté à droite ci-dessus. Il s’agit des valeurs correspondant à l’emplacement du point de vue pour le graphique en trois dimensions (Xeye, Yeye, Zeye) et du nombre d’étapes dans x et dans y permettant de générer une grille pour les tracés de surface. XVOL (N), YVOL (O) et ZVOL (P) Ces fonctions acceptent comme entrée une valeur minimale et une valeur maximale et permettent de spécifier l’étendue du parallélépipède dans lequel Page 22-11 le graphique sera généré (le parallélépipède de vue). Ces valeurs sont stockées dans la variable VPAR. Les valeurs par défaut pour les plages XVOL, YVOL et ZVOL sont –1 à 1. XXRNG (Q) and YYRNG (R) Ces fonctions acceptent comme entrée une valeur minimale et une valeur maximale et permettent de spécifier les plages des variables x et y et de générer les fonctions z = f(x,y). La valeur par défaut des plages XXRNG et YYRNG sera identique à celle des plages XVOL et YVOL. EYEPT (T) La fonction EYEPT accepte comme entrée les valeurs réelles x, y et z représentant l’emplacement du point de vue pour un graphique en trois dimensions. Le point de vue est un point dans l’espace depuis lequel on observe le graphique en trois dimensions. Le changement de point de vue produit des vues différentes du graphique. La figure ci-dessous illustre le point de vue par rapport à l’espace réel du graphique et à sa projection dans le plan de l’écran. NUMX(U) et NUMY (V) Les fonctions NUMX et NUMY permettent de spécifier le nombre de points ou d’étapes à utiliser dans chaque direction de la grille de base à partir de laquelle on peut obtenir les valeurs z = f (x,y). VPAR (W) Il s’agit simplement d’une référence à la variable VPAR. RESET (X) Réinitialise les paramètres à l’écran en utilisant les valeurs par défaut. Appuyez sur L@)@3D@@ pour revenir au menu 3D. Appuyez sur @)PLOT pour revenir au menu PLOT. Page 22-12 Le menu STAT dans PLOT Le menu STAT permet d’accéder aux tracés liés à l’analyse statistique. Ce menu contient les sous-menus suivants : Le schéma ci-dessous présente les subdivisions du menu STAT dans PLOT. Les nombres et les lettres accompagnant chaque fonction ou menu sont utilisés comme référence dans les descriptions qui suivent la figure. Page 22-13 Le menu PTYPE dans STAT (I) Le menu PTYPE fournit les fonctions suivantes : Ces touches correspondent aux types de tracés Bar (bâton) (A), Histogram (histogramme) (B) et Scatter (nuage) (C), présentés précédemment. Si vous appuyez sur l’une des ces touches de menu tout en saisissant un programme, l’appel de la fonction correspondante est intégré au programme. Appuyez sur @)STAT pour revenir au menu STAT. Le menu DATA dans STAT (II) Le menu DATA fournit les fonctions suivantes : Les fonctions répertoriées dans ce menu permettent de manipuler la matrice de statistiques ΣDAT. Les fonctions Σ+ (D) et Σ- (E), ajoutent ou suppriment des lignes à la matrice ΣDAT. CLΣ (F) efface la matrice ΣDAT (G) et la touche de menu étiquetée ΣDAT sert uniquement de référence pour les applications interactives. L’utilisation de ces fonctions est décrite avec de plus amples détails ultérieurement dans le chapitre consacré aux applications statistiques. Appuyez sur @)STAT pour revenir au menu STAT. Page 22-14 Le menu ΣPAR de STAT (III) Le menu ΣPAR fournit les fonctions suivantes : INFO (M) et ΣPAR (K) La touche INFO de ΣPAR fournit les informations illustrées dans l’écran cidessus. Les informations répertoriées à l’écran se trouvent dans la variable ΣPAR. Les valeurs présentées sont les valeurs par défaut pour la colonne des x, la colonne des y, l’interception et l’inclinaison d’un modèle d’intégration de données, ainsi que le type de modèle à adapter aux données dans ΣDAT. XCOL (H) La commande XCOL permet d’indiquer la ou les colonnes de ΣDAT, qui représentera la colonne des x ou la colonne des variables indépendantes. YCOL (I) La commande YCOL permet d’indiquer la ou les colonnes de ΣDAT, qui représentera la colonne des y ou la colonne des variables indépendantes. MODL (J) La commande MODL fait référence au modèle à sélectionner pour intégrer les données à ΣDAT, si une intégration des données est mise en oeuvre. Pour connaître les options disponibles, appuyez sur @!MODL. Le menu suivant s’affiche : Ces fonctions correspondent à l’intégration linéaire, l’intégration logarithmique, l’intégration exponentielle, l’intégration de puissance ou la Page 22-15 meilleure intégration. L’intégration des données est décrite avec de plus amples détails dans un chapitre ultérieur. Appuyez sur )£@PAR pour revenir au menu ΣPAR. ΣPAR (K) ΣPAR n’est qu’une référence à la variable ΣPAR pour une utilisation interactive. RESET (L) Cette fonction réinitialise le contenu de ΣPAR en utilisant les valeurs par défaut. Appuyez sur L @)STAT pour revenir au menu STAT. Appuyez sur [PLOT] pour revenir au menu PLOT principal. Le menu FLAG dans PLOT Le menu FLAG est interactif, ce qui vous permet de sélectionner l’une ou l’autre des options suivantes : • AXES • CNCT • SIMU : lorsque cette option est sélectionnée, les axes apparaissent s’ils sont visibles dans la zone ou le volume du tracé. : lorsque cette option est sélectionnée, le tracé est produit de telle sorte que les points individuels soient connectés. : lorsque cette option est sélectionnée, et si plusieurs graphiques doivent être tracés dans la même série d’axes, tous les graphiques sont tracés simultanément. Apuyez sur @)PLOT pour revenir au menu PLOT. Génération de graphiques avec des programmes Selon qu’il s’agit d’un graphique en deux dimensions défini par une fonction, de données provenant de ΣDAT ou d’un graphique défini par une fonction en trois dimensions, vous devez définir les variables PPAR, ΣPAR, et/ou VPAR avant de générer un tracé dans un programme. Les commandes présentées à la section précédente vous aident à définir ces variables. Page 22-16 Vous trouverez ci-dessous la description du format général des variables nécessaire pour produire les différents types de tracés disponibles dans la calculatrice. Graphiques en deux dimensions Les graphiques en deux dimensions générés par des fonctions, à savoir, Fonction, Conique, Paramétrique, Polaire, Truth et Equation différentielle, utilisent PPAR avec le format : { (xmin, ymin) (xmax, ymax) indep res axes ptype depend } Les graphiques en deux dimensions générés par des données de la matrice statistique ΣDAT, à savoir, Bar (bâton), Histogram (histogramme), et Scatter (nuage), utilisent la variable ΣPAR avec le format suivant : { x-column y-column slope intercept model } tout en utilisant PPAR avec le format présenté ci-dessus. La signification des différents paramètres de PPAR et ΣPAR était présentée à la section précédente. Graphiques en trois dimensions Les graphiques en trois dimensions disponibles, à savoir les options Slopefield, Wireframe, Y-Slice, Ps-Contour, Gridmap et Pr-Surface, utilisent la variable VPAR avec le format suivant : {xleft, xright, ynear, yfar, zlow, zhigh, xmin, xmax, ymin, ymax, xeye, yeye, zeye, xstep, ystep} Ces paires de valeurs x, y et z représentent les éléments suivants : • Dimensions du nouveau parallélépipède (xleft, xright, ynear, yfar, zlow, zhigh) Page 22-17 • • • Plage des variables indépendantes x et y (xmin, xmax, ymin, ymax) Emplacement du point de vue (xeye, yeye, zeye) Nombre d’étapes dans les directions x et y (xstep, ystep) Les graphiques en trois dimensions requièrent également la variable PPAR avec les paramètres indiqués ci-dessus. La variable EQ Tous les tracés, excepté ceux qui sont fondés sur ΣDAT, requièrent également que vous définissiez la ou les fonctions à tracer en stockant les expressions ou les références à ces fonctions dans la variable EQ. En résumé, pour produire un tracé dans un programme, il faut le cas échéant charger EQ. Chargez ensuite PPAR, PPAR et ΣPAR ou PPAR et VPAR. Enfin, utilisez le nom du type de tracé approprié : FUNCTION, CONIC, POLAR, PARAMETRIC, TRUTH, DIFFEQ, BAR, HISTOGRAM, SCATTER, SLOPE, WIREFRAME, YSLICE, PCONTOUR, GRIDMAP ou PARSURFACE, afin de produire votre tracé. Exemples de graphiques interactifs utilisant le menu PLOT Pour mieux comprendre le fonctionnement d’un programme avec les commandes et variables PLOT, essayez les exemples suivants de tracés interactifs utilisant le menu PLOT. Exemple 1 – Tracé de fonction : „ÌC @)PTYPE @FUNCT ‘√r’ `„ @@EQ@@ @)PPAR ~„r` @INDEP ~„s` @DEPND Appelez le menu PLOT (*) Sélectionnez FUNCTION comme type de tracé Stockez la fonction ‘√r’ dans EQ Affichez les paramètres du tracé Définissez ‘r’ en tant que variable dépendante Définissez ‘s’ en tant que variable dépendante Page 22-18 1 \# 10 @XRNG 1 \# 5 @YRNG L { (0,0) {.4 .2} “Rs” “Sr”} @AXES L @)PLOT @ERASE @DRAX L @LABEL L @DRAW @)EDIT L@MENU LL@)PICT @CANCL Définissez (-1, 10) en tant que plage x Définissez (-1, 5) en tant que plage y Liste de définition des axes Définissez les axes, le centre, les cochages, les étiquettes Revenez au menu PLOT Effacez l’image, les axes de dessins, les étiquettes Dessinez la fonction et affichez l’image Supprime les étiquettes de menu Revient à l’affichage normal de la calculatrice (*) menu PLOT disponible via la touche C définie par l’utilisateur comme indiqué précédemment dans ce chapitre. Exemple 2 – Tracé paramétrique (Employez RAD comme angles) : „ÌC @)PTYPE @PARAM { ‘SIN(t)+i*SIN(2*t)’ } ` „ @@EQ@@ @)PPAR {t 0 6.29} ` @INDEP ~y` @DEPND Affichez le menu PLOT Sélectionnez PARAMETRIC en tant que type de tracé Définissez la fonction complexe X+iY Stockez la fonction complexe dans EQ Affichez les paramètres du tracé Définissez ‘t’ en tant que variable indép. Définissez ‘Y’ en tant que variable dépendante Page 22-19 2.2 \# 2.2 @XRNG 1.1 \# 1.1 @YRNG L { (0,0) {} {.4 .2} “X(t)” “Y(t)”} ` @AXES L @)PLOT @ERASE @DRAX L @LABEL L @DRAW @)EDIT L@MENU LL@)PICT @CANCL Exemple 3 – Tracé polaire. „ÌC @)PTYPE @POLAR ‘1+SIN(θ)’ `„ @@EQ@@ @)PPAR { θ 0 6.29} ` @INDEP ~y` @DEPND 3 \# 3 @XRNG 0.5 \# 2.5 @YRNG L { (0,0) {.5 .5} “x” “y”} ` @AXES L @)PLOT @ERASE @DRAX L @LABEL Définissez (-2.2,2.2) en tant que plage x Définissez (-1.1,1.1) en tant que plage y Liste de définitions des axes Définissez les axes, le centre, les cochages, les étiquettes Revenez au menu PLOT Effacez l’image, les axes de dessins, les étiquettes Dessinez la fonction et affichez l’image Terminez le tracé Affichez le menu PLOT Sélectionnez POLAR en tant que type de tracé Stockez la fonction complexe r = f(θ) dans EQ Affichez les paramètres du tracé Définissez ‘θ’ en tant que variable dépendante Définissez ‘Y’ en tant que variable dépendante Définissez (-3,3) e tant que plage x Définissez (-0.5,2.5) en tant que plage y Liste de définitions des axes Définissez les axes, le centre, les cochages, les étiquettes Revenez au menu PLOT Effacez l’image, les axes de dessins, les étiquettes Page 22-20 L @DRAW @)EDIT L@MENU LL@)PICT @CANCL Dessinez la fonction et affichez l’image Supprimez les étiquettes de menus Revenez à l’affichage normal de la calculatrice Ces exemples font apparaître une tendance pour la génération interactive d’un graphique en deux dimensions via le menu PLOT : 1 – Sélectionnez PTYPE. 2 – Stockez la fonction pour le tracé dans la variable EQ (en utilisant le format approprié, par exemple ‘X(t)+iY(t)’ pour PARAMETRIC). 3 – Saisissez le nom (et la plage, le cas échéant) des variables indépendantes et dépendantes 4 – Saisissez les spécifications des axes sous forme de liste { center atick xlabel y-label } 5 – Utilisez ERASE, DRAX, LABEL, DRAW pour produire un graphique entièrement étiqueté avec les axes Cette même démarche peut permettre de produire des tracés avec un programme ; toutefois, dans un programme, il faut ajouter la commande PICTURE après l’appel de la fonction DRAW pour rappeler l’écran des graphiques dans la pile. Exemples de graphiques générés par des programmes Dans cette section, nous présenterons la génération des trois derniers exemples à l’aide de programmes. Activez le menu PLOT avant de commencer à saisir le programme ; cela facilitera la saisie des commandes de création de graphiques („ÌC, voir ci-dessus). Exemple 1 –Trace de fonction. Saisissez le programme suivant : Page 22-21 « {PPAR EQ} PURGE ‘√r’ STEQ ‘r’ INDEP ‘s’ DEPND FUNCTION { (0.,0.) {.4 .2} “Rs” “Sr” } AXES –1. 5. XRNG –1. 5. YRNG ERASE DRAW DRAX LABEL PICTURE » Démarrez le programme Purgez les variables PPAR et EQ actuelles Stockez ‘√r’ dans EQ Définissez la variable indépendante sur ‘r’ Définissez la variable dépendante sur ‘s’ Sélectionnez FUNCTION en tant que type de tracé Définissez les informations sur les axes Définissez la plage x Définissez la plage y Effacez & dessinez le tracé, les axes et les étiquettes Rappelez l’écran des graphiques dans la pile Stockez le programme dans la variable PLOT1. Pour l’exécuter, appuyez sur J, au besoin, puis appuyez sur @PLOT1. Exemple 2 – Tracé paramétrique. Saisissez le programme suivant : « RAD {PPAR EQ} PURGE ‘SIN(t)+i*SIN(2*t)’ STEQ { t 0. 6.29} INDEP ‘Y’ DEPND Démarrez le programme Passez aux radians, purgez les variables Stockez ‘X(t)+iY(t)’ dans EQ Définissez la variable indép. sur ‘r’, avec plage Définissez la variable dépendante sur ‘Y’ Page 22-22 PARAMETRIC { (0.,0.) {.5 .5} “X(t)” “Y(t)” } AXES –2.2 2.2 XRNG –1.1 1.1 YRNG ERASE DRAW DRAX LABEL PICTURE » Sélectionnez PARAMETRIC en tant que type de tracé Définissez les informations sur les axes Définissez la plage x Définissez la plage y Effacez & dessinez le tracé, les axes et les étiquettes Rappelez l’écran des graphiques sur la pile Terminez le programme Stockez le programme dans la variable PLOT2. Pour l’exécuter, appuyez sur J, au besoin, puis appuyez sur @PLOT2. Exemple 3 – Tracé polaire. Saisissez le programme suivant : « RAD {PPAR EQ} PURGE ‘1+SIN(θ)’ STEQ { θ 0. 6.29} INDEP ‘Y’ DEPND POLAR { (0.,0.) {.5 .5} “x” “y”} AXES –3. –.5 3. XRNG 2.5 YRNG Démarrez le programme Passez aux radians, purgez les variables Stockez ‘f(θ)’ dans EQ Définissez la variable indép. sur ‘θ’, avec plage Définissez la variable dépendante sur ‘Y’ Sélectionnez POLAR en tant que type de tracé Définissez les informations sur les axes Définissez la plage x Définissez la plage y Page 22-23 ERASE DRAW DRAX LABEL PICTURE » Effacez & dessinez le tracé, les axes et les étiquettes Rappelez l’écran des graphiques sur la pile Terminez le programme Stockez le programme dans la variable PLOT3. Pour l’exécuter, appuyez sur J, au besoin, puis appuyez sur @PLOT3. Ces exercices illustrent l’utilisation des commandes PLOT dans des programmes. Elles ne font qu’effleurer les utilisations des applications de programmation de tracés. Le lecteur est invité à essayer ses propres exercices sur la programmation de tracés. Commandes de dessin pour une utilisation en programmation Vous pouvez dessiner des figures dans la fenêtre des graphiques directement à partir d’un programme en utilisant des commandes telles que celles qui figurent dans le menu PICT, accessible par „°L@PICT@. Les fonctions disponibles dans ce menu sont les suivantes. Appuyez sur L pour passer au menu suivant : De toute évidence, les commandes LINE, TLINE et BOX effectuent les mêmes opérations que leur homologue interactif si vous saisissez les données appropriées. Ces fonctions ainsi que les autres fonctions du menu PICT font référence à la fenêtre de graphiques dont les plages x et y sont déterminées dans la variable PPAR, comme démontré ci-dessus pour différents types de graphiques. Les fonctions de la commande PICT sont décrites ci-dessous : Page 22-24 PICT Cette touche fait référence à une variable appelée PICT qui stocke le contenu actuel de la fenêtre de graphiques. Toutefois, le nom de cette variable ne peut pas être placé entre guillemets et elle peut uniquement stocker des objets graphiques. En ce sens, la variable PICT est différente de toutes les autres variables de la calculatrice. PDIM La fonction PDIM accepte en entrée soit deux paires ordonnées (xmin ,ymin) (xmax , ymax) soit deux entiers binaires #w et #h. La fonction PDIM a pour effet de remplacer le contenu actuel de PICT par un écran vide. Lorsque l’argument est (xmin ,ymin) (xmax ,ymax), ces valeurs deviennent la plage de coordonnées définies par l’utilisateur dans PPAR. Lorsque l’argument est #w et #h, les plages des coordonnées définies par l’utilisateur dans PPAR restent inchangées, mais la taille du graphique passe à #h × #v pixels. PICT et l’écran de graphiques PICT, la zone de stockage du graphique actuel, peut être considérée comme un graphique en deux dimensions d’une taille minimale de 131 pixels de largeur sur 64 pixels de hauteur. La largeur maximale de PICT est de 2048 pixels, la hauteur maximale n’étant pas limitée. Un pixel correspond à chacun des points de l’écran de la calculatrice pouvant être activés (sombres) ou désactivés (clairs) afin de produire du texte ou des graphiques. L’écran de la calculatrice mesure 131 pixels sur 64 pixels, soit la taille minimale de PICT. Si votre PICT est plus grand que l’écran, considérez le graphique PICT comme un domaine à deux dimensions que vous pouvez faire défiler dans l’écran de la calculatrice, comme illustré sur le schéma ci-dessous. LINE Cette commande accepte en entrée deux paires ordonnées (x1,y1) (x2, y2) ou deux paires de coordonnées de pixels {#n1 #m1} {#n2 #m2}. Elle trace une ligne entre ces deux coordonnées. Page 22-25 TLINE Cette commande (Toggle LINE) accepte en entrée deux paires ordonnées (x1,y1) (x2, y2) ou deux paires de coordonnées de pixels {#n1 #m1} {#n2 #m2}. Elle trace une ligne entre ces deux coordonnées, désactivant les pixels situés sur la trajectoire de cette ligne et activant les autres. BOX Cette commande accepte en entrée deux paires ordonnées (x1,y1) (x2, y2) ou deux paires de coordonnées de pixels {#n1 #m1} {#n2 #m2}. Elle trace une zone dont les diagonales sont représentées par les deux paires de coordonnées de l’entrée. ARC Cette commande permet de tracer un arc. ARC accepte en entrée les objets suivants : Page 22-26 • • • Les coordonnées du centre de l’arc comme (x,y) en unités d’utilisateur ou {#n, #m} en pixels. Le rayon de l’arc comme r (unités d’utilisateur) ou #k (pixels). L’angle initial θ1 et l’angle final θ2. PIX?, PIXON et PIXOFF Ces fonctions acceptent en entrée les coordonnées de point en unités d’utilisateur, (x,y) ou en pixels {#n, #m}. • • • PIX? s’assure que le pixel situé à l’emplacement (x,y) ou {#n, #m} est activé. PIXOFF désactive le pixel à l’emplacement (x,y) ou {#n, #m}. PIXON active le pixel à l’emplacement (x,y) ou {#n, #m}. PVIEW Cette commande accepte en entrée les coordonnées d’un point en unités d’utilisateur (x,y) ou en pixels {#n, #m} et place le contenu de PICT, l’angle supérieur gauche se trouvant à l’emplacement du point spécifié. Vous pouvez également utiliser une liste vide en tant qu’argument, auquel cas l’image est centrée dans l’écran. PVIEW n’active pas le curseur des graphiques ni le menu picture. Pour activer l’une de ces fonctions, utilisez la commande PICTURE. PXC La fonction PXC convertit les coordonnées en pixels {#n #m} en coordonnées en unités d’utilisateur (x,y). CPX La fonction CPX convertit les coordonnées en unités d’utilisateur (x,y) en coordonnées en pixels {#n #m}. Page 22-27 Exemples de programmation utilisant des fonctions de dessin Dans cette section, nous utiliserons les commandes décrites ci-dessus pour produire des graphiques à l’aide de programmes. La liste des programmes est fournie sur la disquette ou le CD ROM joint. Exemple 1 - Un programme utilisant des commandes de dessin Le programme suivant produit un dessin dans l’écran de graphiques (le seul objectif de ce programme est de présenter l’utilisation des commandes de la calculatrice pour produire des dessins à l’écran). « DEG 0. 100. XRNG 0. 50. YRNG ERASE (5., 2.5) (95., 47.5) BOX (50., 50.) 10. 0. 360. ARC (50., 50.) 12. –180. 180. ARC 1 8 FOR j (50., 50.) DUP ‘12*COS(45*(j-1))’ NUM ‘12*SIN(45*(j-1))’ NUM RC + LINE NEXT { } PVIEW » Démarrez le programme Sélectionnez les degrés pour les mesures angulaires Définissez la plage x Définissez la plage y Effacez l’image Tracez une zone de (5,5) à (95,95) Dessinez le centre du cercle (50,50), r =10. Dessinez le centre du cercle (50,50), r= 12. Dessinez 8 lignes dans le cercle Les lignes sont centrées sur (50,50) Calculez x, l’autre extrémité à 50 + x Calculez y, l’autre extrémité à 50 + y Convertit x y en (x,y), un nombre complexe Ajoutez (50,50) à (x,y) Tracez la ligne Fin de la boucle FOR Affichez l’image Page 22-28 Exemple 2 - Un programme permettant de tracer une vue en coupe d’une rivière naturelle Cette application peut être utile pour déterminer la zone et le périmètre inondable des vues de coupe des rivières. Habituellement, on observe la vue de coupe d’une rivière ainsi qu’une série de points, représentant les coordonnées x et y par rapport à un jeu arbitraire d’axes de coordonnées. Ces points peuvent être tracés et on peut produire un schéma de la vue de coupe pour une profondeur d’eau donnée. Le schéma ci-dessous illustre cet exemple. Le programme, disponible sur la disquette ou le CD-ROM fourni avec la calculatrice, utilise quatre sous-programmes : FRAME, DXBED, GTIFS et INTRP. Le programme principal, appelé XSECT, accepte en entrée une matrice de valeurs de x et de y et l’élévation de surface Y (voir le schéma ci-dessus), dans cet ordre. Le programme produit un graphique représentant une vue en coupe et indiquant les données d’entrée à l’aide de points sur le graphique; la surface libre est représentée en coupe. Page 22-29 Il est recommandé de créer un sous-répertoire distinct pour stocker les programmes. Vous pouvez l’appeler RIVER, dans la mesure où il s’agit de vues de coupe ouvertes et irrégulières, typiques des rivières. Pour visualiser le programme XSECT en action, utilisez les jeux de données suivants. Saisissez-les en tant que matrices de deux colonnes, la première colonne correspondant à x et la deuxième à y. Stockez les matrices dans des variables portant des noms tels que XYD1 (jeu de données 1 X-Y) et XYD2 (jeu de données 2 X-Y). Pour exécuter le programme, placez l’un des jeux de données dans la pile, par exemple, J @XYD1!, puis entrez une élévation de la surface de l’eau, par exemple 4.0, et appuyez sur @XSECT. La calculatrice affiche un schéma de la vue de coupe avec la surface de l’eau correspondante. Pour quitter l’affichage du graphique, appuyez sur $. Essayez les exemples suivants : @XYD1! @XYD1! @XYD1! @XYD1! 2 3 4 6 @XSECT @XSECT @XSECT @XSECT Veuillez etre patient lorsque vous exécutez le programme XSECT. Compte tenu du nombre relativement important de fonctions graphiques utilisées, sans compter les itérations numériques, la production du graphique peut demander un certain temps (environ 1 minute). Jeu de données 1 x 0.4 1.0 2.0 3.4 4.0 y 6.3 4.9 4.3 3.0 1.2 Jeu de données 2 x 0.7 1.0 1.5 2.2 3.5 y 4.8 3.0 2.0 0.9 0.4 Page 22-30 5.8 7.2 7.8 9.0 2.0 3.8 5.3 7.2 4.5 5.0 6.0 7.1 8.0 9.0 10.0 10.5 11.0 1.0 2.0 2.5 2.0 0.7 0.0 1.5 3.4 5.0 Note : le programme FRAME, tel que programmé initialement (voir la disquette ou le CD ROM) ne préserve pas l’échelle appropriée du graphique. Pour préserver l’échelle adéquate, remplacez FRAME par le programme suivant : « STOΣ MINΣ MAXΣ 2 COL DUP COL DROP – AXL ABS AXL 20 / DUP NEG SWAP 2 COL + ROW DROP SWAP yR xR « 131 DUP RB SWAP yR OBJ DROP – xR OBJ DROP - / * FLOOR RB PDIM yR OBJ DROP YRNG xR OBJ DROP XRNG ERASE » » Ce programme conserve la largeur de la variable PICT à 131 pixels – la taille minimale en pixels pour l’axe horizontal – et ajuste le nombre de pixels des axes verticaux de manière à maintenir une échelle de 1:1 entre les axes horizontaux et verticaux. Coordonnées en pixels Le schéma ci-dessous présente les coordonnées en pixels de l’écran typique (minimal) de 131×64 pixels. Les coordonnées en pixels sont mesurées à partir de l’angle supérieur gauche de l’écran {# 0h # 0h}, qui correspond aux coordonnées définies par l’utilisateur (xmin, ymax). Les coordonnées maximales en termes de pixels correspondent à l’angle inférieur droit de l’écran {# 82h #3Fh}, qui, en coordonnées de l’utilisateur, équivaut au point (xmax, ymin). Les coordonnées des deux autres angles, à la fois en pixels et en unités d’utilisateur, sont présentées dans le schéma. Page 22-31 Animation de graphiques Nous présentons ici une manière de produire des animations à l’aide du type de tracé Y-Slice. Supposons que vous souhaitiez animer la vague mouvante, f(X,Y) = 2.5 sin(X-Y). On peut considérer le X comme la valeur de temps dans l’animation produisant des tracés de f(X,Y) par opposition à Y pour des valeurs différentes de X. Pour produire un tel graphique, utilisez la commande suivante : • „ô simultanément. Sélectionnez Y-Slice comme TYPE. ‘2.5*SIN(X-Y)’ pour EQ. ‘X’ pour INDEP. Appuyez sur L@@@OK@@@. • „ò, simultanément (si en mode RPN). Utilisez les valeurs suivantes : • Appuyez sur @ERASE @DRAW. Laissez à la calculatrice le temps d'assimiler tous les graphiques nécessaires. Une fois prête, elle affichera une vague sinusoïdale mouvante à l’écran. Page 22-32 Animation d’un ensemble de graphiques La calculatrice fournit la fonction ANIMATE ("animer") pour animer un certain nombre de graphiques placés dans la pile. Vous pouvez générer un graphique dans l’écran de graphiques à l’aide des commandes des menus PLOT et PICT. Pour placer le graphique ainsi généré dans la pile, utilisez la commande PICT RCL. Lorsque vous disposez de n graphiques dans les niveaux n à 1 de la pile, vous pouvez utiliser simplement la commande n ANIMATE pour produire une animation constituée des graphiques placés dans la pile. Exemple 1 – Animation d’une vaguelette à la surface de l’eau A titre d’exemple, entrez le programme suivant qui génère 11 graphiques représentant un cercle centré dans l’écran des graphiques et dont le rayon augmente d’une valeur constante à chaque graphique successif. « RAD 131 RB 64 RB PDIM 0 100 XRNG 0 100 YRNG 1 11 FOR j ERASE (50., 50.) ‘5*(j-1)’ NUM 0 ‘2*π’ NUM ARC PICT RCL Démarrez le programme Définissez les unités d’angle sur radians Définissez PICT sur 131×64 pixels Définissez les plages x et y sur 0-100 Démarrez la boucle avec j = 1 ..11 Effacez le PICT actuel Centrez les cercles (50,50) Dessinez le centre du cercle r = 5(j-1) Placez le PICT actuel dans la pile Page 22-33 NEXT 11 ANIMATE » Terminez la boucle FORNEXT Animez Terminez le programme Stockez ce programme dans une variable appelée PANIM (Plot ANIMation ou Animation du tracé). Pour exécuter le programme, appuyez sur J ( ou au besoin) @PANIM. Il faut à la calculatrice plus d’une minute pour générer les graphiques et faire apparaître l’animation. Par conséquent, soyez très patient. Le symbole du sabler s’affiche à l’écran pendant un moment qui peut sembler long avant l’apparition de l’animation, laquelle évoque les vaguelettes produites par la chute d’une pierre à la surface d’une eau très calme. Pour interrompre l’animation, appuyez sur $. Les 11 graphiques générés par le programme sont toujours disponibles dans la pile. Pour redémarrer l’animation, utilisez simplement la commande : 11 ANIMATE. (La fonction ANIMATE et disponible via „°L@)GROB L @ANIMA). L’animation est relancée. Appuyez sur $ pour interrompre à nouveau l’animation. Remarquez que le nombre 11 figure toujours au niveau 1 de la pile. Appuyez sur ƒ pour le supprimer de la pile. Supposons que vous souhaitiez conserver les chiffres composant cette animation dans une variable. Vous pouvez créer une liste de ces chiffres, que nous appellerons WLIST, à l’aide de la commande : 11 „°@)TYPE@ @ LIST ³ ~~wlist~ K Appuyez sur J pour récupérer votre liste de variables. La variable @WLIST doit maintenant figurer dans vos touches de menu. Pour ranimer cette liste de variables, vous pouvez utiliser le programme suivant : « Démarrez le programme WLIST Placez la liste WLIST dans la pile OBJ Décomposez la liste, niveau de pile 1 = 11 ANIMATE Démarrez l’animation Page 22-34 » Terminez le programme Enregistrez ce programme dans une variable appelée RANIM (RANIMer). Pour l’exécuter, appuyez sur @RANIM. Le programme suivant anime les graphiques de WLIST vers l’avant et vers l’arrière : « WLIST DUP REVLIST + OBJ ANIMATE » Démarrez le programme Placez la liste WLIST dans la pile, faites-en une copie supplémentaire Inversez l’ordre, concaténez les 2 listes Décomposez la liste en éléments, niveau 1 = 22 Démarrez l’animation Terminez le programme Enregistrez ce programme dans une variable appelée RANI2 (RANImer version 2). Pour l’exécuter, appuyez sur @RANI2. L’animation simule maintenant une vaguelette à la surface d’une eau paisible qui se reflète sur les parois d’un réservoir circulaire en revenant vers le centre. Appuyez sur $ pour interrompre l’animation. Exemple 2 – Animation du tracé de différentes fonctions de puissance Supposons que vous souhaitiez animer le tracé des fonctions f(x) = xn, n = 0, 1, 2, 3, 4, dans la même série d’axes. Vous pouvez utiliser le programme suivant : « RAD 131 RB 64 RB PDIM 0 2 XRNG 0 20 YRNG Démarrez le programme Définissez les unités d’angle sur radians Définissez l’écran PICT sur 131×64 pixels Définissez les plages x et y Page 22-35 0 4 FOR j ‘X^j’ STEQ ERASE DRAX LABEL DRAW PICT RCL NEXT 5 ANIMATE » Démarrez la boucle avec j = 0,1,…,4 Stockez ‘X^j’ dans la variable EQ Effacez le PICT actuel Dessinez les axes, étiquettes, fonction Placez le PICT actuel dans la pile Terminez la boucle FOR-NEXT Animez Stockez ce programme dans une variable appelée PWAN (PoWer function ANimation). Pour exécuter le programme, appuyez sur J (ou au besoin) @PWAN. La calculatrice dessine chaque fonction de puissance individuelle avant de lancer l’animation dans laquelle les cinq fonctions seront tracées rapidement l’une après l’autre. Pour interrompre l’animation, appuyez sur $. Plus d’informations sur la fonction ANIMATE La fonction ANIMATE telle qu’elle est utilisée dans les deux exemples précédents utilisait en entrée les graphiques à animer et leur numéro. Vous pouvez utiliser d’autres informations pour produire l’animation, par exemple l’intervalle entre les graphiques et le nombre de répétitions des graphiques. Le format général de la fonction ANIMATE dans ces cas est le suivant : n-graphs { n {#X #Y} delay rep } ANIMATE n représente le nombre de graphiques, {#X #Y} correspondent aux coordonnées de l’angle inférieur droit de la zone à tracer (voir la figure cidessous), delay représente le nombre de secondes admis entre des graphiques consécutifs de l’animation et rep représente le nombre de répétitions de l’animation. Objets graphiques (GROBs) Le mot GROB signifie GRaphics Objects (objets graphiques) ; il est utilisé dans l’environnement de la calculatrice pour représenter une description pixel Page 22-36 par pixel de l’image produite sur l’écran. Par conséquent, lorsqu’une image est convertie en GROB, elle devient une séquence de chiffres binaires (binary digits = bits), c’est-à-dire de 0 et de 1. Pour illustrer les GROBs et la conversion des images en GROBS, considérez l’exercice suivant. Lorsque l’on produit un graphique dans la calculatrice, le graphique devient le contenu d’une variable spéciale appelée PICT. Ainsi, pour afficher le contenu le plus récent de PICT, vous pouvez utiliser la commande suivante : PICT RCL(„°L@)PICT @PICT „©). L’écran affiche dans le niveau 1 de la pile line line Graphic 131×64 (si vous utilisez la taille d’écran standard) suivie d’un schéma de la partie supérieure du graphique. Par exemple : Si vous appuyez sur ˜ le graphique situé au niveau 1 apparaît sur l’écran de la calculatrice. Appuyez sur @CANCL pour revenir à l’affichage normal. Le graphique du niveau 1 n’est toujours pas au format GROB, même s’il s’agit, par définition, d’un objet graphique. Pour convertir un graphique de la pile en GROB, utilisez la commande suivante : 3` „°L@)GROB @GROB . Les informations suivantes apparaissent alors au niveau 1: La première partie de la description est similaire au contenu initial, à savoir, Graphic 131×64, mais elle est désormais exprimée par Graphic 13128 Page 22-37 × 8. Toutefois, l’écran de graphiques est maintenant remplacé par une séquence de zéros et de uns qui représentent les pixels du graphique d’origine. Ainsi, le graphique d’origine a été remplacé par sa représentation en bits. Vous pouvez également convertir des équations en GROBs. Par exemple, utilisez le type rédacteur d’équation dans l’équation ‘X^2+3’ dans le niveau 1 de la pile, puis appuyez sur 1` „°L@)GROB @GROB . Le niveau 1 du GROB est maintenant décrit de la manière suivante : En tant qu’objet graphique, cette équation peut désormais être placée dans l’écran des graphiques. Pour retourner à l’écran des graphiques, appuyez sur š. Déplacez ensuite le curseur vers un secteur vide du graphique et appuyez sur @)EDIT LL@REPL. L’équation ‘X^2-5’ est placée dans le graphique, par exemple : Ainsi, les GROBs peuvent être utilisés pour documenter des graphiques en plaçant des équations ou du texte dans l’écran des graphiques. Le menu GROB Le menu GROB, accessible via „°L@)GROB @GROB, contient les fonctions suivantes. Appuyez sur L pour passer au menu suivant : Page 22-38 GROB Parmi ces fonctions, nous avons déjà utilisé SUB, REPL, (du menu EDIT des graphiques), ANIMATE [ ANIMA ], et GROB. ( [ PRG ] est simplement un moyen de revenir au menu de programmation). Lors de l’utilisation de GROB dans les deux exemples précédents, vous avez peut-être remarqué que nous avions utilisé un 3 pendant la conversion du graphique en GROB, alors que nous utilisions un 1 pour convertir l’équation en GROB. Ce paramètre de la fonction GROB indique la taille de l’objet converti en GROB par 0 ou 1 pour un petit objet, 2 pour un objet moyen et 3 pour un gros objet. Les autres fonctions du menu GROB sont décrites ci-dessous. BLANK La fonction BLANK, avec les arguments #n and #m, crée un objet graphique vide dont la largeur et la hauteur sont spécifiées par les valeurs #n et #m, respectivement. Cette fonction est similaire à la fonction PDIM du menu GRAPH. GOR La fonction GOR (Graphics OR) accepte en entrée grob2 (une cible GROB), une série de coordonnées, et grob1, et produit la superposition de grob1 sur grob2 (ou PICT) à partir des coordonnées spécifiées. Les coordonnées peuvent être spécifiées en unités définies par l’utilisateur (x,y), ou en pixels {#n #m}. GOR utilise la fonction OR pour déterminer l’état de chaque pixel (activé ou désactivé) dans la région de superposition de grob1 et grob2. GXOR The function GXOR (Graphics XOR) effectue la même opération que GOR, mais en utilisant XOR pour déterminer l’état final des pixels dans la zone de superposition des objets graphiques grob1 et grob2. Note: dans GOR comme dans GXOR, lorsque grob2 est remplacé par PICT, ces fonctions ne produisent pas de sortie. Pour afficher la sortie, il faut rappeler PICT vers la pile à l’aide des commandes PICT RCL ou PICTURE. Page 22-39 LCD Utilise un GROB spécifié et l’affiche à l’écran de la calculatrice à partir de l’angle supérieur gauche. LCD Copie le contenu de la pile et l’affichage du menu dans un GROB de 131 x 64 pixels. SIZE La fonction SIZE, appliquée à un GROB, affiche la taille du GROB sous forme de deux nombres. Le premier nombre, figurant au niveau 2 de la pile, représente la largeur de l’objet graphique, tandis que le second nombre, au niveau 1 de la pile, correspond à sa hauteur. Exemple d’un programme utilisant un GROB Le programme suivant produit le graphique de la fonction sine, y compris un cadre – tracé à l’aide de la fonction BOX – et un GROB pour étiqueter le graphique. Voici le descriptif du programme : « RAD 131 RB 64 RB PDIM -6.28 6.28 XRNG –2. 2. YRNG FUNCTION ‘SIN(X)’ STEQ ERASE DRAX LABEL DRAW (-6.28,-2.) (6.28,2.) BOX PICT RCL Démarrez le programme Définissez les unités d’angle sur radians Définissez l’écran PICT pour 131×64 pixels Définissez les plages x et y Sélectionnez le type FUNCTION pour les graphiques Stockez la fonction sin dans EQ Effacez, dessinez les axes, les étiquettes, le graphique Dessinez un cadre autour du graphique Placez le contenu de PICT sur la pile Page 22-40 “SINE FUNCTION” 1 GROB (-6., 1.5) SWAP GOR PICT STO { } PVIEW » Placez la chaîne d’étiquette du graphique dans la pile Convertissez la chaîne en un petit GROB Coordonnées pour placer l’étiquette GROB Associez PICT à l’étiquette GROB Enregistrez le GROB associé dans PICT Amenez PICT sur la pile Terminez le programme Enregistrez le programme sous le nom GRPR (GROB PRogram). Appuyez sur @GRPR pour exécuter le programme. Le résultat se présente comme suit : Programme avec fonctions de tracé et de dessin Dans cette section, nous développons un programme permettant de produire, de dessiner et d’étiqueter le cercle de Mohr pour une situation donnée de stress à deux dimensions. La figure de gauche présente l’état de stress en deux dimensions σxx et σyy correspondant aux stress normaux et τxy = τyx au stress de déchirure. La figure de droite présente l’état des stress en cas de rotation de l’élément d’un angle φ. Dans ce cas, les stress normaux sont σ’xx et σ’yy, tandis que les stress de déchirure sont τ’xy et τ’yx. Page 22-41 La relation entre l’état original des stress (σxx, σyy, τxy, τyx) et l’état de stress en cas de rotation des axes dans le sens inverse des aiguilles d’une montre selon un angle f (σ’xx, σ’yy, τ’xy, τ’yx), peut être représentée de manière graphique par la construction présentée dans la figure ci-dessous. Pour construire le cercle de Mohr, nous utilisons un système de coordonnées cartésiennes, l’axe x correspondant aux stress normaux (σ), et l’axe y correspondant aux axes de déchirure (τ). Localisez les points A(σxx,τxy) et B (σyy, τxy) et dessinez le segment AB. Le point C où le segment AB croise l’axe σn constituera le centre du cercle. Remarquez que les coordonnées du point C sont (½⋅(σyy + σxy), 0). Pour construire le cercle manuellement, vous pouvez utiliser un compas pour tracer le cercle, dans la mesure où vous connaissez l’emplacement du centre C et celui de deux points, A et B. Le segment AC représente l’axe x dans l’état de stress d’origine. Pour déterminer l’état de stress d’une série d’axes x’-y’, ayant pivoté dans le sens inverse des aiguilles d’une montre selon un angle φ par rapport à la série d’axes d’origine x-y, tracez le segment A’B’, centré en C et ayant pivoté dans le sens des aiguilles d’une montre selon un angle 2φ par rapport au segment AB. Les coordonnées du point A’ indiquent les valeurs (σ’xx,τ’xy), tandis que celles de B’ indiquent les valeurs (σ’yy,τ’xy). Page 22-42 a situation de stress pour laquelle le stress de déchirure, τ’xy, est nul, indiquée par le segment D’E’, produit ce que l’on appelle les stress principaux, σPxx (au point D’) et σPyy (au point E’). Pour obtenir les stress principaux, vous devez faire pivoter le système de coordonnées φn, selon un angle fn, dans le sens inverse des aiguilles d’une montre, par rapport au système x-y. Dans le cercle de Mohr, l’angle entre les segments AC et D’C mesure 2φn. La situation de stress pour laquelle le stress de déchirure, τ’xy, est au maximum, est donnée par le segment F’G’. Dans de telles conditions, les deux stress normaux, σ’xx = σ’yy , sont égaux. L’angle correspondant à cette rotation est φs. L’angle entre le segment AC et le segment F’C dans la figure représente 2φs. Programmation modulaire Pour développer le programme permettant de tracer le cercle de Mohr étant donné un état de stress, nous utiliserons la programmation modulaire. Fondamentalement, cette démarche consiste à décomposer le programme Page 22-43 dans un certain nombre de sous-programmes créés en tant que variables distinctes dans la calculatrice. Ces sous-programmes sont liés par un programme principal, que nous appellerons MOHRCIRCL. Nous créerons d’abord un sous-répertoire appelé MOHRC dans le répertoire HOME, puis nous nous déplacerons dans ce répertoire pour entrer les programmes. L’étape suivante consiste à créer le programme principal et les sousprogrammes dans le sous-répertoire. Le programme principal, MOHRCIRCL utilise les sous-progr