“TypeError: 'fonction' objet ne prend pas en charge l'élément de mission”

J'ai deux matrices

fi = [[f1],           Nij = [[N11 N12 .......N1n],
      [f2],                  [N21 N22 .......N2n],
       .                            ...
       .                            ...
      [fn]]                  [Nn1 Nn2 .......Nnn]]

Je veux multiplier:

f1 to each element of the 1st row,
f2 to each element of the 2nd row,

et ainsi de suite.

I. e. Je veux Xij = fi*Nij où fi est une matrice colonne et Xij & Nij est la matrice nxn.

J'ai essayé d'utiliser

import numpy as np

fi = np.linspace(1,5, num =5)
fi = np.asmatrix(fi)

def Xij(ai):
    Nij = np.ones((5,5))
    for i in range(len(fi)):
    for j in range(len(fi)):
        Xij[i,j] = ai[i] * Nij[i,j]
return Xij

Zij = Xij(fi)

Il me donne cette erreur TypeError: 'function' object does not support item assignment

Pourquoi? et comment puis-je résoudre ce problème?

Ne nommez pas vos fonctions les mêmes choses que pour les variables, il rend les choses confuses et est la source de votre confusion ici.
De se! la FAÇON dont une partie au moins aussi avec de l'aide. ne doit pas convertir fi d'une matrice (la suppression de la 2ème ligne dans le code du travail), mais ne peux pas comprendre pourquoi une partie !

OriginalL'auteur superbuch | 2013-08-14