Bonjour, je souhaiterai faire l'opération suivante:
J'ai une matrice A de taille NxM.
J'ai une fonction f: [1:N] -> [1:M], représentée sous forme d'un vecteur de taille N.
Je souhaite former le vecteur v=A(X,f(X)), i.e. le vecteur de taille N de composante v_i = A(i,f(i)).
Je veux bien sûr faire cela sans aucune boucle for et en une ligne de préférence.
Je suis persuadé qu'il y a une commande pour faire cela,mais je ne trouve pas (écrire A(X,f(X)) crée une matrice et non un vecteur).
2ème question, idem avec un tenseur:
à partir de T(i,j,k), je veux pouvoir former par exemple A(i,j) = T(i,j,f(i,j)), B(i,j) = T(i,j,g(i)), C(i,j) = T(i,h(i),j), etc...tout ça en une ligne à chaque fois.
Une idée ?
Partager