[message deleted]

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
CardinalJo
Messages: 4
Enregistré le: 22 Oct 2007, 11:54

[message deleted]

par CardinalJo » 22 Oct 2007, 12:02

[message deleted]
[/message deleted]



busard_des_roseaux
Membre Complexe
Messages: 3151
Enregistré le: 24 Sep 2007, 13:50

par busard_des_roseaux » 22 Oct 2007, 14:58

1er cas:

Le package a une routine cosinus. Y a rien à faire:


Il faut penser à convertir les degrés en radians.

2ème cas :
le package a une routine sinus et pas de routine cosinus, et une routine
de calcul de


3ème cas:
si tu dois calculer l'intégrale à la main,
tu peux programmer la méthode des rectangles ou les sommes de Darboux.
i.e, calculer la somme


4ème cas:
Si par hasard, le package ne dispose pas de ,
utilise une formule de john Machin (très simple), avec des arctangentes, pour en calculer une valeur approchée.


en utilisant le développement en série d'arctangente.

CardinalJo
Messages: 4
Enregistré le: 22 Oct 2007, 11:54

par CardinalJo » 22 Oct 2007, 16:27

Merci beaucoup pour ta réponse rapide.

Le package dispose des fonction sin, cos, et Pi

Devant utiliser une boucle je pense utiliser le 3ème cas que tu m'a exposé simplement la notation de la somme ne m'est pas très familière...
Pourrais-tu me donner un exemple des 2 premiers termes s'il te plait ?

Merci d'avance ;-)

Jo

busard_des_roseaux
Membre Complexe
Messages: 3151
Enregistré le: 24 Sep 2007, 13:50

par busard_des_roseaux » 22 Oct 2007, 20:12


CardinalJo
Messages: 4
Enregistré le: 22 Oct 2007, 11:54

par CardinalJo » 23 Oct 2007, 10:14

Encore merci !!

juste un dernier petit doute... que vaut n dans la formule de Darboux?
et k va de A à B ou il de 0 à ... ?

Salutations,
Jo

busard_des_roseaux
Membre Complexe
Messages: 3151
Enregistré le: 24 Sep 2007, 13:50

par busard_des_roseaux » 23 Oct 2007, 15:13

la somme comporte n termes.
Plus n est grand, meilleure est l'approximation de l'intégrale.
k est un compteur qui varie de 0 à n-1.

CardinalJo
Messages: 4
Enregistré le: 22 Oct 2007, 11:54

par CardinalJo » 23 Oct 2007, 17:02

Hello,

Voici le code que j'utilise pour calculer l'intégrale :

Code: Tout sélectionner
 for k in 0 .. (n-1)
   loop
      Integrale := Integrale + SIN(((2.0*Pi)/360.0)*(Angle_A + float(k) * ((Angle_B-Angle_A)/n))); 
   end loop;

      Integrale := Integrale * (((2.0*Pi)/(Angle_B-Angle_A))/360.0);


Notes:
  • Integrale vaut 0 avant d'entrer dans la boucle.
  • n est un grand nombre choisis par l'utilisateur (exemple 10'000)
  • je multiplie par la constante après la boucle car elle ne fait pas partie de la somme
  • la commande float(k) permet simplement de convertir k en un réel plutôt qu'un entier (10 -> 10.0) : restriction du langage)


Le problème est que plus n est grand plus mon intégrale est grande... alors qu'elle devrait juste être plus précise... je dois donc avoir une erreur dans la formule.... si tu vois ou je me suis trompé ?

Code: Tout sélectionner
Exemple pour un Angle_A de 0° et un Angle_B de 90° j'obtiens
   - Avec un n de 100    :  0.01224847
   - Avec un n de 1000   :  0.12335973
   - Avec un n de 10000  :  1.23447263
   - Avec un n de 100000 : 12.34582996

Merci

Jo

busard_des_roseaux
Membre Complexe
Messages: 3151
Enregistré le: 24 Sep 2007, 13:50

par busard_des_roseaux » 23 Oct 2007, 19:55

à la dernière ligne de code, il y a un signe de division par (b - a)
au lieu d'un signe de multiplication

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 42 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite