


Verwenden Sie die Tkinter -Taste, um Funktionsbilder in Echtzeit zu zeichnen und das Problem der Spannung und des aktuellen Updates zu lösen
In diesem Artikel wird ein mit TKINGER erstellter Schaltungssimulationsprogramm erörtert, in dem der Schalter über Tasten steuert und die Schaltungsspannung und Stromänderungen in Echtzeit anzeigt. Das Programm hatte ursprünglich zwei Probleme: Die Spannung und das aktuelle Update beginnen zum Zeitpunkt der Schaltfläche Klick; Der Schalttaste kann die Trennung und Schließung der Schaltung nicht effektiv steuern. Diese Probleme werden nachstehend analysiert und gelöst.
Problemanalyse und Lösungen
1. Spannungs- und aktuelle Aktualisierungszeitpunktabweichung
Im ursprünglichen Code erhält toggle_manual_switch
den aktuellen Zeitindex, aber dieser Index wird nicht rechtzeitig aktualisiert, was dazu führt, dass die Spannung und der Strom jedes Mal aktualisiert werden, wenn die Schaltfläche klickt. Der Zeitindex muss synchron in der update_plot
-Methode aktualisiert werden.
Lösung:
Def Toggle_Manual_Switch (Selbst): "" " Schalten Sie den Schaltzustand um und beeinflussen den nachfolgenden Zustand "" "" # Erhalten Sie den aktuellen Zeitindex (hier ist keine Änderung erforderlich) current_index = int (self.current_time_index) Def update_plot (Selbst, Rahmen): self.simulator.calculate_circuit_response (Frame) Zeit = T [Rahmen] # Aktualisieren Sie den aktuellen Zeitindex self.current_time_index = Frame
2. Schaltungsschaltersteuerungsfehler
Bei der Methode calculate_circuit_response
gibt es ein Problem mit der Spannung und der Stromzuweisung nach Änderungen des Schaltstatus. Der ursprüngliche Code weist nur zu einem einzigen Zeitpunkt Werte zu und kann keine kontinuierliche Trennung/Schließeffekte erreichen. Die Spannung und der Strom müssen am Ende der Simulation aktualisiert werden.
Lösung:
Def calculate_circuit_response (self, current_time_index): # Überprüfen Sie, ob es einen Schalter gibt, wenn aktuelle_time_index> self.previous_switch_time_index: # Überprüfen Sie die Änderung des Switch -Status, wenn self.switch_states [current_time_index]! = Self.switch_states [current_time_index - 1]: self.previous_switch_state = nicht self.previous_switch_state next_switch_index = curral_time_index np.argmax (self.switch_states [current_time_index:]! = self.switch_states [current_time_index]) Wenn nicht self.previous_switch_state: # Self Self.VoltageOvertime [current_time_index:] = 0 ausschalten self.currentoverTime [current_time_index:] = 0 sonst: # Switch Close self.voltageOvertime [current_time_index:] = v_battery * np.ones_like (self.VoltageOvertime [current_time_index:]) self.currentoverTime [current_time_index:] = v_battery / r_load * np.ones_lik (self.currentoverTime [current_time_index:]) # Aktualisieren Sie den letzten Switch Time Index Self.Previous_Switch_time_index = next_switch_index
Durch die oben genannten Änderungen aktualisiert das Programm die Spannung und den Strom aus dem Schaltfläche Klick -Moment und realisiert eine genaue Schaltungsschaltsteuerung. Beachten Sie, dass diese Lösung davon ausgeht, dass switch_states
-Array die Änderung des Switch -Status im Laufe der Zeit korrekt speichert. Der vollständige Code muss gemäß der spezifischen Struktur des ursprünglichen Programms angepasst werden.
Das obige ist der detaillierte Inhalt vonWie generiere ich Funktionsbilder in Echtzeit mit Tkinter -Steuerschaltflächen und Lösung von Spannung und aktuellen Update -Problemen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Tomgelistsinpython, Youcanusethe-Operator, ExtendMethod, ListCompredesion, Oritertools.chain, jeweils mitSpezifizierungen: 1) Der OperatorissimpleButlessEfficienceforlargelists; 2) Extendismory-Effizienzbutmodifiestheoriginallist;

In Python 3 können zwei Listen mit einer Vielzahl von Methoden verbunden werden: 1) Verwenden Sie den Bediener, der für kleine Listen geeignet ist, jedoch für große Listen ineffizient ist. 2) Verwenden Sie die Erweiterungsmethode, die für große Listen geeignet ist, mit hoher Speicher -Effizienz, jedoch die ursprüngliche Liste. 3) Verwenden Sie * Operator, der für das Zusammenführen mehrerer Listen geeignet ist, ohne die ursprüngliche Liste zu ändern. 4) Verwenden Sie iTertools.chain, das für große Datensätze mit hoher Speicher -Effizienz geeignet ist.

Die Verwendung der join () -Methode ist die effizienteste Möglichkeit, Zeichenfolgen aus Listen in Python zu verbinden. 1) Verwenden Sie die join () -Methode, um effizient und leicht zu lesen. 2) Der Zyklus verwendet die Bediener für große Listen ineffizient. 3) Die Kombination aus Listenverständnis und Join () eignet sich für Szenarien, die Konvertierung erfordern. 4) Die Verringerung () -Methode ist für andere Arten von Reduktionen geeignet, ist jedoch für die String -Verkettung ineffizient. Der vollständige Satz endet.

PythonexexecutionStheProcessOfTransformingPythonCodeIntoexexexecleableInstructions.1) ThePythonvirtualmachine (PVM) Ausführungen

Zu den wichtigsten Merkmalen von Python gehören: 1. Die Syntax ist prägnant und leicht zu verstehen, für Anfänger geeignet; 2. Dynamisches Typsystem, Verbesserung der Entwicklungsgeschwindigkeit; 3. Reiche Standardbibliothek, Unterstützung mehrerer Aufgaben; 4. Starke Gemeinschaft und Ökosystem, die umfassende Unterstützung leisten; 5. Interpretation, geeignet für Skript- und Schnellprototypen; 6. Support für Multi-Paradigma, geeignet für verschiedene Programmierstile.

Python ist eine interpretierte Sprache, enthält aber auch den Zusammenstellungsprozess. 1) Python -Code wird zuerst in Bytecode zusammengestellt. 2) Bytecode wird von Python Virtual Machine interpretiert und ausgeführt. 3) Dieser Hybridmechanismus macht Python sowohl flexibel als auch effizient, aber nicht so schnell wie eine vollständig kompilierte Sprache.

UseaforloopwheniteratoverasequenceOrforaPecificNumberoftimes; UseaWhileloopWencontiningUntilAconDitionisMet.ForloopsardealForknown -Sequencies, während whileloopSuituationen mithungeterminediterationen.

PythonloopscanleadtoErors-ähnliche Finanzeloops, ModificingListsDuringiteration, Off-by-Oneerrors, Zero-Indexingissues und Nestroxinefficiens.toavoidthese: 1) Verwenden Sie


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools
