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

in Matlab def. Funktion aus Simulink-Modell aufrufen

 

Deniz
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 90
Anmeldedatum: 31.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2010, 13:53     Titel: in Matlab def. Funktion aus Simulink-Modell aufrufen
  Antworten mit Zitat      
Hallo,
hab diese Frage schon innerhalb eines anderen Themas gestellt, aber vllt ist es ja untergegangen. Ich habe ein M-File mit dem Namen wasserdampf. Dazu habe ich eine gleichnamige Funktion definiert, mit drei Eingangsparametern: 2 Variablen und eine Funktion. Die Variablenwerte habe ich mir überlegt mit einem Constant-Block zu übergeb, genauso die Funktion. ich weiß aber nicht welchen User-defined functions Block ich nehmen soll. Ich denke mal den Embedded Matlab function Block, weiß dann aber wiederrum nicht, was ich reinschreiben muss.

ein Auszug aus dem M-File:
Code:

function Out=wasserdampf(fun,In1,In2)

fun=lower(fun);

switch fun
   
case 'h_pt'
    p = toSIunit_p(In1);
    T = toSIunit_T(In2);
    Region = region_pT(p, T);
    switch Region
    case 1
        Out = fromSIunit_h(h1_pT(p, T));
    case 2
        Out = fromSIunit_h(h2_pT(p, T));
    case 3
        Out = fromSIunit_h(h3_pT(p, T));
    case 4
        Out = NaN;
    case 5
        Out = fromSIunit_h(h5_pT(p, T));
    otherwise
        Out = NaN;
    end
   
case 's_pt'
    p = toSIunit_p(In1);
    T = toSIunit_T(In2);
    Region = region_pT(p, T);
    switch Region
    case 1
        Out = fromSIunit_s(s1_pT(p, T));
    case 2
        Out = fromSIunit_s(s2_pT(p, T));
    case 3
        hs = h3_pT(p, T);
        rhos = 1 / v3_ph(p, hs);
        Out = fromSIunit_s(s3_rhoT(rhos, T));
    case 4
        Out = NaN;
    case 5
        Out = fromSIunit_s(s5_pT(p, T));
    otherwise
        Out = NaN;
    end

end
  .
  .
  .
 


Als Beispiel möchte ich nun die Funktion h_pt (fun) und die Parameter p und t an einen Block übergeben. wenn ich den im Command-Fenster wasserdampf('h_pt', 50, 500) eingebe als Beispiel, rechnet er mir auch alles aus. Nur im Simulink-Modell weiß ich eben nicht, wie ich es machen muss, also welcher Block und was ich da reinschreiben muss.

Danke für die Hilfe!
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.