Misez p'tit Optimisez n°82 : maximisez produit des termes

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8032
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par badaze » 14 nov. 2017 01:45

Pour HP .

STO 0
1
e(x)
1/x
e(x)
Enter
RCL 0
yx
R/S

En fix 2.
11 -> 57.21
17 -> 520.06
54 -> 424 104 236.1

En fix 5.
11-> 57.20686
54 -> 520.06328

J’avoue ne pas être très à l’aise avec la pile opérationnelle.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2792
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par zpalm » 14 nov. 2017 10:35

badaze a écrit :
14 nov. 2017 01:06
Bien. La réponse n'est pas 42 mais apparemment 1.4447 (approximation) => e(1/e1)

1.4447 ^ 17 = 520.06333
1.4447 ^ 11 = 57.2069
1.4447 ^ 54 = 424 104 236.1

Comme ça on a toujours des termes identiques en nombre entier.

Calculs faits sur i41CX.

Oilà. Sauf erreur le terme max est toujours e(1/e1). Si c'est ça alors ça me troue !!!
Avec ton calcul tu maximise bien le produit par contre la somme des termes n'est plus égale au nombre de départ:
17*1.4447 = 24.5599 et non 17

caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 388
Inscription : 05 juin 2014 22:23
Localisation : Dans le Gâtinais, près de Fontainebleau

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par caloubugs » 14 nov. 2017 10:55

Mouaip, désolé, j'arrive après la bataille, j'ai du mal à trouver du temps, flûte. Et je suis passé sur ce topic dans le train ce matin.

Ici, on cherche un maximum pour f(x)=(m/x)^x
(Et au cas présent : m=11)

On trouve alors f'(x)=0 pour x=m/e (j'ai fait ça à l'arrache sur Maxima sur mon smartphone toujours dans le train, l'émulateur de la prime n'en voulait pas, bizarre).
Ce qui permet de trouver la valeur max de f(x) qui est alors de e^(m/e).

Il faut alors bien entendu, si on veut un nombre entier de termes, prendre la valeur entière qui s'approche le plus de m/e (il suffit de prendre les deux entiers encadrant cette valeur et de regarder celle qui fournit le résultat max).

Merci pour ce problème très sympa et poétique en plus.
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2792
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par zpalm » 14 nov. 2017 11:08

caloubugs a écrit :
14 nov. 2017 10:55
Mouaip, désolé, j'arrive après la bataille, j'ai du mal à trouver du temps, flûte. Et je suis passé sur ce topic dans le train ce matin.

Ici, on cherche un maximum pour f(x)=(m/x)^x
(Et au cas présent : m=11)

On trouve alors f'(x)=0 pour x=m/e (j'ai fait ça à l'arrache sur Maxima sur mon smartphone toujours dans le train, l'émulateur de la prime n'en voulait pas, bizarre).
Je n'ai pas eu de problème pour trouver le maximum avec ma Prime:

Image

caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 388
Inscription : 05 juin 2014 22:23
Localisation : Dans le Gâtinais, près de Fontainebleau

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par caloubugs » 14 nov. 2017 11:21

zpalm a écrit :
14 nov. 2017 11:08
caloubugs a écrit :
14 nov. 2017 10:55
...l'émulateur de la prime n'en voulait pas, bizarre).
Je n'ai pas eu de problème pour trouver le maximum avec ma Prime:

