« Mathématiques avec Python et Ruby/Suites en Ruby » : différence entre les versions
Ligne 5 : | Ligne 5 : | ||
==Par fonction== |
==Par fonction== |
||
Une suite est une fonction de <math>\N</math> dans <math>\R</math> (ou <math>\C</math>...). On peut donc facilement calculer les premiers termes de celle-ci en utilisant la méthode ''collect'' d'une liste d'entiers (approximation finie de <math>\N</math>). Par exemple pour vérifier que |
Une suite est une fonction de <math>\N</math> dans <math>\R</math> (ou <math>\C</math>...). On peut donc facilement calculer les premiers termes de celle-ci en utilisant la méthode ''collect'' d'une liste d'entiers (approximation finie de <math>\N</math>). Par exemple pour vérifier que la suite <math>u_n=\frac{1}{n}</math> tend vers 0, on peut essayer |
||
<source lang="ruby"> |
<source lang="ruby"> |
||
Ligne 16 : | Ligne 16 : | ||
===Suite logistique=== |
===Suite logistique=== |
||
La [[w:Suite logistique|suite logistique]] <math>u_{n+1}=4u_n\left(1-u_n\right)</math> est [[w:Théorie du chaos|chaotique]] sur ''[0;1]''. Pour le vérifier, on peut faire |
|||
<source lang="ruby"> |
|||
u=0.1 |
|||
50.times do |
|||
u=4*u*(1-u) |
|||
puts(u) |
|||
end |
|||
</source> |
|||
En constatant que <math>u_0=0,1=\frac{1}{10}\in \Q</math>, on peut vérifier que, quoique chaotique, cette suite est formée de fractions: |
|||
<source lang="ruby"> |
|||
require 'mathn' |
|||
u=1/10 |
|||
10.times do |
|||
u=4*u*(1-u) |
|||
puts(u) |
|||
end |
|||
</source> |
|||
===Suites arithmétiques et géométriques=== |
===Suites arithmétiques et géométriques=== |
Version du 21 décembre 2010 à 16:39
Une suite de nombres (éventuellement complexes) ne peut se représenter en machine parce qu'elle comprend une infinité de termes. Alors on n'en représente qu'une partie sous forme de liste de nombres. Et Ruby manipule très bien ce genre d'objets.
Définition de suites
Par fonction
Une suite est une fonction de dans (ou ...). On peut donc facilement calculer les premiers termes de celle-ci en utilisant la méthode collect d'une liste d'entiers (approximation finie de ). Par exemple pour vérifier que la suite tend vers 0, on peut essayer
(1..50).collect{|n| puts(1/n.to_f)}
Suites récurrentes
Pour une suite récurrente, chaque terme est défini à partir du précédent.
Suite logistique
La suite logistique est chaotique sur [0;1]. Pour le vérifier, on peut faire
u=0.1
50.times do
u=4*u*(1-u)
puts(u)
end
En constatant que , on peut vérifier que, quoique chaotique, cette suite est formée de fractions:
require 'mathn'
u=1/10
10.times do
u=4*u*(1-u)
puts(u)
end