Ich baue ein ziemlich kompliziertes Modell in Simulink. Und ich habe eine unerwartete Verzögerung bemerkt. Der Einfachheit halber habe ich ein sehr einfaches Modell erstellt und festgestellt, dass erneut eine unerwartete Verzögerung eingeführt wurde.Wie kann eine unerwartete Verzögerung bei der Komparatorimplementierung in Simulink überwunden werden?
Das einfache Modell ist nur ein Komparator. Es ist in einer Matlab-Funktion definiert Block- als:
if u >= 2
y = 3;
elseif (u < 2)
y = -3;
Die Ausgabe lautet:
Wie Sie sehen können, die blaue Welle nicht direkt von +3 bis -3 bewegt oder von -3 bis +3. Es gibt jedoch eine Verzögerung wie 100 usec.Warum ist das ?? Ich meine nach der obigen Funktion, sollte es sofort bewegen (abrupt ändern). Und wie kann ich es abrupt ändern?
Verringern Sie die * Toleranzen Ihres variablen Schrittlösers * oder die * Schrittweite, falls Sie einen festen Schrittlöser verwenden. * – thewaywewalk
Ich verwende KEINEN Schritt-Resolver oder so etwas. Ich verwende NUR den oben genannten Code. Bitte klären Sie mehr. – KhaledMaged
Gut, aber dieser Code ist in einem Matlab-Funktionsblock innerhalb eines Simulink-Modells enthalten, oder? Sie verwenden also Simulink, das einen Solver aufruft. [Und diesen Solver müssen Sie konfigurieren] (http://de.mathworks.com/help/simulink/gui/solver-pane.html). Die Frequenz Ihres Sinus ist ziemlich hoch und die Ausgabe, die Sie bekommen, ist mit den Standard-Solver-Einstellungen zu erwarten. Stellen Sie den Solver ein und alles wird gut. – thewaywewalk