Page 1 of 1

probleme d'arguments

Unread postPosted: 29 Jan 2010, 13:49
by bastien440
Bonjour, j'ai 2 petit probleme quand je programme, la première est, quand je crée un programme par ex correc(f,g) ou f et g sont des expressions de la variable x, et que dans le programme je met f1(x):=f , et je demande d'afficher f1(0), le programme me retourne f, j'ai essayé de mettre f1 en local mais sa n'a pas marché, quelqu'un saurait comment faire pour définir une fonction a partir des variables?
Ma deuxième questions est, comment peut-on stocker dans un ensemble, les solutions d'une équation, au sens des nombres! c'est a dire que d'habitude quand je met sol:=solve(eqn=0,x), et je demande sol il me met x=0 et x=1 par exemple, et j'aimerai sol ={0,1}.
Voila j'espère que j'ai été assez clair et que vous saurez m'aider! Merci!

Re: probleme d'arguments

Unread postPosted: 29 Jan 2010, 18:31
by Adriweb
Pour ta deuxieme question, il faut passer pour faire au plus facile par la fonction zeros(truc a résoudre)-solutions et ensuite lui demander solutions[1] par exemple...

Exemple aussi : zeros(2x-3,x)[1]

Re: probleme d'arguments

Unread postPosted: 29 Jan 2010, 18:58
by Levak
bastien440 wrote:Bonjour, j'ai 2 petit probleme quand je programme, la première est, quand je crée un programme par ex correc(f,g) ou f et g sont des expressions de la variable x, et que dans le programme je met f1(x):=f , et je demande d'afficher f1(0), le programme me retourne f, j'ai essayé de mettre f1 en local mais sa n'a pas marché, quelqu'un saurait comment faire pour définir une fonction a partir des variables?


Code: Select all
Define correct(f,g)= Prgm
f1(x):=f
EndPrgm


Ceci n'a aucun intérêt, je m'explique :
Prgm[]EndPrgm ne renvoie pas de valeur, mais une sortie (Disp), contrairement aux fonctions qui renvoient une valeur exploitable dans le "Graphique Géométrie"
f1(x):= va définir f1 comme dépendant de x, et il devra trouver son expression dans f.
Or, si f ne contient pas de x, f1(x) n'aura pas de valeur. Ce n'est pas comme en maths. Ici la fonction sera définie pour toujours comme étant égale à f, or f dépend du programme, la calto ne sait pas faire, elle renvoie la chaine de caractère.

La logique de comment il faut faire :
Code: Select all
Define f1(x)=Func
return f1(0)
EndFunc


Et maintenant,
Code: Select all
Define correct(f, g)=Prgm

expr( " f1(x):= "  string(f) )
Disp f1(0)

EndPrgm


Et ceci marchera car il interprètera le contenu de f comme une chaine de caractère, et non pas son nom.

ps : expr() est une fonction miraculeuse, documente toi un peu dessus et tu y prendras goût ! :;):

@+

Re: probleme d'arguments

Unread postPosted: 29 Jan 2010, 21:52
by bastien440
roh ouai sa marche c'est énorme! merci beaucoup en tout cas c'est clair et concis les gars! J'ai une autre petite question, j'ai une fonction f a variable complexe, je veux définir la fonction g:=angle(f) son argument, mais je ne m'intéresse qu'aux x>0, ca simplifie l'expression. Comment puis-je ajouter cette condition lors de la definition de la fonction?
Merci beaucoup!

Re: probleme d'arguments

Unread postPosted: 29 Jan 2010, 22:17
by Levak
Il y a cette méthode :

ex : f1(x)=x² | x1
Cette fonction rentrée dans un Graphique Géométrie ne tracera que les x 1, donc les x² 1

ex 2 : solve ( x² + x -1 = 0 , x) | x0
Ceci renverra la valeur pour laquelle x 0

Bonne chance pour la suite :):