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 1 année et 3 mois.
-
AuteurMessages
-
-
25 novembre 2022 à 16:41 #7462Marie-joëlle RamageParticipant::
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 #7463Marie-joëlle RamageParticipant::
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 #7466bernadetteMaître des clés
-
26 novembre 2022 à 11:30 #7470jm.eversParticipant::
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 1 année et 4 mois par jm.evers.
-
28 novembre 2022 à 08:56 #7472jm.eversParticipant::
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 #7473bernadetteMaître des clés
-
2 décembre 2022 à 19:07 #7487Marie-joëlle RamageParticipant::
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 1 année et 3 mois par Olivier. Raison: ajout de `...` autour du code
Marie-joelle Ramage
Université Paris-Saclay -
4 décembre 2022 à 11:34 #7490bernadetteMaître des clés
-
5 décembre 2022 à 17:32 #7494Marie-joëlle RamageParticipant
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.