Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

Comment faire ?

Posté par
cygne
08-05-07 à 18:43

Je sais que la série somme de 1/n est divergente
Comment faire avec mapple pour lui demander de sommer jusqu'à ce que le résultat ateigne environ 100 ?
Merçi par avance

*** message déplacé ***

Posté par
romu
re : Comment faire ? 08-05-07 à 19:06

Salut,

somme:= proc(n)
> local i, resultat;
> i:=1; resultat:= 0;
> while i<=n do resultat := resultat+1/i: i:=i+1 od;
> return evalf(resultat);
> end proc;

> somme(100);

                             5.187377518

Posté par
Matouille2b
re : Comment faire ? 08-05-07 à 19:42

Salut

Tu peux aussi utiliser la fonction "sum" prédéfinie par Maple

sum(1/k,k=1..100);

Posté par
Matouille2b
re : Comment faire ? 08-05-07 à 19:48

La question que tu poses si je me trompes c'est :

Determiner la plus petite valeur de n telle que :\displaystyle \sum_{k=1}^n \frac{1}{k} \geq 100

Riemann:=proc()
local i,s:
s:=0:
i:=0:
while s<100 do
i:=i+1;
s:=s+1/i;
od:
[i,evalf(s)];
end;

Posté par
perroquet
re : Comment faire ? 08-05-07 à 21:15

Bonsoir, cygne.

La procédure donnée par Matouille2b dans son post de 19h48 est correcte, mais Maple va mettre "un certain temps" à trouver le résultat. Parce que une valeur approchée de n est e^(100), soit 2.7 10^(43). Il faudra au moins 10^20 années ...

Posté par
cygne
ok 09-05-07 à 20:15

Merçi à tous
Mais si je sais que c est possible on l avait fait et il faut environ 65*10^45 termees pour atteindre  environ 108  et on a eu le résultat en trés peu de temps
Mais voilà je sais qu il y a une histoire de boucle Mais aprés ??
Bon je vais essayer vos méthodes
Merçi                          

Posté par
perroquet
re : Comment faire ? 09-05-07 à 22:47

Je n'ai pas affirmé qu'il était impossible de trouver le résultat, j'ai affirmé que la procédure décrite par Matouille2b mettrait au moins 10^(20) années à s'exécuter.

Si on tient vraiment à écrire des instructions Maple, en voici:

n:=1:i:=0:while evalf(sum(1/k,k=1..n))<100 do n:=n*10:i:=i+1: od:i;

Maple renvoie la valeur 44.
Cela montre que la somme des 1/k, pour k variant de 1 à 10^(43) est inférieure à 100 et que la somme des 1/k, pour k variant de 1 à 10^44 est supérieure à 100.

On peut affiner l'encadrement trouvé:

i:=0:while evalf(sum(1/k,k=1..10^(43)+i*10^(42)))<100 do i:=i+1: od:i;

Maple renvoie la valeur 6.
La valeur de n pour laquelle la somme de 1/k, pour k variant de 1 à n, dépasse pour la première fois 100, est donc comprise entre 1.5 10^(43)  et  1.6 10^43

Si on veut trouver la valeur exacte de n, il y a moyen d'aller plus vite. On sait que la somme des 1/k pour k allant de 1 à n est égale à  ln n + gamma, où gamma est la constante d'Euler, la précision étant approximativement 1/(2n).

D'où les petites instructions très simples:

Digits:=100:n:=floor(evalf(exp(100-gamma)));

Maple répond:
n := 15092688622113788323693563264538101449859497

Vérifications:
evalf(sum(1/k,k=1..15092688622113788323693563264538101449859497));
Réponse:
100.0000000000000000000000000000000000000000000090043212088978916558581607357775193996186012972170661
evalf(sum(1/k,k=1..15092688622113788323693563264538101449859496));
Réponse:
99.99999999999999999999999999999999999999999994274707407171113078294114873868911019770156104249600526



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !