I an einem Projekt arbeiten, wo ich habe folgende while-Schleife:Python ändert Array-Werte in While-Schleife
i = 0
while i <= length:
u[:,i] = u[:,i] - u_val
y[:,i] = y[:,i] - y_val
i = i + 1
Ziel ist u_val und y_val von ihrer jeweiligen Arrays entlang der gesamten Länge jeden Arrays zu subtrahieren, . Sowohl y und u haben eine gleiche Länge, wobei u eine Dimension von 2 und ya mit Dimension von 1.
u und y kommen aus einem Array "Daten" und definiert sind durch:
u = data[1:1+ni]
y = data[1+ni:1+ni+no]
u_val und y_val kommt auch von "Daten" und ist definiert durch:
u_ss = data[1:1+ni,0]
y_ss = data[1+ni:1+ni+no,0]
u_val = array ([0.04,550000.0]) und y_val = array ([400,153])
die erste Schleife mit den Arbeiten Werte sind subtr handelte von den ersten Werten jedes Arrays, aber dann setzt python u_val = array ([0., 0.]) und y_val = array ([0.]). Die Schleife läuft also weiter, aber Null wird jetzt von allem abgezogen. Ich habe den Variablen-Explorer angeschaut und aus irgendeinem Grund ändert die Schleife die ursprünglichen Einträge auf dem Array "Daten" ebenfalls auf Null. Warum sollte die Schleife das tun?
Ich habe mehrmals neu gestartet und ich habe es auch als for-Schleife versucht. Ich kann nicht herausfinden, was in der Schleife die Änderung im ursprünglichen Array auslöst. Danke für die Hilfe!
Bitte fügen Sie einfach den vollständigen Code (ich denke, relativ kurz), so dass die Welt bereit zu helfen hat nicht z. rate mal, was "Länge" für einen Wert haben könnte und wie man dieses Snippet auf einem anderen Rechner ausprobiert ;-) – Dilettant
Ich habe das Tag [tag: numpy] zu deiner Frage hinzugefügt, weil ich annehme, dass du numpy verwendest, wenn nicht dann bitte Geben Sie an, welche Art von Arrays Sie in Python verwenden –