| | |
| Auteur | Message |
|---|
Ippo Membre Extra

Nombre de messages: 6471 Age: 26 Localisation: bannissez moi Date d'inscription: 23/08/2007
 | Sujet: Re: Matlab Ven 2 Jan - 20:17 | |
| | AZ a écrit: | Salam,
| ken le survivant a écrit: | Salam
les ami(e)s, merci pour votre aide, mais la programmation, je n'y connais rien, je sais à peine programmer un petit truc de rien du tout et d'ailleurs ce que je veux programmer ne nécessite pas grand chose! les forums que vous me passez sont trop complexes, on s'y perd, les types te sortent des réponses de oufs...
au fait AZ, tu connais quelques bases de l'arithmétique? j'ai un problême:
j'ai programmé un petit truc pour calculer le reste d'une division euclidienne. Le problême est que le programme me donne le bon résultat sauf à partir d'un certain ordre, du genre 2^59/83, il me donne 32, or d'aprés les calculs de congruence c'est 34. Est ce possible que l'ordinateur à partir d'un certain ordre de grandeur ne calcul pas la valeur exacte comme 2^59 mais donne des résultats approximatifs? j'ai vérifié mon programme est bon en plus il est inspiré d'un site! |
De l'arithmétique, j'ai effectivement quelques vagues souvenirs.
Le plus simple serait de mettre ton programme ici (ou l'algorithme qui te permets de faire le calcul), comme ça je pourrais voir si je peux t'aider.
Pour ton résultat en particulier, ça peut venir de plein de choses, comme par exemple que tu utilises un type de variable qui ne peut contenir un nombre aussi grand. |
merci mon ami, j'ai résolu le blem. |
|  | | AZ Membre Extra

Nombre de messages: 3373 Age: 26 Localisation: Délocalisé Date d'inscription: 09/07/2008
 | |  | | Ippo Membre Extra

Nombre de messages: 6471 Age: 26 Localisation: bannissez moi Date d'inscription: 23/08/2007
 | Sujet: Re: Matlab Ven 2 Jan - 20:32 | |
| | AZ a écrit: | | ken le survivant a écrit: | merci mon ami, j'ai résolu le blem. |
je suis content pour toi 
par curiosité, d'où venait le pb ? |
salam
le blem était ce que je pensais, en fait le programme est basique, c'est juste pour calculer le reste de 2 puissance quelquechose par un entier naturel.
et en fait j'ai remarqué que à partir de 2^29, le programme donne n'importe quoi!
j'ai calculé 2^29, matlab donne le résultat exacte, mais 2^30 est trop grand, du coup il donne une approximation du genre 1.87 fois 10^7 (je dis nimporte quoi mais c'est un exemple).
Du coup il calculait le reste sur cette aproximation et le reste est donc faux!
alors j'ai du réfléchir pour trouver la solution et en fait il fallait que j'évite à matlab de passer par des calculs trop grand dépassant 2^29!
alors j'ai fais des récurrences (ici boucles)!
par exemple pour calculer le reste de 2^59 par 83, au lieu de calculer 2^59 puis son reste
je calcul le reste de 2^29 par 83, j'obtiens r1 (r1 est inférieur à 83, donc mes calculs ne dépasse par l'ordre de 1000 sauf pour 2^29)) puis je calcul 2*r1 et son reste par 83, j'obtient r2, et ainsi de suite jusqu'à r54 et terminé, j'obtiens le bon reste.
en bref, la seule valeur énorme que je manipule est 2^29 que matlab connait, le reste, je l'ai contourné en simplifiant les valeurs grace aux fameuses congruences!
technique de génie, hein? |
|  | | AZ Membre Extra

Nombre de messages: 3373 Age: 26 Localisation: Délocalisé Date d'inscription: 09/07/2008
 | Sujet: Re: Matlab Ven 2 Jan - 20:54 | |
| j'avoue que ton astuce m'a l'air pas mal. _________________ Et rappelez vous que vous êtes unique comme tout le monde !
|
|  | | Ippo Membre Extra

Nombre de messages: 6471 Age: 26 Localisation: bannissez moi Date d'inscription: 23/08/2007
 | Sujet: Re: Matlab Ven 2 Jan - 23:07 | |
| | AZ a écrit: | | j'avoue que ton astuce m'a l'air pas mal. |
t'es sérieux AZ? t'as compris mon astuce? |
|  | | Golestan Membre Extra

Nombre de messages: 7467 Localisation: Herat Afghanistan Date d'inscription: 10/12/2004
 | Sujet: Re: Matlab Ven 2 Jan - 23:20 | |
