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 GUI eingelesene Excel-Kurve an Workspace übergeben

 

plotter22

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.07.2013, 10:47     Titel: In GUI eingelesene Excel-Kurve an Workspace übergeben
  Antworten mit Zitat      
Ich lese in mein GUI eine Excel-Datei mit zwei Spalten ein und plotte die dann. Wie kann ich die Daten der zwei Spalten am einfachsten an den Workspace übergeben?
Bisher habe ich:


Code:
[Filename,Pathname]=uigetfile({'Stromprofil.xlsx'}, 'Select Input File');
[StromIinA,Zeittins] = importfile('Stromprofil.xlsx','Tabelle1',2,31);
 plot(StromIinA,Zeittins);
 view( 50 );

handles.StromIinA=StromIinA;
handles.Zeittins=Zeittins;

guidata(hObject, handles);


Anschließend wird mein Simulink-Modell diese über einen Inport-Block importieren und ich möchte mir das manuelle Kopieren in eine Variable im Workspace so sparen.


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.07.2013, 12:02     Titel:
  Antworten mit Zitat      
Hallo,

am einfachsten ist es, wenn du dem Simulink-Modell über die Option 'SrcWorkspace' sagst, dass es sich die Daten aus dem momentanen Workspace ('current') holen soll.

Ansonsten gäbe es noch die Möglichkeit assignin, die aber wegen der damit verbundenen Unübersichtlichkeit der Anwendung generell eher nicht empfohlen wird.

Übrigens wird gegenwärtig die Information, welche Datei ausgewählt wurde, gar nicht verwendet - es wird immer mit der Stromprofil.xlsx gearbeitet.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
plotter22

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2013, 10:05     Titel:
  Antworten mit Zitat      
Hast du vielleicht ein Beispiel zum SrcWorkspace in Simulink? Ich kann mir nicht vorstellen, wo ich das in Simulink eingeben soll, damit er auf den workspace der gui-function zugreifen kann.

Ansonsten würde mir die lösung mit der Übergabe der in der gui eingelesenen Excel-Tabelle völlig ausreichen, auch wenn es vielleicht nicht die eleganteste Lösung ist.

Wenn ich folgenden code umsetze, dann habe ich zwar im base-workspace die beiden Variablen, aber ohne den Inhalt der Excel-Tabelle. Was fehlt mir noch?

Code:

function ladebutton_Callback(hObject, eventdata, handles)

[Filename,Pathname]=uigetfile({'Stromprofil.xlsx'}, 'Select Input File');
[StromIinA,Zeittins] = importfile('Stromprofil.xlsx','Tabelle1',2,31);
axes(handles.axes2_current_import);
plot(StromIinA,Zeittins);

StromIinA = str2num(get(hObject,'String'));
    assignin('base','StromIinA',StromIinA);
   
Zeittins = str2num(get(hObject,'String'));
    assignin('base','Zeittins',Zeittins);

handles.StromIinA=StromIinA;
handles.Zeittins=Zeittins;

guidata(hObject, handles);




edit by denny: Bitte die Codeumgebung verwenden. Danke!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.07.2013, 18:01     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Hast du vielleicht ein Beispiel zum SrcWorkspace in Simulink?

Ich gehe davon aus, dass du das Modell mit SIM ausführst. Und in der Doku ist SrcWorkspace beschrieben.
Code:


Zitat:
Wenn ich folgenden code umsetze, dann habe ich zwar im base-workspace die beiden Variablen, aber ohne den Inhalt der Excel-Tabelle. Was fehlt mir noch?

Wenn du die Variablen [in den Zeilen unmittelbar davor] überschreibst, bevor du sie im Base Workspace ablegst, ist das kein Wunder ;)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
plotter22

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2013, 07:46     Titel:
  Antworten mit Zitat      
Embarassed danke. meine erste gui, die ich aus den beispielen anderer zusammenkopiert habe Rolling Eyes
 
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.