|
|
Interator-Block Problem oder Denkfehler? |
|
Pflaster |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 10.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2011, 13:56
Titel: Interator-Block Problem oder Denkfehler?
|
|
Hallo,
ich habe ein Signal, was ich in einen Integrator-Block führe und eine Konstante als externe Inital-Condition. Das Eingangssignal schwingt und ist zunächst die ganze Zeit positiv. Dadurch steigt das Ausgangssignal kontinuierlich. So weit so gut. Wenn das Eingangssignal aber negativ wird (ober und untere Amplitude der Schwingung negativ, also wirklich komplett negativ) steigt das Ausgangssignal trotzdem weiter
Kann das sein? Für mich macht das keinen Sinn. Habe ich einen Denkfehler?
Mit freundlichen Grüßen,
Pflaster
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.09.2011, 19:00
Titel:
|
|
Hallo,
das scheint tatsächlich keinen Sinn zu machen. Ohne weitere Informationen (wie z.B. das Modell) wird es aber schwer sein, das Problem aufzuklären.
Grüße,
Harald
|
|
|
Pflaster |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 10.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2011, 19:23
Titel:
|
|
Hallo,
danke, ich dachte schon ich bin doof
Das Modell ist ziemlich groß und weitergeben darf ich es auch nicht Aber der angehängte Screenshot spricht doch für sich, oder?
Das Ausgangssignal sinkt erst, wenn das Eingangssignal deutlicher ins Negative geht. Kann es an dem Schwingen liegen? Habe die Rechenschrittweite schon auf von 1ms auf 0,05 ms gesenkt, also 20x feiner, Problem tritt immer noch auf.
Bin ratlos.
Gruß,
Pflaster
Beschreibung: |
|
Download |
Dateiname: |
scope2.PNG |
Dateigröße: |
62.1 KB |
Heruntergeladen: |
531 mal |
Beschreibung: |
|
Download |
Dateiname: |
scope.PNG |
Dateigröße: |
2.21 KB |
Heruntergeladen: |
517 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.09.2011, 20:20
Titel:
|
|
Hallo,
vielleicht kannst du nicht das gesamte Modell posten, aber es sollte ja möglich sein, ein Minimalbeispiel zu posten, an dem das Problem zu erkennen ist?
Grüße,
Harald
|
|
|
Pflaster |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 10.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2011, 20:32
Titel:
|
|
Hallo,
würde es etwas bringen, das Eingangssignal in ein m-File zu schreiben und dann einfach ein "FromFile" Block vor den Integrator zu setzten und dir das m-File und ein Modell "FromFile"->"Integrator"->"Scope" zu geben?
Ich teste schon mal, ob da das Problem dann auch auftritt.
Problem tritt übrigens bei Matlab 2009 und 2011 auf.
Gruß,
Pflaster
Zuletzt bearbeitet von Pflaster am 10.09.2011, 21:25, insgesamt einmal bearbeitet
|
|
|
Pflaster |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 10.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2011, 21:19
Titel:
|
|
Hallo,
also mit dem aufgezeichneten Signal tritt das Problem nicht auf, obwohl ich mit decimation=1 aufgezeichnet habe und den Integrator-Block habe ich aus dem original Modell kopiert. Schrittweite ist auch identisch.
Das original Modell ist wirklich komplex und lässt sich nicht vereinfachen, ohne das das Eingangssignal völlig anders aussieht.
Hat denn jemand irgendeine Vermutung woran es liegen könnte? Eine vage Vermutung wäre schon super Was hat der Integrator-Block mit dem Rest des Systems zu tun? Eigentlich sollte doch nur das Eingangssignal einen Einfluss haben. Im Matlab-Command-Fenster werden auch keine Warnings oder Fehler ausgegeben.
Gruß,
Pflaster
Beschreibung: |
|
Download |
Dateiname: |
mass.zip |
Dateigröße: |
930.97 KB |
Heruntergeladen: |
434 mal |
Beschreibung: |
|
Download |
Dateiname: |
intProblem.mdl |
Dateigröße: |
24.28 KB |
Heruntergeladen: |
424 mal |
Beschreibung: |
|
Download |
Dateiname: |
scope3.PNG |
Dateigröße: |
55.85 KB |
Heruntergeladen: |
484 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.09.2011, 23:27
Titel:
|
|
Hallo,
wenn das Problem nicht an einem Beispiel vernünftiger Größe reproduzierbar ist, ist es oft schwer, weiterzuhelfen.
Mir fällt auf, dass du einen Löser mit fester Schrittweite gewählt hast. Tritt das gleiche Problem auch bei einem Löser mit variabler Schrittweite (z.B. ode45, ode23s) auf?
Grüße,
Harald
|
|
|
Pflaster |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 10.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2011, 14:48
Titel:
|
|
Hallo,
ja Solver mit variabler Schrittweite führen bei dem Modell dazu, dass die Rechenschrittweite sehr sehr gering wird. Ich habe ihn gerade mal 2 Stunden rechnen lassen und der ist erst bei 1,2 Sekunden. Normalerweise braucht er bis dahin ca. 10 Sekunden. Also das hat keinen Zweck...
Gruß,
Pflaster
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.09.2011, 15:35
Titel:
|
|
Hallo,
wenn die Schrittweite sehr klein ist, dann um Fehlertoleranzen einzuhalten.
Wenn du dann mit einer größeren festen Schrittweite rechnest, kommt zwangsläufig Müll raus.
Hast du verschiedene Löser mit variabler Schrittweite versucht?
Grüße,
Harald
|
|
|
Pflaster |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 10.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2011, 16:53
Titel:
|
|
Hallo,
ja das ist mir prinzipiell klar, aber in dem einfachen Modell wo ich das Signal aus einem "FromFile"-Block einbinde funktioniert es ja auch mit der fixen großen Schrittweite. Ist das dann nicht ein Bug von Simulink, wenn das Signal nicht integrieren werden kann, weil irgendwo anders im Modell Fehlertoleranzen überschritten werden?
ps.: Mit manchen Modell-Parametern liefert das Modell mit fixer Schrittweite gute Ergebnisse und lässt sich trotzdem nicht mit variable Schrittweite berechnen. (Jedenfalls nicht ohne dafür 1000 mal so lang zu rechnen) Ich habe auch andere Solver mit variabler Schrittweite getestet. Ich gucke mir aber noch mal die verschiedenen Solver und die zugehörigen Einstellungen an.
Gruß,
Pflaster
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.09.2011, 18:04
Titel:
|
|
Hallo,
meine Vermutung ist, dass du bei deinem Übergang vom großen zum kleinen Modell einen Denkfehler begangen hast.
Da du das Problem ja in 2009 und 2011 hast, muss ich sagen, dass ich mir nicht vorstellen kann, dass ein so fundamentaler Bug (denn falsche Ergebnisse sind einer) über 2 Jahre hinweg unbemerkt geblieben wäre.
Falls du mit einer kommerziellen Lizenz arbeitest, könntest du dich mit dem Problem auch an den Technischen Support von Mathworks wenden. Ich denke aber, dass man dir auch dort nur weiterhelfen können wird, wenn du dein Modell zur Verfügung stellst oder das Problem an einem kleineren Modell reproduzieren kannst.
Wenn ein Löser mit fester Schrittweite, die deutlich größer ist als die eines Lösers mit variabler Schrittweite, gute Ergebnisse liefert, ist das reine Glückssache, evtl. ein Aufheben der Fehler.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|