Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › dessiner des portions de fonctions sur un même graphe
Étiqueté : multicourbes canvasdraw
- Ce sujet contient 8 réponses, 3 participants et a été mis à jour pour la dernière fois par
Marie-joëlle Ramage, le il y a 9 mois et 3 semaines.
-
AuteurMessages
-
-
25 novembre 2022 à 16:41 #7462
Marie-joëlle Ramage
Participant::bonjour,
Je voudrais dessiner des portions de fonctions (courbes de dosage acido-basique) sur un même graphe en utilisant canvasdraw.
3 courbes pH=f(x) avant une valeur x0 ; pH=g(x) après la valeur seuil et pH=h(x) autour de la valeur seuil.
apparemment, je ne peux définir qu’un seul intervalle pour le dessin xrange x1,x2
j’ai essayé d’introduire un deuxième intervalle pour définir le tracé de la première courbe mais j’obtiens un message d’erreur comme si le compilateur ne reconnaissait pas l’ordre.
Y-a-t-il un moyen de faire quelque chose ?
Merci d’avance
MJMarie-joelle Ramage
Université Paris-Saclay -
25 novembre 2022 à 16:44 #7463
Marie-joëlle Ramage
Participant::Ci-dessous mon dernier essai : si j’accepte de tracer la droite 3x+2 sur l’intervalle xrange, pas de problème. Si j’introduis un intervalle plus petit, message d’erreur :
FATAL syntax error: line 10: expecting more arguments in command\text{dessin= xrange -10,10 yrange -10,10 fontfamily Italic 12px Courier axis axisnumbering precision 1 grid 1,1,orange,10,10,2,orange trange 0,5 curve red,3*t+2 zoom red} \statement{ \canvasdraw{400,400}{\dessin}}
Marie-joelle Ramage
Université Paris-Saclay -
25 novembre 2022 à 17:09 #7466
bernadette
Maître des clés -
26 novembre 2022 à 11:30 #7470
jm.evers
Participant::Hi,
There is no way to (re)define multiple xrange/yrange in canvasdraw -if I understand your problem correctly… But mayb BPR’s trange trick may suit your needs.
A much more powerful grapher/plotter like GNUplot is probably better advised.
http://www.gnuplot.info/demo/joke
-
Cette réponse a été modifiée le il y a 10 mois par
jm.evers.
-
Cette réponse a été modifiée le il y a 10 mois par
-
28 novembre 2022 à 08:56 #7472
jm.evers
Participant::Hi,
Added (SVN) to canvasdraw a new command :
newrange xmin,xmax,ymin,ymax
objects defined after command will make use of this new range
Be aware -for now- there can be only one command ‘grid’
An additional grid in the newly defined x/y-range must be created manually
(e.g. using commands like ‘segments’ ‘string’ etc etc etc)
[code]
size 400,400
xrange -10,10
yrange -10,10
fontfamily Italic 12px Courier
axis
axisnumbering
precision 1
grid 1,1,orange,10,10,2,orange
newrange 0,5,0,5
jscurve red,3*x+2
zoom red
[/code]Hope this solves your issue…
joke
-
28 novembre 2022 à 10:37 #7473
bernadette
Maître des clés -
2 décembre 2022 à 19:07 #7487
Marie-joëlle Ramage
Participant::Bonjour,
Merci à Bernadette et à Joke.
La méthode proposée par Bernadette fonctionne pour des fonctions simples (sin, cos etc…)
Je me heurte à un nouveau problème qui est le suivant :si je demande l’affichage en donnant une fonction simple dans le script de canvasdraw, les courbes s’affichent (red et black)
Si je demanda le tracé d’une fonction (fa), pas de tracé
si j’introduis des variables dans la fonction, elle ne s’affiche pas (rose)
La courbe bleue s’affiche mais suivant des intervalles précis. En particulier, si je démarre trange 0,5, elle ne s’affiche pas.Or les courbes dépendent de conditions initiales. Une solution pédestre est de construire le dessin pour chaque ensemble de conditions initiales. Avez-vous une meilleure astuce ?
merci
\function{fa=7.5+log10(5*x)} \text{dessin= xrange -1,\xmax yrange -1,14 fontfamily Italic 12px Courier axis axisnumbering precision 10 grid 1,1,orange,10,10,2,orange linewidth 3 curve red,7.5+log10(3*x) curve black,7.5+log10(x) curve green,fa(x) (ou \fa(x)) curve purple,7.5+log10(\n*x) curve pink,7.5-log10((\ntitre)/\Ctitrant/x-1) trange 0.1,5 curve blue,t,7.5+log(5*t) segment 5,\y1,5,\y2,blue trange 5,7 curve blue,t,7.5+log(6*t) }
-
Cette réponse a été modifiée le il y a 9 mois et 3 semaines par
Olivier. Raison: ajout de `...` autour du code
Marie-joelle Ramage
Université Paris-Saclay -
Cette réponse a été modifiée le il y a 9 mois et 3 semaines par
-
4 décembre 2022 à 11:34 #7490
bernadette
Maître des clés -
5 décembre 2022 à 17:32 #7494
Marie-joëlle Ramage
Participant
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.