Mathematica: Comment appliquer une fonction à une certaine colonne d'une table
Je voudrais appliquer une fonction à une colonne d'une table. Dire à la i-ème colonne de a (m x n) de la table. En fait, je veux juste de multiplier tous les éléments de cette colonne avec un scalaire, mais l'application d'une fonction générale serait très bien.
Il est probablement juste besoin de la Carte ou MapAt de commande, peut-être combinée avec une Transposition en vue de l'application des lignes à la place de colonnes - mais je ne peux pas comprendre la syntaxe correcte pour traiter l'ensemble d'une colonne (ou une ligne)..
Tous les conseils seraient grandement appréciés.
source d'informationauteur janitor048
Vous devez vous connecter pour publier un commentaire.
Par exemple,
appliquera f à chaque élément de la n-ième colonne de tapis. Ainsi, par exemple,
appliquera Péché[Cos[#]]& à chaque élément de la deuxième colonne, tandis que
vont se multiplier chaque élément sur la deuxième colonne par s
Voici un tableau 3x3:
La colonne 2 est
table[[All, 2]]
:C'est donc une simple question de modifier uniquement la colonne:
Une approche polyvalente est d'utiliser ReplacePart
Par exemple, à l'application de f à la colonne 3 de mat:
Suivantes multiplie chaque entrée par 10:
Cependant, une 'rapide' façon de le faire comme suit:
(Contrairement à la première méthode, toutes les entrées dans la colonne 3 de tapis sont maintenant modifié. Il n'est pas clair si vous souhaitez modifier la table existante ou pour créer une nouvelle table avec des modifications, en laissant l'original intact)
MapAt fonction accepte la Partie suivante spécification:
appliquer 'f' à la colonne 3 du tableau.
Une autre solution compacte que j'ai trouvé est à l'aide de la Carte et MapAt:
Voici un exemple de Matrice:
Maintenant appliquer la fonction f de la deuxième colonne:
Le résultat est alors: