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

Algebraische Schleifen Problem

 

Reissdorfkopf
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.01.15
Wohnort: Köln
Version: R2013b
     Beitrag Verfasst am: 23.07.2015, 13:57     Titel: Algebraische Schleifen Problem
  Antworten mit Zitat      
Hallo,

ich versuche eine Solarthermieanlage in Simulink zu modellieren. Dabei stoße ich gerade darauf das Simulink probleme mit der algebraischen Schleife hat. Im subsystem des Speichers müsste irgendwo das Problem liegen. Ich muss in späteren Iterationsschritten auf zuvor berechnette werte wie Speichertemperatur etc. zurückgreifen. Ich habe es schon mit memory oder delay blöcken versucht es aber nicht wirklich geschaft vernünftige ergebnisse zu bekommen.
Zumdem muss ich sagen das ich kein Matlab/Simulink Profi bin.
Ich hoffe mein Problem wird verstanden.

Vielen Dank
Gruß Reissdorfkopf

Ps. mit dem Import file importiere ich die Wetterdaten ins Workspace um anschließend in Simulink mit ihnen zu arbeiten.

Pps. es sieht alles noch sehr wüst und unsortiert aus.

Import.m
 Beschreibung:

Download
 Dateiname:  Import.m
 Dateigröße:  718 Bytes
 Heruntergeladen:  419 mal
Dynamische_Simulation.slx
 Beschreibung:

Download
 Dateiname:  Dynamische_Simulation.slx
 Dateigröße:  41.52 KB
 Heruntergeladen:  367 mal
Wetterdaten_01.07.2011_Koeln.xls
 Beschreibung:

Download
 Dateiname:  Wetterdaten_01.07.2011_Koeln.xls
 Dateigröße:  59.5 KB
 Heruntergeladen:  438 mal
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2015, 19:37     Titel:
  Antworten mit Zitat      
Zwingt Dich irgendjemand dazu, Simulink zu verwenden? Wenn Du eh für alles Matlab-Function-Blöcke verwendest, kannst Du das vielleicht auch einfach direkt in Matlab durchrechnen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Reissdorfkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.01.15
Wohnort: Köln
Version: R2013b
     Beitrag Verfasst am: 23.07.2015, 21:41     Titel:
  Antworten mit Zitat      
Kurz und kanpp, leider schon.
Ich habe das in der Version unten mal versucht mit Memory Blöcken zu lösen. Es klappt auch soweit nur stört mich da, dass irgendwie am Anfang eine Null durchgeschickt wird. Die Werte welche Simulink danach berechnet Stimmen auch.

Gruß Reissdorfkopf

Dynamische_Simulation.slx
 Beschreibung:

Download
 Dateiname:  Dynamische_Simulation.slx
 Dateigröße:  41.61 KB
 Heruntergeladen:  408 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2015, 22:03     Titel:
  Antworten mit Zitat      
Naja, wenn die Simulation auf Werte aus dem vorherigen Rechenschritt zugreift, muss man im ersten Schritt einfach damit leben, dass einem die Informationen aus dem vorherigen Rechenschritt fehlt. Du kannst aber in den Memory-Blöcken sinnvolle Anfangswerte definieren.

Eventuell wäre es nicht verkehrt, wenn Du Dir bei Gelegenheit mal die Funktionsweise der grundlegenden Kontrollstrukturen wie if , for , while , ... anguckst und in deinem Programm dann auch die benutzt, die Du wirklich meinst. Weil das hier ergibt irgendwie nur wenig Sinn:
Code:
function St = fcn(StS,t,St_alt)
for t=1
    u=StS;
end
while t>1
    u=St_alt;
end

St = u;
Private Nachricht senden Benutzer-Profile anzeigen
 
Reissdorfkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.01.15
Wohnort: Köln
Version: R2013b
     Beitrag Verfasst am: 24.07.2015, 10:28     Titel:
  Antworten mit Zitat      
Oh, ja natürlich das ist quatsch was ich da gemacht habe.
Ich habe jetzt die Startwerte in den Memory Blöcken defeniert und so läuft es eigentlich ganz gut. Vielen Dank bin da vorher so nicht drauf gekommen.

Gruß Reissdorfkopf
Private Nachricht senden Benutzer-Profile anzeigen
 
Reissdorfkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.01.15
Wohnort: Köln
Version: R2013b
     Beitrag Verfasst am: 25.07.2015, 10:57     Titel:
  Antworten mit Zitat      
Es gibt ja so eine Art Subsystem in der man nachher durch doppel-klick die Konstanten bestimmten kann. Also genau gesagt möchte ich quasie das die Konstant Blöcke die bei mir Cyan farben sind nachher durch ein Doppelklick auf so eine Art Syubsystem eingegeben werden können. Oder muss ich dafür eine GUI anlegen?

Vielen Dank
Gruß Reissdorfkopf
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2015, 11:13     Titel:
  Antworten mit Zitat      
Suchst Du vielleicht den Punkt "Mask Subsystem", den Du findest, wenn Du rechts auf ein Subsystem klickst?
Private Nachricht senden Benutzer-Profile anzeigen
 
Reissdorfkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.01.15
Wohnort: Köln
Version: R2013b
     Beitrag Verfasst am: 25.07.2015, 15:48     Titel:
  Antworten mit Zitat      
Ja genau das meinte ich.
Vielen Dank. Jetzt muss ich nur noch verstehen wie ich das Eingabefenster mit den constant Blöcken verknüpfe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2015, 16:34     Titel:
  Antworten mit Zitat      
Einfach an Stelle eines Zahlenwertes einen Variablennamen als Wert für den Block vorgeben und genau diesen Variablennamen in der Maske definieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
Reissdorfkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.01.15
Wohnort: Köln
Version: R2013b
     Beitrag Verfasst am: 25.07.2015, 16:39     Titel:
  Antworten mit Zitat      
Super Danke, hab es gerade so gemacht.
Vielen Dank für die Hilfe.
Gruß Reissdorfkopf
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.