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

Mat file editieren

 

sparky

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 09:33     Titel: Mat file editieren
  Antworten mit Zitat      
Hallo miteinander,

folgendes Problem versuche ich zu lösen:

ich habe unter Simulink ein Reglermodell umgesetzt. Um Messdaten zu erfassen kann ich unter Control-Desk (Anbindung an einen
Prüfstand) Werte als Mat-file speichern.
Wenn ich anschließend die Daten in einem From-file -Block wieder einlesen möchte funktioniert das nicht, weil das Array
scheinbar eine andere Strukur hat. Ich schätze, das Zeilen und Spalten vertauscht sind.
Wie kann das mat-file editiert werden?
Über Vorschläge freue ich mich!


Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 09:44     Titel:
  Antworten mit Zitat      
mit

Code:

Data = load datei.mat
 


müßtest Du die Daten einlesen können... das Dumme ist nun, dass der Control Desk die Pfade der Variablen im Modell mit abspeichert...

man muss sich entweder eine Funktion schreiben oder selber mühsam die Variablen raussuchen...

d.h. die erste aufgezeichnete Variable wird Data.Y(1).Data sein... und der Zeitvektor steckt in Data.X.Data

welche Variable das ist sieht man dann mit Data.Y(1).Name

die Reihenfolge ändert sich immer wieder wenn man das Modell oder im Control Desk die aufgezeichneten Variablen ändert...

wenn jemand einen Trick kennt... immer her damit...

ich hab mir eine Funktion gebastelt, die den Variablennamen sucht und mir die Position in dem Struct ausgibt...
unschön, aber funktioniert ;-)
Private Nachricht senden Benutzer-Profile anzeigen
 
Sparky

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 13:55     Titel:
  Antworten mit Zitat      
das einlesen (also load...) klappt soweit.
ich kann die Werte (X für Zeit und Y für Messwert) auch in einer
Matrix verpacken und als mat-file speichern (leider inclusive aller übrigen Rechenoperationen). Somit ist die Struktur der Matrix noch nicht passend für
den "from File" Block.
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 15:08     Titel:
  Antworten mit Zitat      
ok
ich hab mal ein Beispiel zusammengestellt...

Code:

load Daten.mat

time = Daten.X.Data;
var1 = Daten.Y(1).Data;
var2 = Daten.Y(2).Data;

% Variable für "From Workspace" Block in Simulink
sim_in1 = [time' var1];
sim_in2 = [time' var2];
 


so müßte das funktionieren... dann musst du am mat File nix ändern... Simulink holt sich die Variablen aus dem Workspace von Matlab...

In Simulink nimmst Du dann einen From_Workspace Block und gibst im Feld Data einfach sim_in1 oder sim_in2 ein... und gut is

probiers mal so
und überprüfe mit
Code:

Daten.Y(1).Name;
 

welche Variable nun var1 eigentlich ist... denn das ist wie gesagt ein wenig unsystematisch bei Control-Desk
Private Nachricht senden Benutzer-Profile anzeigen
 
Sparky

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 16:13     Titel:
  Antworten mit Zitat      
Code:
%

load messreihe.mat

time = messreihe.X.Data;
var  = messreihe.Y.Data;

simin = [time', var'];  % hier habe ich beide Vektoren transponiert und nen   %Komma spendiert...

 


So funktioniert es Super!!!!! Smile
Danke nochmal! Super Hilfe!

Sparky
 
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.