|
|
Initialisierungsdateien und Konstanten |
|
AlexanderKiebler82 |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 11.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.08.2008, 23:56
Titel: Initialisierungsdateien und Konstanten
|
|
Hallo
Ich arbeite gerade an einem Simulink Projekt. Hierbei möchte ich gerne
*eine* Datei zu Initialisierung von Konstanten haben. Diese wird beim Laden des Projekts automatisch aufgerufen.
Leider habe ich nun das Problem, dass ich, wenn ich die Werte zur Speicheralloziierung (z.B.: zeros(Vorinitialisierte_Variable)) verwende, der Kompiler/Interpreter(???) meckert und die Simulation abbricht.
Habe ich die Möglichkeit Variablen als Konstanten zu deklarieren welche dann zur Speicheralloziierung verwendet werden können ??
Über eine schnelle Antwort würde ich mich sehr freuen
Gruß Alex
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.08.2008, 15:46
Titel:
|
|
Hallo Alex,
das Problem verstehe ich nicht ganz: üblicherweise kann man einfach eine .m-Datei schreiben mit
und diese ruft man in der PreLoadFcn auf (File->Model Properties->Callbacks, dort bei PreLoadFcn den Namen der .m-Datei eintragen (ohne .m, also den Befehl, den Du sonst im CommandWindow eingeben würdest, um das skript laufen zu lassen).
Ciao,
Titus
|
|
|
AlexanderKiebler82 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 11.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.08.2008, 15:54
Titel:
|
|
Hi Titus
Danke Für die Antwort.
Die Initialisierung wird wie du beschrieben hast vorgenommen und läuft dann auch. Aber wenn ich jetzt eine in der Präload function initialisierte Variable verwende, um einen Vektor zu erzeugen, meckert matlab.
z.B.:
PräLoadFunc:
size = 10;
EmbeddedMATLAB Function:
zeros(size); %Hier mecker matlab, da size keine konstante ist
Gruß Alex
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.08.2008, 15:59
Titel:
|
|
O.K., wir kommen der Sache näher .
Der Embedded MATLAB function block: hast Du den Parameter als Parameter hinzugefügt? Wichtig: den Haken bei 'tunable' muss man wegnehmen (dann ist er nämlich nicht tunable, also constant).
Titus
|
|
|
AlexanderKiebler82 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 11.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.08.2008, 16:34
Titel:
|
|
Parameter als Parameter hinzufügen???
also muß er in die übergabeliste ??
z.b.:
function fcn(PARAMETER)
Und wo hat sich der tuneable haken versteckt ??
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.08.2008, 10:33
Titel:
|
|
Hallo,
wenn Du den Embedded MATLAB Editor geöffnet hast:
- Menü Tools->Edit Data/Ports
- Knopf oben links (neuen Eintrag)
- umbenennen und "Scope" auf "Parameter" setzen
- Haken bei Tunable wegnehmen
Titus
|
|
|
schweikl_alex |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2008, 11:44
Titel:
|
|
Zu diesem Thema hätt ich auch ne Frage.
Ich habe auch ein Simulink Modell entwickelt. Hier hab ich eine Maskiertes subsystem. 5 Werte. Die belege ich mit 1,2,3,4,5. in diesem Subsytem übergebe ich die WErte dann einer Matlab fcn mit hilfe eines matlab fcn blockes.
In der Matlab Funktion führe ich den Befehl disp(); aus. der zeigt mir nun die übergebenen Parameter an.
Führe ich jetzt das Modell aus, so erhalte ich im Command Fenster erst einmal 5 nullen die angezeigt werden, danach 1,2,3,4,5!
Simulink initialisert irgendiwe erst das modell und dann führt es richtig aus oder?
Kann ich das initialiseren irgendwie umgehen? oder kann ich es abfragen?
mir wäre geholfen, wenn ich in der Matlab funktion irgend eine if anweisung schreiben könnte, die sagt wenn du initialiserst, mach gar nichts, ansonsten mach den disp Befehl!!!!
geht so was???
|
|
|
|
|
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.
|
|