WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Interator-Block Problem oder Denkfehler?

 

Pflaster
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 10.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2011, 13:56     Titel: Interator-Block Problem oder Denkfehler?
  Antworten mit Zitat      
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 Exclamation Question

Kann das sein? Für mich macht das keinen Sinn. Habe ich einen Denkfehler?

Mit freundlichen Grüßen,

Pflaster
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.09.2011, 19:00     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pflaster
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 10.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2011, 19:23     Titel:
  Antworten mit Zitat      
Hallo,

danke, ich dachte schon ich bin doof Very Happy
Das Modell ist ziemlich groß und weitergeben darf ich es auch nicht Wink 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

scope2.PNG
 Beschreibung:

Download
 Dateiname:  scope2.PNG
 Dateigröße:  62.1 KB
 Heruntergeladen:  531 mal
scope.PNG
 Beschreibung:

Download
 Dateiname:  scope.PNG
 Dateigröße:  2.21 KB
 Heruntergeladen:  517 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.09.2011, 20:20     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pflaster
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 10.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2011, 20:32     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pflaster
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 10.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2011, 21:19     Titel:
  Antworten mit Zitat      
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 Wink 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

mass.zip
 Beschreibung:

Download
 Dateiname:  mass.zip
 Dateigröße:  930.97 KB
 Heruntergeladen:  434 mal
intProblem.mdl
 Beschreibung:

Download
 Dateiname:  intProblem.mdl
 Dateigröße:  24.28 KB
 Heruntergeladen:  424 mal
scope3.PNG
 Beschreibung:

Download
 Dateiname:  scope3.PNG
 Dateigröße:  55.85 KB
 Heruntergeladen:  484 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.09.2011, 23:27     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pflaster
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 10.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.09.2011, 14:48     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.09.2011, 15:35     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pflaster
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 10.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.09.2011, 16:53     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.09.2011, 18:04     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.