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

Linear steigender Flow in Matlab programmieren

 

hellofromtheotherside
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 14.09.22
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2022, 13:27     Titel: Linear steigender Flow in Matlab programmieren
  Antworten mit Zitat      
Hallo zusammen! Ich habe eine Frage. Ich bin gerade dabei alte Aufgaben meines Studiengangs zu bearbeiten und weiss nicht, wie ich weiter programmieren kann.
Es geht darum, einen bereits bestehenden Quellcode vollständig zu Programmieren.
Der Code soll im Equationsblock vervollständigt werden. So sieht es aus:

component vc_cmv_sourceLin
% VC-CMV Source Linear Final
% The VC-CMV linear source maintains a linear flow through
% it during the inspiration time, independent of the pressure across its
% terminals. After the inspiration time, the output flow becomes zero.
% This behaviour is repeated after a breathing period.

nodes
pv = ventilation; % +:top
nv = ventilation; % -:bottom
end

variables(Access=protected)
f = { 0, 'lps' }; % Flow
p = { 0, 'mbar' }; % Pressure
saw = {0 ,'1' };
end

branches
f : pv.f -> nv.f;
end

parameters
amp = { 1, 'lps' }; % peak amplitude
T_breathing = { 5, 's' }; % breathing period
insp = { 1, 's' }; % inspiration duration
end

parameters(Hidden=true)
omega = { 0, 'rad/s' }; % Angular frequency
end

function setup
omega = {2*pi,'rad'}/(2*insp);
end

equations
saw == mod(time/{ 1, 's' },T_breathing/{ 1, 's' });

*
*
*
*
*

assert(T_breathing>0) %Atemperiode größer Null
assert(insp>0) %Inspiration größer Null
assert(f >= 0) %Flow größer-gleich Null
assert(insp < T_breathing) %Inspiration kleiner als die Atemperiode

p1 == pv1.p - nv1.p;


end

end

Da wo sich die Sterne ('*') befinden, soll der Code nun vervollständigt werden.
Das ist die Aufgabenstellung dazu:

Das Element "vc_cmv_sourceLin.ssc beschreibt ein Quellenelement, das einen linear ansteigenden Flow erzeugt. Ergänzen Sie den equations-Block des Elements, der folgenden Anforderungen genügen soll.

- Solange "saw" kleiner als "insp/{1,'s'} ist, wird ein linear ansteigender Flow ausgegeben, dessen Maximum "amp" eingestellt werden kann.
- In allen anderen Fällen soll der ausgegebene Flow 0 lps betragen

- Stellen Sie sicher dass der eingestellte Flow, die Dauer der Inspiration sowie die Atemperiode keine negativen Werte annehmen kann.
- Stellen Sie sicher, dass die Dauer der Inspiration kleiner ist als die Atemperiode

Wichtig sind eigentlich die ersten beide Punkte (fettgedruckt). Ich hoffe jemand kann mir da weiterhelfen! Smile
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.