|
|
Simulink: Zylinderdruckberechnung |
|
Chris1871 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2015, 15:50
Titel: Simulink: Zylinderdruckberechnung
|
|
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:
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
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 16.11.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2015, 20:18
Titel:
|
|
was meinst du denn mit volumenvektor durchschieben? ist dein volumenvektor bekannt? wenn nicht hast du eine gleichung für zwei unbekannte...
|
|
|
Chris1871 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.11.2015, 06:59
Titel:
|
|
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
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 20.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.11.2015, 08:40
Titel:
|
|
Du müsstest doch nur in einer Schleife auf die richigen Werte zugreifen und einen Druck Startwert festlegen (Annahme V , kappa gleiche länge)
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
|
|
|
Chris1871 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.11.2015, 12:05
Titel:
|
|
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 Ich bitte vielmals um Entschuldigung!
Also das ganze soll im Simulink mit Blöcken realisiert werden.
Beste Grüße
Chris
|
|
|
ch3ft0ny |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 20.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.11.2015, 07:53
Titel:
|
|
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
|
|
|
MaKel89 |
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 16.11.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.11.2015, 10:26
Titel:
|
|
ich glaube der memory-block macht auch was in der art...
|
|
|
Chris1871 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2015, 10:49
Titel:
|
|
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
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 24.11.2015, 11:04
Titel:
|
|
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.
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))
|
|
|
|
|
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.
|
|