Image
Oups, c'est vrai en plus, c'est sur Xcas en fait que j'ai eu un souci, mais je n'arrive plus à le reproduire. C'est parce que j'ai en tête d'autres problèmes avec le CAS de la prime sur l'émulateur (pour faire un article comparatif sur le CAS d'ailleurs), que du coup, je l'ai prise en grippe.

Mon humble contrition pour les possesseurs de Prime qui s'en trouveraient blessés. Que je sois fouetté sur la place publique (en plus il fait froid).
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...

caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 388
Inscription : 05 juin 2014 22:23
Localisation : Dans le Gâtinais, près de Fontainebleau

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par caloubugs » 14 nov. 2017 13:19

Image

Par contre, je ne sais pas ce que donne simplify sur la Prime en vrai, sur l'émulateur c'est très très moyen et j'ai parfois du mal à réellement simplifier des expressions, même relativement simples.

Car ici, f'(x) se simplifie énormément et on obtient f'(x)=(m/x)^x . ( ln(m/x) -1)
Et donc f'(x)=0 si ln(m/x)=1, d'où x=m/e.
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8032
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par badaze » 14 nov. 2017 13:59

Une question.
Il faut que la somme des termes = le nombre en entrée. Mais est-ce que tous les termes doivent être identiques ?
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2792
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par zpalm » 14 nov. 2017 14:18

caloubugs a écrit :
14 nov. 2017 13:19
Par contre, je ne sais pas ce que donne simplify sur la Prime en vrai, sur l'émulateur c'est très très moyen et j'ai parfois du mal à réellement simplifier des expressions, même relativement simples.

Car ici, f'(x) se simplifie énormément et on obtient f'(x)=(m/x)^x . ( ln(m/x) -1)
Et donc f'(x)=0 si ln(m/x)=1, d'où x=m/e.
Simplify tout seul ne suffit pas toujours, car le CAS a du mal à évaluer ce qu'est une expression simplifiée pour l’utilisateur. Ici, simplify() suivi de collect() donne: (m/x)^x . ( ln(m/x) -1)

Image

badaze a écrit :
14 nov. 2017 13:59
Une question.
Il faut que la somme des termes = le nombre en entrée. Mais est-ce que tous les termes doivent être identiques ?
Non, par exemple avec des nombres entiers: 11=2+3+3+3

caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 388
Inscription : 05 juin 2014 22:23
Localisation : Dans le Gâtinais, près de Fontainebleau

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par caloubugs » 14 nov. 2017 15:25

zpalm a écrit :
14 nov. 2017 14:18

Simplify tout seul ne suffit pas toujours, car le CAS a du mal à évaluer ce qu'est une expression simplifiée pour l’utilisateur. Ici, simplify() suivi de collect() donne: (m/x)^x . ( ln(m/x) -1)

Image
J'ai fait cela, mais il me semble que je n'arrivais pas à aller plus loin sur d'autres exemples. Du coup, je te proposerai dans un autre fil de discussion, si ça te va et quand je l'aurai sous la main, un des cas que j'avais identifié et qui ne semble pas être simplifiable (pire, quand on veut simplifier (via collect, simplify...), la formule explose). Mais c'est peut-être l'émulateur qui provoque cela, ça me surprend que j'arrive à avoir un résultat toujours très propre sur une NSpire et que la Prime n'y arrive pas alors que toutes les deux fonctionnent (si je ne dis pas de bêtise) sur une base XCas.
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2792
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par zpalm » 14 nov. 2017 15:58

caloubugs a écrit :
14 nov. 2017 15:25
Mais c'est peut-être l'émulateur qui provoque cela, ça me surprend que j'arrive à avoir un résultat toujours très propre sur une NSpire et que la Prime n'y arrive pas alors que toutes les deux fonctionnent (si je ne dis pas de bêtise) sur une base XCas.
Je ne suis pas un utilisateur de la Nspire. D’après ce que je sais, le CAS natif de la NSpire n'est pas XCAS. Mais il est possible avec Ndless d'installer KhiCAS qui est un portage de XCAS sur la Nspire.

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8032
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par badaze » 14 nov. 2017 21:36

zpalm a écrit :
14 nov. 2017 10:35
Avec ton calcul tu maximise bien le produit par contre la somme des termes n'est plus égale au nombre de départ:
17*1.4447 = 24.5599 et non 17
Oui parce que je n'avais pas tout compris de l'énoncé (comme je l'ai déjà écrit je n'ai qu'une faible culture en mathématique).

Donc le maximum est : e(N/e) = (e(1/e))^N => 1.4447^N.

La somme des termes est une tautologie (je crois qu'on dit comme ça) => e . (N/e) = e . 1/e . N = N
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2792
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par zpalm » 14 nov. 2017 21:47

badaze a écrit :
14 nov. 2017 21:36
La somme des termes est une tautologie (je crois qu'on dit comme ça) => e . (N/e) = e . 1/e . N = N
Pas tout à fait, on ne peut avoir qu'un nombre entier de termes et N/e n'est pas entier...

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8032
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par badaze » 14 nov. 2017 23:02

Pourtant e.N/e = N donc un entier.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2792
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par zpalm » 14 nov. 2017 23:21

badaze a écrit :
14 nov. 2017 23:02
Pourtant e.N/e = N donc un entier.
Dans e.N/e quel est le nombre de termes ? Et quelle est la valeur de chacun des termes de la somme qui donne N?

Si on divise N en x termes égaux, le produit des termes est (N/x)^x. Si l'on représente f(x)=(N/x)^x, pour N=11 et N=17 on obtient les courbes en cloche de C.Ret:

Image

On voit qu'il y a un maximum qui correspond à x=N/e, mais en fait le x de départ ne peut être qu'entier et il ne faudrait considérer que les valeurs de f(x) pour x ε ℕ.
Si de plus on ajoute une contrainte sur le nombre de décimales de N/x, ça se corse...

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8032
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez p'tit Optimisez n°82 : maximisez produit des termes

Message par badaze » 15 nov. 2017 01:41

11 donne un maximum = +/- 2.718282^4.046674.

On peut développer en : 2.718282^4 x 2.718282^0.046674
On a donc 4 termes égaux à 2.718282 et un terme égal à 2.718282^0.046674
Si je fais 2.718282 x 4 + 2.718282 x 0.046674 j'obtiens 11.

En essayant de généraliser : on a entier(N/e) termes égaux à e et un terme égal a e^frac(N/e)

Je n'ai pas cherché à limiter le nombre de décimales dans mon programme.

Code : Tout sélectionner

Pour N=7
- Max = e(7/e)
- e(7/e) = e(2.5751560882001)
- ce qui donne 2 termes de valeur e(1) + 1 terme de valeur e(0.5751560882001)
- 2 x 2.718281828459 + 1.5634363430819 => 7 = somme des termes
- Maximum = 13.133366962121

Pour N=11
- Max = e(11/e)
- e(11/e) = e(4.0466738528859)
- ce qui donne 4 termes de valeur e(1) + 1 terme de valeur e(0.046673852885866)
- 4 x 2.718281828459 + 0.12687268616382 => 11 = somme des termes
- Maximum = 57.206861808951

Pour N=17
- Max = e(17/e)
- e(17/e) = e(6.2539504999145)
- ce qui donne 6 termes de valeur e(1) + 1 terme de valeur e(0.25395049991452)
- 6 x 2.718281828459 + 0.69030902924573 => 17 = somme des termes
- Maximum = 520.06328178655

Pour N=54
- Max = e(54/e)
- e(54/e) = e(19.865489823258)
- ce qui donne 19 termes de valeur e(1) + 1 terme de valeur e(0.86548982325789)
- 19 x 2.718281828459 + 2.3526452592781 => 54 = somme des termes
- Maximum = 424104236.27678
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Répondre

Revenir vers « Tous les Pockets »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités