« Mathématiques avec Python et Ruby/Suites en Ruby » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 221 :
=Suites et séries=
Une série est une suite dont le terme général est défini par une somme.
==Premier exemple==
La suite définie par <math>u_n=\frac{1}{2}+\frac{1}{6}+\frac{1}{12}+\frac{1}{20}+...=\frac{1}{1\times 2}+\frac{1}{2 \times 3}+\frac{1}{3\times 4}+\frac{1}{4 \times 5}+...+\frac{1}{n(n+1)}=\sum_{k=1}^n \frac{1}{k(k+1)}</math> tend vers 1, il est relativement aisé de le démontrer, et encore plus facile de le vérifier avec ''Ruby'':
<source lang="ruby">
suite=(1..50).collect{|n|
(1..n).inject(0){|somme,k|
somme+=1.0/(k*k.succ)
}
}
puts(suite)
</source>
Cette suite est une suite de rationnels:
<source lang="ruby">
require 'mathn'
suite=(1..20).collect{|n|
(1..n).inject(0){|somme,k|
somme+=1/(k*k.succ)
}
}
puts(suite)
</source>
Cette variante suggère d'ailleurs une démonstration de la convergence, grâce à l'émission d'une conjecture sur le terme général de la suite...
==Deuxième exemple==
La suite <math>u_n=\frac{n}{n^2+1}+\frac{n}{n^2+2}+\frac{n}{n^2+3}+\frac{n}{n^2+4}+...+\frac{n}{n^2+n}=\sum_{k=1}^n \frac{n}{n^2+k}</math> converge aussi, bien que ce ne soit pas évident en voyant son expression algébrique.
<source lang="ruby">
suite=(1..20).collect{|n|
(1..n).inject(0){|somme,k|
somme+=n.to_f/(n**2+k)
}
}
puts(suite)
</source>
Là encore, la suite est rationnelle:
<source lang="ruby">
require 'mathn'
suite=(1..20).collect{|n|
(1..n).inject(0){|somme,k|
somme+=n/(n**2+k)
}
}
puts(suite)
</source>
<source lang="ruby">
</source>
==Constante d'Euler==
On peut la calculer (et vérifier la lenteur de la convergence) avec
=Applications=
|