Parmi les nombreuses façons de le faire, voici un one-liner peut-être cryptique et laconique, suivie d'une explication:
Show[Plot[#, {x, ##2}] & @@@ list]
D'abord, #
est la forme d'opérateur de Slot
et ##
est la forme d'opérateur de SlotSequence
, et f @@@ expr
est l'opérateur d'infixe pour Apply[f,expr,{1}]]
, donc cela pourrait être plus explicite exprimée en:
Show[Apply[Plot[#, {x, ##2}] &, list, {1}]]
Ainsi, pour chaque sous-liste de vos list
, les éléments sont passés comme arguments à la fonction pure. Dans la fonction pure, # est le premier argument (premier sous-élément, par exemple la fonction, 3x
) et ##2
est le reste des arguments (commençant par le second Sequence
, par exemple Sequence[0, 4]
). Pour le premier élément alors, la commande évaluée serait Plot[3x, {x,0,4}]
.
Si ce qui précède est trop cryptique, vous pouvez toujours définir une fonction et utilisez Map
:
plotter[{func_, interval__}] := Plot[func, {x, interval}]
Show[plotter /@ list]
Hope that helps!
Wow absolument fantastique: D Merci beaucoup - J'ai essayé de comprendre cela pendant des heures et il s'avère que c'est aussi simple! –
J'oublie toujours d'utiliser 'SlotSequences', et c'est un très bon usage. – rcollyer
merci pour la bonne solution. juste pour le compléter, pour afficher tous les graphiques à des intervalles différents, utilisez ** PlotRange-> All ** 'list = {{2 x, 1, 5}, {2 x^2, 0, 4}}; Afficher [Tracer [#, {x, ## 2}, PlotRange -> Tous] & @@@ liste] ' – Tombart