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

Simulink: Zylinderdruckberechnung

 

Chris1871

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2015, 15:50     Titel: Simulink: Zylinderdruckberechnung
  Antworten mit Zitat      
Hallo zusammen,

seit Monaten sitze ich vor diesem Problem, dass ich im Folgenden näher erläutern werde:

Es besteht ein Vektor V = [1;2;3;4;5;...] und ein Vektor kappa=[1;2;3;4;5;...].
Die Werte sind nur Lückenfüller, wen es interessiert: es handelt sich hierbei um das
Volumen in einem Zylinder eines Verbrennungsmotors und um den Isentropenexponenten kappa jeweils über ein Arbeitsspiel, wodurch sich 3601 Werte ergeben.

Nun soll der Zylinderdruck mit folgender Formel berechnet werden:

p_{n+1}  = p_{n} \cdot (\frac{V_{n}}{V_{n+1}})^{kappa}

Man definiert also den ersten Druckwert und berechnet mit diesem den Folgewert.
Mein Ansatz war, den Volumenvektor um eine Stelle durchzuschieben, so dass zwei Vektoren entstehen.

Außer algebraic Loops und keinem Ergebnis passiert da nichts. Egal wie ich das anstelle.

Ich hoffe man versteht einigermaßen was ich meine, ansonsten einfach nachfragen!

Vielen Dank für eure Hilfe!

Mit freundlichen Grüßen,
Chris


MaKel89
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 16.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2015, 20:18     Titel:
  Antworten mit Zitat      
was meinst du denn mit volumenvektor durchschieben? ist dein volumenvektor bekannt? wenn nicht hast du eine gleichung für zwei unbekannte...
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris1871

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2015, 06:59     Titel:
  Antworten mit Zitat      
Hallo,

danke für die schnelle Rückmeldung.
Ja das Volumen ist zu jedem Zeitpunkt bekannt. Die beiden Vektoren V und kappa existieren zu Beginn der Berechnung.

Ein Beispiel für das "Durchschieben":

V_n = [1; 2; 3; 4; 5] -> V_n+1 = [2; 3; 4; 5; 1]

so dass zum Zeitpunkt x jeweils ein Wert mit seinem Folgewert in die Gleichung einfließt, also hier nun die 1 und die 2. Das gibt einen kleinen fehler, da der Folgewert der 5 aus dem Vektor V_n nicht die 1 ist, aber bei 3601 Werten (4-Takt-Motor -> Zwei volle Umdrehungen -> 720° mit einer Kurbelwinkelauflösung von 0,2° = 3601 Werte)

Ich hoffe es ist jetzt klarer geworden!

Beste Grüße
Chris
 
ch3ft0ny
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2015, 08:40     Titel:
  Antworten mit Zitat      
Du müsstest doch nur in einer Schleife auf die richigen Werte zugreifen und einen Druck Startwert festlegen (Annahme V , kappa gleiche länge)


Code:


p(1)=?

for i=2:length(V)
    p(i)=p(i-1)*(V(i-1)/V(i))^kappa(i)
end

 


ob man jetzt auf kappa(i) oder kappa(i-1) zugreift ist geschmackssache, man könnte aber auch beide mitteln, da es ja der polytropenexponent von i-1 nach i ist
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris1871

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2015, 12:05     Titel:
  Antworten mit Zitat      
Hallo zusammen,

danke für deine Antwort. Im Matlab ist mir das klar. Ich habe wohl den Fehler gemacht, Simulink nur im Threadtitel zu erwähnen Very Happy Ich bitte vielmals um Entschuldigung!

Also das ganze soll im Simulink mit Blöcken realisiert werden.

Beste Grüße
Chris
 
ch3ft0ny
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2015, 07:53     Titel:
  Antworten mit Zitat      
Hab ich überlesen entschuldigung.

Aber in Simulink hab ich in nem Regelungstechnik Praktikum auch mal nen Block gebraucht, der den Wert um einen Sampleschritt verzögert.
Soweit ich mich noch erinnern kann war das der 1/z Block bei den Diskreten Blöcken

Ich hoffe das hilft dir weiter
Private Nachricht senden Benutzer-Profile anzeigen
 
MaKel89
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 16.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2015, 10:26     Titel:
  Antworten mit Zitat      
ich glaube der memory-block macht auch was in der art...
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris1871

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2015, 10:49     Titel:
  Antworten mit Zitat      
Hallo zusammen,

vielen Dank für Eure Rückmeldungen. Ich hab das bereits mit den von Euch genannten Blöcken versucht, allerdings kann ich gar nicht wirklich sagen, ob das damit funktioniert oder nicht. Das Hauptproblem ist nämlich der entstehende algebraic Loop, da das Ausgangssignal wieder in die Berechnung einfließt!
Simulink startet die Berechnung nicht.

Beste Grüße und vielen Dank,
Chris
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 24.11.2015, 11:04     Titel:
  Antworten mit Zitat      
Chris1871 hat Folgendes geschrieben:
Das Hauptproblem ist nämlich der entstehende algebraic Loop, da das Ausgangssignal wieder in die Berechnung einfließt!



Du musst das Ausgangssignal, bevor es wieder vorn in die Berechnung einfließt, mittels eines Integrators um einen Sampleblock verzögern.

test.mdl
 Beschreibung:

Download
 Dateiname:  test.mdl
 Dateigröße:  23.68 KB
 Heruntergeladen:  429 mal

_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
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.