Matrix mit for Schleife

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
pyol
User
Beiträge: 6
Registriert: Dienstag 4. Dezember 2018, 11:42

Hallo, ich versuche einen Code von Matlab in Python umzuschreiben.
Wenn ich wie in Matlab die einzelnen Werte der arrays wie folgt definieren will:
a = np.reshape(Y, 441)
b = np.reshape(X, 441)
for n in range(441):
T_eins[0, n] = np.array((T3*a[n] + T1*(y3-a[n]))/y3)

kommt diese Fehlermeldung:

NameError: name 'T_eins' is not defined

T3, T1, y3 sind durch variablen definierte Werte
X und Y werte, die durch ein Mesh erzeugt wurden

jemand eine Idee?
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du kannst keine impliziten Objekte erzeugen. Du musst halt ein T_eins anlegen, mit der entsprechenden Dimension.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Der Unterschied zwischen Matlab und Python ist unter anderem, dass nicht Arrays einfach so existieren und einfach so in der Größe verändert werden können. Du mußt also T_eins in passender Größe erzeugen, wobei man auf for-Schleifen normalerweise verzichten kann und direkt mit Vektoren rechnen:

Code: Alles auswählen

T_eins = (T3 * Y + T1 * (y3 - Y)) / y3
Antworten