Un tableau de graphiques de différentes fonctions

Sep 08 2020

Je veux créer un Tabledes Plots individuels où la variable d'index de la table est une série de fonctions. Par exemple:

Prenez deux fonctions simples, f[x_] := 1/xet f[x_] := x^2. Je veux créer un Tablecontenant un Plotde chacun d'eux - c'est-à-dire, je veux une table qui contient

Plot[f[x], {x, 1, 10}]

pour chacun de f[x_] := 1/xet f[x_] := x^2.

Dans ce cas simple, le résultat serait le même que

{Plot[1/x, {x, 1, 10}], Plot[x^2, {x, 1, 10}]}

Cependant, je veux pouvoir le faire pour plus de deux fonctions et avec une économie maximale - donc, sans la répétition impliquée dans la liste à 2 fonctions ci-dessus.

j'ai essayé

Table[Plot[f[x], {x, 1, 10}], {f[x], {1/x, x^2}}]

et

Table[Plot[f[x], {x, 1, 10}], {f, {1/x, x^2}}]

mais ils produisent des parcelles vierges.

Comment fait-on ça?

Réponses

5 kglr Sep 08 2020 at 09:36
Table[Plot[f, {x, 1, 10}], {f, {1/x, x^2}}]
Table[Plot[f[x], {x, 1, 10}], {f, {1/# &, #^2 &}}]
Table[Plot[f[x], {x, 1, 10}], {f, {1/x &, x^2 &}}]

tous donnent

1 SteffenJaeschke Sep 08 2020 at 14:22

Les exemples de travail utilisent tous le modèle itérant sur une liste donnée de la section Portée de la page de documentation de Table.

Table[Sqrt[x], {x, {1, 4, 9, 16}}]

( {1, 2, 3, 4} )

Plot préfère la fonction pure comme entrée.

Dans la section Généralisations et extensions

Table[a[x]!, {a[x], 6}]

( {1, 2, 6, 24, 120, 720} )

Les variables ne doivent pas être simplement des symboles!

Ceci est poursuivi dans la section Applications où les paramètres sont donnés à la fonction listée.

Nice c'est:

Plot[Evaluate[Table[BesselJ[n, x], {n, 5}]], {x, 0, 15}]

au lieu de

    Plot[Table[BesselJ[n, x], {n, 5}], {x, 0, 15}]

Le Evaluateest nécessaire pour forcer l'évaluation du Tableavant qu'il ne soit alimenté Plot!

Ces cas utilisent tous la 5ème définition de Table: Table [expr, {i, {Indice [i, 1], Indice [i, 2], [Ellipse]}}] utilise les valeurs successives Indice [i, 1] , Indice [i, 2], [Ellipse].

Ceci est mieux illustré dans la section Relations avec d'autres fonctions.

La table peut remplacer des éléments successifs d'une liste dans une expression! Tout ce qui est nécessaire est un Listet un itérateur comme x ou f comme symbole.

Plus d'informations sur l'exemple non fonctionnel peuvent être obtenues si le graphique n'est pas utilisé:

Table[f[x], {f, {1/x, x^2}}]

( {(1 / x) [x], (x ^ 2) [x]} )

">Bonne journée.