Fonction Mathematica

Répondre
soxkite17

Fonction Mathematica

Message par soxkite17 » 15 févr. 2010 20:54

Voilà, j'aurai besoin de votre aide, en effet, mon professeur m'a demandé de rédiger une fonction en Mathematica prenant deux arguments t et q et donnant le premier entier naturel n tel que (/t/^(2n+3) / (2n+3)) =< 10^-q =< inférieur ou égal
/t/ valeur absolue de t


Si quelqu'un peut me donner car je ne vois pas du tout comment faire...

Messages : 2531

Inscription : 25 oct. 2007 22:27

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par Pato » 15 févr. 2010 21:01

ça fait longtemps que je n'utilise plus mathematica...
Peut-être un truc du genre :

n = 0

While (/t/^(2n+3) / (2n+3)) > 10^-q
n = n+1

Enfin... voir ce que ça donne écrit en mathematica :mrgreen: désolé :oops: :roll:
Mais bon... le professeur te l'a demandé, pas à nous :mrgreen:

Petite astuce : je ne sais plus comment faire une valeur absolue sur mathematica... mais |x| = (x^2)^(1/2) :wink:

soxkite17

Re: Fonction Mathematica

Message par soxkite17 » 15 févr. 2010 22:58

Oui, je voulais juste quelques indications ! Le problème c'est que l'on a fait qu'un tp du même genre et je n'avais vraiment rien compris, c'est bien pour ça que je demandais un peu d'aide ! Merci en tout cas :) !

Messages : 2531

Inscription : 25 oct. 2007 22:27

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par Pato » 15 févr. 2010 23:31

ben... si c'est suffisant, c'est super :mrgreen:

soxkite17

Re: Fonction Mathematica

Message par soxkite17 » 16 févr. 2010 16:56

Bon ben je n'y arrive pas... J'arrive pas à bien fixer mes variables... Pourtant il me semble que c'est avec While mais bon, si jamais quelqu'un avait un idée...

Messages : 2531

Inscription : 25 oct. 2007 22:27

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par Pato » 16 févr. 2010 18:04

Méthode peu élégante sans faire intervenir de while

i = nmax

for n from 1 to nmax
if (/t/^(2n+3) / (2n+3)) > 10^-q # est-ce que ce n le vérifie ?
then
if n<i --> i=n #on ne garde que le plus petit

Je ne sais pas conclure les if et les for... mais ça marcherait aussi... pour un nmax suffisamment élevé

Messages : 9686

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par fakbill » 16 févr. 2010 18:18

Pato : hum c'est tout de même un peu bourrrrrrrrrin ;) surtout si on tombe sur un cas ou n est très grand.
soxkite17 : faire du mathematica n'empeche pas de faire des maths. Tu peux travailler un peu ton expression pour extraire t (séparer les différents cas) et ca devient alors trivial à coder (il faut juste connaitre la partie entière).

mathemtica est ultra puissant mais il ne faut pas devenir bête quand on l'utilise...ce qui n'est pas toujours facile.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 2531

Inscription : 25 oct. 2007 22:27

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par Pato » 16 févr. 2010 20:58

fakbill a écrit :Pato : hum c'est tout de même un peu bourrrrrrrrrin ;) surtout si on tombe sur un cas ou n est très grand.
Au début j'ai proposé un avec while :mrgreen: comme je l'ai dit, avec le "for", la méthode n'est pas élégante... si nmax = 100000 et que la réponse c'est n=3... enfin, voilà :mrgreen:

V@J

Messages : 2813

Inscription : 22 janv. 2009 17:15

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par V@J » 17 févr. 2010 19:11

Sinon, tu peux toujours faire un truc comme :
SPOILER:

Code : Tout sélectionner

f[q_, t_] := 
 Module[{a = Abs[t], b = 10^q, r}, 
  If[a == 0, r = 0, a = -Log[a]; If[a == 0, r = b, r = ProductLog[a b]/a]]; 
  If[Element[r, Reals], Max[0, Ceiling[(r - 3)/2]], \[Infinity]]]

Messages : 9686

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Fonction Mathematica

Message par fakbill » 18 févr. 2010 16:12

Ca ca tue le problème ;)
Il faut tout de même connaitre un peu de mathematica pour pondre ca ;)

Sinon oui, c'est ca qu'on te demandait soxkite17:
Résoudre l'équation à la main et coder les différents cas en mathematica.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Répondre