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

M-file in S Function übertragen

 

Sonny

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2011, 12:40     Titel: M-file in S Function übertragen
  Antworten mit Zitat      
Hallo zusammen,

Ich habe folgende Problematik:
Ich verfüge über einen existierenden M-file (skript) welchem zu Beginn variablen zugewiesen werden. In folge dessen finden Rechnungen statt und am Ende des Programms bekomme ich einige outputs & Prints.

Nun möchte ich in Simulink die Variablen als constanten in einen Block einfügen (Inputs), und die Werte für Prints&Outputs als Signale nach dem Block abgreifen können. Die eigentliche Berechnung des M-files soll in dem Block (z.B. Level 2 S Function) stattfinden. Das ganze soll geschehen zur Regelstreckenanalyse. Die Regelstrecke ist somit die Berechnung in dem M-file.


Das ganze brauche ich um von verschiedenen Inputs auf verschiedene outputs die Übertragungsfunktionen ermitteln zu können.


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 06.07.2011, 19:27     Titel: Re: M-file in S Function übertragen
  Antworten mit Zitat      
Hallo Sonny,

leider verstehe ich dein Problem noch nicht ganz. Vor allem mit folgendem Satz kann ich nichts anfangen

Sonny hat Folgendes geschrieben:
Die eigentliche Berechnung des M-files soll in dem Block (z.B. Level 2 S Function) stattfinden.


Wenn der m-File die Berechnung macht, warum dann der Wechsel in Simulink? Warum schreibst du den m-file nicht als Funktion, die als Input die Variablen erhält und als Output dir deine Plots und Ergebnisse liefert.

Was meinst du denn genau mit s Funktion...Übertragungsfunktion im Bildbereich? Wenn du diese hast, kannst du sie doch einfach in num und den aufteilen und im Workspace abspeichern. Den Transfer Function Block übergibst du dann num und den. Genauso läuft das mit den Inputs. Einfach im Workspace ablegen und dann in Simulink in dem Block gleich nennen. So kennt Simulink deine Werte.
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2011, 20:24     Titel:
  Antworten mit Zitat      
s-function: http://www.mathworks.com/help/toolbox/simulink/sfg/f6-151.html

Du hast zwar dein Vorhaben geschildert, aber keine Frage gestellt. Wo genau liegt denn dein Problem?

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Sonny

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 11:11     Titel: Sorry
  Antworten mit Zitat      
Ok. Ich versuchs mal zu schildern.
Ich verfüge über ein Matlab Skript welches die innermotorische Verbrennung "simuliert". Dazu werden zu Beginn Variablen deklariert, als nächstes fehlende Werte sowie Differentialgleichungen gelöst (teilweise p-code und für mich nicht einsehbar) und am Ende werden Figures und Outputs geprintet.
Meine Aufgabe besteht darin, eine Regelstrecke zu bekommen welche ich dann analysieren kann um eine digitale Regelung zu entwerfen. Da ich irgendwie an eine Übertragungsfunktion kommen muss (z.B. Kraftstoffmenge(Input) -->Mitteldruck(Output)) wollte ich dies in Simulink realisieren da ich nicht weiss wie ich im Editor eine Regelstreckenanalyse machen soll.

Somit lasse ich die Variablen als constanten in den Block einfliessen, kann sie dort aber nicht zuordnen (z.B. block.InputPort(1).Data=mfuel) damit mit mfuel gerechnet werden kann.

Ich hoffe das war etwas besser Smile
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 11.07.2011, 12:01     Titel:
  Antworten mit Zitat      
Sorry...da kann ich dir leider nicht weiter helfen.

Evtl. hilft dir ja dieses kleine Bsp. einer S-Function weiter (allerdings Level 1)

http://www.gomatlab.de/werte-in-ueb.....ssen-t18815,start,15.html
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.