| | ken le survivant a écrit: |
salam
le blem était ce que je pensais, en fait le programme est basique, c'est juste pour calculer le reste de 2 puissance quelquechose par un entier naturel.
et en fait j'ai remarqué que à partir de 2^29, le programme donne n'importe quoi!
j'ai calculé 2^29, matlab donne le résultat exacte, mais 2^30 est trop grand, du coup il donne une approximation du genre 1.87 fois 10^7 (je dis nimporte quoi mais c'est un exemple).
Du coup il calculait le reste sur cette aproximation et le reste est donc faux!
alors j'ai du réfléchir pour trouver la solution et en fait il fallait que j'évite à matlab de passer par des calculs trop grand dépassant 2^29!
alors j'ai fais des récurrences (ici boucles)!
par exemple pour calculer le reste de 2^59 par 83, au lieu de calculer 2^59 puis son reste
je calcul le reste de 2^29 par 83, j'obtiens r1 (r1 est inférieur à 83, donc mes calculs ne dépasse par l'ordre de 1000 sauf pour 2^29)) puis je calcul 2*r1 et son reste par 83, j'obtient r2, et ainsi de suite jusqu'à r54 et terminé, j'obtiens le bon reste.
en bref, la seule valeur énorme que je manipule est 2^29 que matlab connait, le reste, je l'ai contourné en simplifiant les valeurs grace aux fameuses congruences!
technique de génie, hein? |
Salam Même si je ne comprends rien à ce que tu racontes, mais j'aime bien te voir dans cette postion  _________________ "Je suis entre moi et moi même Séparer de moi par moi même."  |
|  | | Ippo Membre Extra

Nombre de messages: 6471 Age: 26 Localisation: bannissez moi Date d'inscription: 23/08/2007
 | Sujet: Re: Matlab Ven 2 Jan - 23:35 | |
| | Golestan a écrit: | | ken le survivant a écrit: |
salam
le blem était ce que je pensais, en fait le programme est basique, c'est juste pour calculer le reste de 2 puissance quelquechose par un entier naturel.
et en fait j'ai remarqué que à partir de 2^29, le programme donne n'importe quoi!
j'ai calculé 2^29, matlab donne le résultat exacte, mais 2^30 est trop grand, du coup il donne une approximation du genre 1.87 fois 10^7 (je dis nimporte quoi mais c'est un exemple).
Du coup il calculait le reste sur cette aproximation et le reste est donc faux!
alors j'ai du réfléchir pour trouver la solution et en fait il fallait que j'évite à matlab de passer par des calculs trop grand dépassant 2^29!
alors j'ai fais des récurrences (ici boucles)!
par exemple pour calculer le reste de 2^59 par 83, au lieu de calculer 2^59 puis son reste
je calcul le reste de 2^29 par 83, j'obtiens r1 (r1 est inférieur à 83, donc mes calculs ne dépasse par l'ordre de 1000 sauf pour 2^29)) puis je calcul 2*r1 et son reste par 83, j'obtient r2, et ainsi de suite jusqu'à r54 et terminé, j'obtiens le bon reste.
en bref, la seule valeur énorme que je manipule est 2^29 que matlab connait, le reste, je l'ai contourné en simplifiant les valeurs grace aux fameuses congruences!
technique de génie, hein? |
Salam Même si je ne comprends rien à ce que tu racontes, mais j'aime bien te voir dans cette postion  |
c'est rien du tout, tout cela, c'est juste de la logique, du language machine et enfn des nombres! |
|  | | Golestan Membre Extra

Nombre de messages: 7467 Localisation: Herat Afghanistan Date d'inscription: 10/12/2004
 | Sujet: Re: Matlab Ven 2 Jan - 23:43 | |
| Oui mais pour moi ça du chinois. _________________ "Je suis entre moi et moi même Séparer de moi par moi même."  |
|  | | Ippo Membre Extra

Nombre de messages: 6471 Age: 26 Localisation: bannissez moi Date d'inscription: 23/08/2007
 | Sujet: Re: Matlab Ven 2 Jan - 23:47 | |
| | Golestan a écrit: | | Oui mais pour moi ça du chinois. |
ne t'inquiètes pas! des types qui ont eu un BAC S, qui font des études en maths, en 2eme année ne comprennent même pas cela. C'est normal que toi tu ne comprends pas. |
|  | | Golestan Membre Extra

Nombre de messages: 7467 Localisation: Herat Afghanistan Date d'inscription: 10/12/2004
 | |  | | |
| Page 2 sur 3 | Aller à la page : 1, 2, 3  |
| | Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |