Bonjour,
Je viens de démontrer le résultat suivant, assez facile j'ai réussi sans regarder la correction, mais je ne comprends pas le programme Python qui lui correspond.
Soit une fonction de classe
où
. Alors pour tout
, on a :
Avec et
def rectangle(f,a,b,n) :
s=0
pas=(b-a)/n
for k in range(n):
s=s+f(a)
a=a+pas
return (s*pas)
J'ai aussi une autre question, il est écrit dans mon livre :
Cette méthode n'est pas très efficace. Pour avoir une valeur approchée à près, il faut faire
calculs.
Je n'ai pas compris comment on trouve les calculs.
salut
franchement si tu ne comprends pas qu'il calcule la somme ... des aires des rectangles S_n (f) ...
quant au nombres d'opérations il suffit de compter combien de fois la boucle est exécutée (et combien d'opérations ont lieu dans cette boucle) ...
Bonjour
je pense que tu voulais dire de classe , il y a une petite coquille
Le nombre de calculs à effectuer est (ou n+1 si tu comptes la multiplication finale, ou 2n+1 si tu comptes le calcul du pas aussi. En tout cas, c'est un
)
Si tu veux une erreur
Alors , puis
. Ou si tu préfères,
Je ne connais pas Python. C'est quand qu'on fait le return ?
Où est stockée la valeur s*pas ? Comment passer de la boucle k=0 à la boucle k=1 ?
La boucle est exécuté n fois. Mais le et le
ne comptent pas dans la précision ?
Ok merci Ulmière mais je n'ai as vu la notion de O pour les précisions. Je ne comprends pas le principe.
Au final on a
Alors pourquoi on dit simplement il faut faire opération alors qu'il faut en faire
?
On parle de complexité asymptotique. De la même manière que les premiers termes d'une série ne nous intéressent pas quand on étudie la nature d'une série, les constantes ne nous intéressent pas en théorie de la complexité. C'est d'avoir un ordre de grandeur qui nous intéresse
On s'intéresse à ce qui se passe quand n grandit (n "proche de l'infini", si tu veux). L'inégalité que tu donnes nous dit que plus n est grand et meilleure est la précision.
Comme nous avons dix doigts, on a envie de savoir à peu près combien de calculs il faut faire, pour avoir un résultat proche à près de l'intégrale. p est aussi assez grand ici. Or,
au voisinage de l'infini.
Bien sûr, ni n ni p ne sont réellement infinis, mais, en pratique, croit tellement vite, qu'on n'arrive vite plus à différencier la partie entière de son ordre de grandeur
franchement on sait très bien que le nombre d'opérations est un entier ... et donc on se fout de la partie entière ...
+1 ou -1 ne changeront pas l'ordre de grandeur ... de même que + 10 ou - 10 ou +k ou - k ... pourvu que k soit une constante indépendante de n ...
pour ce qui est de python ici ta fonction ne stocke pas la valeur elle l'a renvoie ...
on peut décider de la stocker ensuite (par exemple si on en a besoin plusieurs fois ...)
en mathématiques c'est pareil, une fonction ne stocke pas une valeur elle renvoie une valeur: l'image du réel ?? par ladite fonction
enfin il semble raisonnable de penser que pour avoir une valeur à moins de 10^(-p) il faut au moins que le pas soit inférieur à 10^(-p) donc que n soit supérieur à 10^p ... à une constante multiplicative près ... tenant compte de la longueur de l'intervalle et des variations de f (ici mesurées par la majoration de la dérivée)
ainsi avec une fonction dont les oscillations sont très fortes (et même si la dérivée est bornée) il faudra surement prendre n encore plus grand ...
Y a des minis programme Python mais non pas de cours Python c'est un livre de maths.
Je vais m'acheter un livre de Python pour apprendre un peu.
Ce que je ne comprends pas dans vos raisonnements avec la constante multiplicative, c'est si par exemple elle vaut comment faire ?
Bof, l'auteur sort des O(1/n) sans expliquer le sens. Très mal expliqué ce cours. Je préfère encore mon livre.
Ça ne répond pas à ma question.
Je rappelle qu'on a pour une précision de :
Et ensuite je n'ai pas compris pourquoi il suffit de faire calculs.
15 minutes pour decider qu'un cours est nul !
Apprendre lineairement est une absurdite.
Il ne faut pas longtemps pour trouver la partie du cours qui explique les O et o.
On revient ensuite sur la methode des rectangles.
Et pour debuter en python, on va au debut du cours d'informatique.
En 2 heures on a tout compris. Et on cesse de se plaindre !
Moralite: 2 "livres" valent mieux qu'un !
J'ai une question de compréhension précise, vous me répondez d'aller lire un cours qui ne parle pas de ce détail.
Ma question n'est pas sur Python.
SI mon livre n'aborde pas les o et les O, c'est qu'on peut faire sans pour comprendre la remarque.
Si vous ne voulez pas répondre, j'irai demander à quelqu'un d'autre.
En plus c'est un cours de Louis Legrand je n'ai pas le niveau.
Rien que le premier devoir surveillé c'est du chinois. Niveau trop élevé c'est pour les futurs normaliens.
Que dit la majoration ?
si on multiplie n (le nombre de boucles du programme python) par 10 alors la precision est divsee par ??
Fable.
il y a 2 façons de sustenter une personne affamee:
soit on lui vend du poisson
soit on lui apprend à pecher
Choisis ton camp, camarade
grosso modo si tu divises par 10 le pas de la subdivision alors tu gagnes une decimale sur la precision (essaie avec C=10^2)
Bah oui c'est logique !
Je rappelle qu'on a pour une précision de :
Donc pour précision de on a
Mais je bloque toujours au calculs
Bonjour
j'ai l'impression que tu bloques plutôt sur le sens de l'expression "ordre de grandeur"
(quand on commence régulièrement ses phrases par "cékankon", ce n'est peut-être pas hyper étonnant)
Il faut comprendre l'esprit de "il faut 10^p calculs"
Ca s'appelle un ordre de grandeur ca veut pas dire qu'il faut exactement 10^p calculs mais que chaque fois que tu veux améliorer la précision d'un facteur 10 il faut faire en gros 10 fois plus de calculs
pour C=1 et n=10^p, le majorant (la precision) est 10^-p
quand ils disent 10^p calculs c'est calculer f(x) pour 10^p (nombre de termes de la somme) valeurs de x
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :