Accueil > > > POUR LES MATHEUX, DÉFINITION DE L'EXPONENTIELLE, SINUS, COSINUS
POUR LES MATHEUX, DÉFINITION DE L'EXPONENTIELLE, SINUS, COSINUS
Information sur la source
Description
Ben voila une petite source. Je pense qu'elle va surtout intéresser les matheux. Elle montre d'où vient la fonction exponentielle, sinus, cosinus, PI,..., grâce à une "résolution" de séries. C'est peut-être utile pour le calcul,... Je vous fais confiance, je pense que vous y trouverez une utilité (c'est déjà "didactique"). Toujours est-il, ce sont les définitions officielles de l'expo, cosinus, etc. Pour certaines fonctions, il est possible qu'il y ait des problèmes de précision. Il faudra alors régler le nombre de sommes pour la série. @++
Source
- /* DEFINITION DE L'EXPONENTIELLE AINSI QUE DU COSINUS ET DU SINUS */
-
-
- /*EXPONENTIELLE*/
-
- /*On définit l'exponentielle comme une série tel que
- la somme de n=0 jusqu'à l'infini du nombre à la puissance n
- sur la factorielle de n.
-
- /**********Fonction factorielle**********/
-
- function factor(h) {
- return (h == 0)?1:(h * factor(h - 1)); //exemple : 5! = 5*4*3*2*1 = 120
- }
-
- /****************************************/
-
-
-
-
-
- /*********Fonction exponentielle*********/
-
- /* J'ai eu quelques soucis avec la fonction puissance
- à cause des infinis. J'ai donc utiliser la fonction
- prédéfinie Math.pow(). La fonction a été testée jusqu'à 100,
- ensuite les nombres sont trop énormes pour cette fonction.*/
-
- function expo(z){ //la base est e = 2.718281828...
- var som = 0;
- for(n=0;n<155;n++)
- {
- val = (Math.pow(z,n))/(factor(n));
- som = som + val;
- }
- return som;
- }
-
- /****************************************/
-
-
-
-
-
- /******************PI********************/
-
- function pi(){
- var som = 0;
- for(n=0;n<25;n++) //25 est amplement suffisant car elle converge vite.
- {
- var N = 2*n;
- var N2 = 4*n+1;
- val = (factor(N))/(Math.pow(2,N2)*factor(n)*factor(n)*(2*n+1));
- som = som + val;
- }
- som = som * 6;
- return som;
- }
- /****************************************/
-
-
-
- /*****************SINUS******************/
-
- function sinus(nb){
- var som = 0;
- for(n=0;n<20;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
- {
- val = (Math.pow(-1,n)*Math.pow(nb,2*n+1))/(factor(2*n+1));
- som = som + val;
- }
- return som;
- }
-
- /****************************************/
-
-
-
-
- /****************COSINUS*****************/
-
- function cosinus(nb){
- var som = 0;
- for(n=0;n<20;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
- {
- val = (Math.pow(-1,n)*Math.pow(nb,2*n))/(factor(2*n));
- som = som + val;
- }
- return som;
- }
-
- /****************************************/
-
-
-
-
- /***************TANGEANTES***************/
-
- function tang(nb){
- val = sinus(nb)/cosinus(nb);
- return val;
- }
-
- /****************************************/
-
-
-
-
- /***************ARC SINUS****************/
-
- function arcsin(nb){
- var som = 0;
- for(n=0;n<30;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
- {
- val = (factor(2*n)*Math.pow(nb,2*n+1))/(Math.pow(2,2*n)*factor(n)*factor(n)*(2*n+1));
- som = som + val;
- }
- return som;
- }
-
- /****************************************/
-
-
-
-
- /**************ARC COSINUS***************/
- /*On définit l'ARC COSINUS par :
-
- arccos x = pi/2 - arcsin x
- */
-
- function arccos(nb){
- return pi()/2 - arcsin(nb);
- }
-
- /****************************************/
-
-
-
-
- /**************ARC TANGEANTE*************/
-
- function arctg(nb){
- var som = 0;
- for(n=0;n<40;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
- {
- val = (Math.pow(-1,n)*Math.pow(nb,2*n+1))/(2*n+1)
- som = som + val;
- }
- return som;
- }
-
- /****************************************/
-
-
-
-
- /***********SINUS HYPERBOLIQUE***********/
-
- function sinh(nb){
- return (expo(nb)-expo(-nb))/2;
- }
-
- /****************************************/
-
-
-
-
- /**********COSINUS HYPERBOLIQUE**********/
-
- function cosh(nb){
- return (expo(nb) + expo(-nb))/2;
- }
-
- /****************************************/
-
-
-
-
- /*********TANGEANTE HYPERBOLIQUE*********/
-
- function tanh(nb){
- return (1-expo(-2*nb))/(1+expo(-2*nb));
- }
-
- /****************************************/
-
-
-
-
- /**********SECANTE HYPERBOLIQUE**********/
-
- function sech(nb){
- return 1/cosh(nb);
- }
-
- /****************************************/
-
-
-
-
- /*********COSECANTE HYPERBOLIQUE*********/
-
- function cosech(nb){
- return 1/sinh(nb);
- }
-
- /****************************************/
-
-
-
-
- /********COTANGEANTE HYPERBOLIQUE********/
-
- function cotanh(nb){
- return cosh(nb)/sinh(nb);
- }
-
- /****************************************/
-
-
- document.write("Exponentielle de 1 : " + expo(1) + "<br>"+
- "Fonction prédéfinie Math.exp(1) : " + Math.exp(1) + "<br><br>"+
- "Nombre PI : " + pi() + "<br>"+
- "Nombre prédéfini : " + Math.PI + "<br><br>"+
- "Sinus de PI/2 : " + sinus(pi()/2) + "<br>"+
- "Sinus prédéfini : " + Math.sin(Math.PI/2) + "<br><br>"+
- "Cosinus de PI/4 : " + cosinus(pi()/4) + "<br>"+
- "Cosinus prédéfini : " + Math.cos(Math.PI/4) + "<br><br>"+
- "Tangeante de PI/4 : " + tang(pi()/4) + "<br>"+
- "Tangeante prédéfinie : " + Math.tan(Math.PI/4) + "<br><br>"+
- "Arc sinus de PI/4 : " + arcsin(pi()/4) + "<br>"+
- "Arc sinus prédéfini : " + Math.asin(Math.PI/4) + "<br><br>"+
- "Arc cosinus de PI/4 : " + arccos(pi()/4) + "<br>"+
- "Arc cosinus prédéfini : " + Math.acos(Math.PI/4) + "<br><br>"+
- "Arc tangeante de 1 : " + arctg(1) + "<br>"+
- "Arc tangeante prédéfini : " + Math.atan(1) + "<br><br>"+
- "Sinus hyperbolique de PI : " + sinh(pi()) + "<br>"+
- "Cosinus hyperbolique de PI : " + cosh(pi()) + "<br>"+
- "Tangeante hyperbolique de PI : " + tanh(pi()) + "<br>"+
- "Sécante hyperbolique de PI : " + sech(pi()) + "<br>"+
- "Cosécante hyperbolique de PI : " + cosech(pi()) + "<br>"+
- "Cotangeante hyperbolique de PI : " + cotanh(pi()));
/* DEFINITION DE L'EXPONENTIELLE AINSI QUE DU COSINUS ET DU SINUS */
/*EXPONENTIELLE*/
/*On définit l'exponentielle comme une série tel que
la somme de n=0 jusqu'à l'infini du nombre à la puissance n
sur la factorielle de n.
/**********Fonction factorielle**********/
function factor(h) {
return (h == 0)?1:(h * factor(h - 1)); //exemple : 5! = 5*4*3*2*1 = 120
}
/****************************************/
/*********Fonction exponentielle*********/
/* J'ai eu quelques soucis avec la fonction puissance
à cause des infinis. J'ai donc utiliser la fonction
prédéfinie Math.pow(). La fonction a été testée jusqu'à 100,
ensuite les nombres sont trop énormes pour cette fonction.*/
function expo(z){ //la base est e = 2.718281828...
var som = 0;
for(n=0;n<155;n++)
{
val = (Math.pow(z,n))/(factor(n));
som = som + val;
}
return som;
}
/****************************************/
/******************PI********************/
function pi(){
var som = 0;
for(n=0;n<25;n++) //25 est amplement suffisant car elle converge vite.
{
var N = 2*n;
var N2 = 4*n+1;
val = (factor(N))/(Math.pow(2,N2)*factor(n)*factor(n)*(2*n+1));
som = som + val;
}
som = som * 6;
return som;
}
/****************************************/
/*****************SINUS******************/
function sinus(nb){
var som = 0;
for(n=0;n<20;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
{
val = (Math.pow(-1,n)*Math.pow(nb,2*n+1))/(factor(2*n+1));
som = som + val;
}
return som;
}
/****************************************/
/****************COSINUS*****************/
function cosinus(nb){
var som = 0;
for(n=0;n<20;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
{
val = (Math.pow(-1,n)*Math.pow(nb,2*n))/(factor(2*n));
som = som + val;
}
return som;
}
/****************************************/
/***************TANGEANTES***************/
function tang(nb){
val = sinus(nb)/cosinus(nb);
return val;
}
/****************************************/
/***************ARC SINUS****************/
function arcsin(nb){
var som = 0;
for(n=0;n<30;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
{
val = (factor(2*n)*Math.pow(nb,2*n+1))/(Math.pow(2,2*n)*factor(n)*factor(n)*(2*n+1));
som = som + val;
}
return som;
}
/****************************************/
/**************ARC COSINUS***************/
/*On définit l'ARC COSINUS par :
arccos x = pi/2 - arcsin x
*/
function arccos(nb){
return pi()/2 - arcsin(nb);
}
/****************************************/
/**************ARC TANGEANTE*************/
function arctg(nb){
var som = 0;
for(n=0;n<40;n++) //à choisir suivant la précision que l'on veut donner, plus le nombre est grand et plus n doit être grand
{
val = (Math.pow(-1,n)*Math.pow(nb,2*n+1))/(2*n+1)
som = som + val;
}
return som;
}
/****************************************/
/***********SINUS HYPERBOLIQUE***********/
function sinh(nb){
return (expo(nb)-expo(-nb))/2;
}
/****************************************/
/**********COSINUS HYPERBOLIQUE**********/
function cosh(nb){
return (expo(nb) + expo(-nb))/2;
}
/****************************************/
/*********TANGEANTE HYPERBOLIQUE*********/
function tanh(nb){
return (1-expo(-2*nb))/(1+expo(-2*nb));
}
/****************************************/
/**********SECANTE HYPERBOLIQUE**********/
function sech(nb){
return 1/cosh(nb);
}
/****************************************/
/*********COSECANTE HYPERBOLIQUE*********/
function cosech(nb){
return 1/sinh(nb);
}
/****************************************/
/********COTANGEANTE HYPERBOLIQUE********/
function cotanh(nb){
return cosh(nb)/sinh(nb);
}
/****************************************/
document.write("Exponentielle de 1 : " + expo(1) + "<br>"+
"Fonction prédéfinie Math.exp(1) : " + Math.exp(1) + "<br><br>"+
"Nombre PI : " + pi() + "<br>"+
"Nombre prédéfini : " + Math.PI + "<br><br>"+
"Sinus de PI/2 : " + sinus(pi()/2) + "<br>"+
"Sinus prédéfini : " + Math.sin(Math.PI/2) + "<br><br>"+
"Cosinus de PI/4 : " + cosinus(pi()/4) + "<br>"+
"Cosinus prédéfini : " + Math.cos(Math.PI/4) + "<br><br>"+
"Tangeante de PI/4 : " + tang(pi()/4) + "<br>"+
"Tangeante prédéfinie : " + Math.tan(Math.PI/4) + "<br><br>"+
"Arc sinus de PI/4 : " + arcsin(pi()/4) + "<br>"+
"Arc sinus prédéfini : " + Math.asin(Math.PI/4) + "<br><br>"+
"Arc cosinus de PI/4 : " + arccos(pi()/4) + "<br>"+
"Arc cosinus prédéfini : " + Math.acos(Math.PI/4) + "<br><br>"+
"Arc tangeante de 1 : " + arctg(1) + "<br>"+
"Arc tangeante prédéfini : " + Math.atan(1) + "<br><br>"+
"Sinus hyperbolique de PI : " + sinh(pi()) + "<br>"+
"Cosinus hyperbolique de PI : " + cosh(pi()) + "<br>"+
"Tangeante hyperbolique de PI : " + tanh(pi()) + "<br>"+
"Sécante hyperbolique de PI : " + sech(pi()) + "<br>"+
"Cosécante hyperbolique de PI : " + cosech(pi()) + "<br>"+
"Cotangeante hyperbolique de PI : " + cotanh(pi()));
Conclusion
voila...
Historique
- 24 octobre 2005 23:42:10 :
- petit blème.
- 24 octobre 2005 23:46:57 :
- décidément !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
exp regulières [ par eax ]
salut!g encore un pb avec une expression régulière :je veux uniquement des variable savec des caractères alpha numériques des - des _ et des . et des
Pointeur étoilé qui ne fonctionne pas...!! [ par Ferrari01 ]
Bonjour à tous...Voici un petit code que j'ai adapté, mais qui ne fonctionne pas; en principe, de petites étoiles feraient une danse autour du pointeu
de la vitesse [ par peterbud ]
Bonjour à tous, Alors voilà,mon script me permet de faire tomber des gouttes de pluie sur ma page et ce que je cherche à faire c'est à varier la vites
modifier un code effet de neige [ par archi1 ]
bjr,j'aimerai associer une image au code ci-joint, à la place des flocons de neige.possible ou pas ?merci de votre aideentre balises head<!--
modifier un code [ par archi1 ]
bjr,j'aimerai associer une image au code ci-joint, à la place des flocons de neige.possible ou pas ?merci de votre aideentre balises head<!--
Conversion en Base 36 [ par fhalckon ]
J'ai juste un petit bug lorsque la conversion donne 0, le 0 ne s'indique pasC'est un script que j'ai copier ici (decimal to hexa) que j'ai légere
Cookie : Aidez moi s'il vous plait [ par Gravity ]
Bonjour à tous !Je suis vraiment nul en Javascript... J'aurais aimé savoir comment ce code ci peut-être modifié ou alors, creer un
Problème avec la Function Math [ par macromed ]
Je cherche un moyen de faire "si le numéro est entre x et xx"if (num > 20) égal Si le numéro est plus au que 20...
Effet neige a l'invers [ par lnazcal ]
Bonjour,Comment le sujet le dit si bien je cherche un javascript qui fasse un effet boules dans un verre de cola.Je me suis dit que il faudré cha
réaliser une boucle pour obtenir plusieurs résultat ... [ par popy29 ]
bonjour,je cherche à obtenir plusieurs résultats ou n résultat différents à partir d'une fonction mais je ne trouve pas
|
Derniers Blogs
WP7 5K BELGIUM CHALLENGEWP7 5K BELGIUM CHALLENGE par junarnoalg
Microsoft Belgique a le plaisir de vous annoncer le lancement du
Challenge Windows Phone 7
. Celui-ci se déroule du 12 juillet au 30 novembre 2010 et vous donne l'opportunit...
Cliquez pour lire la suite de l'article par junarnoalg LES MONADES POUR LES NULSLES MONADES POUR LES NULS par mdufourneaudravel
Avec l'annonce de F#, je me suis intéressé de plus en plus à la programmation fonctionnelle, je suis donc rapidement tombé sur les " monades ", mais malgré la lecture de plusieurs articles, j'étais resté perméable à leur concept. C'est désormais fini, grâ...
Cliquez pour lire la suite de l'article par mdufourneaudravel [WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Crystal Report (11)CRYSTAL REPORT (11)Crystal Reports est un outil de reporting souple et puissant, vous pouvez très facilement consult... Cliquez pour télécharger Crystal Report Academy System (12.0.2.0)ACADEMY SYSTEM (12.0.2.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft iPod Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPOD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPod Vidéo Convertisseur est un outil puissant de conversion d'iPod, facile à utiliser. ... Cliquez pour télécharger Xilisoft iPod Vidéo Convertisseur 6 Xilisoft iPhone Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPHONE VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPhone Vidéo Convertisseur est le meilleur logiciel de conversion iPhone qui peut facile... Cliquez pour télécharger Xilisoft iPhone Vidéo Convertisseur 6 Xilisoft iPad Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPAD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Il s'agit d'un logiciel polyvalent pour convertir les formats vidéo/audio populaires en formats p... Cliquez pour télécharger Xilisoft iPad Vidéo Convertisseur 6
|