was hast du den bis jetzt versucht?
du nimmst halt den den dateinamen aus dem eingabefeld (get) und machst dann textscan oder csvread oder xlsread oder dlmread oder irgendsowas.
was klappt denn nicht? einen guten anhaltspunkt, für benötigte informationen, bietet der thread aus meiner signatur.
grüsse winkow
_________________
% --- Executes on button press in solve. function solve_Callback(hObject, eventdata, handles) % hObject handle to solve (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
test_start_2_csv;
create_num_02 (a, b, c, hObject, handles)
Bisher habe ich es so versucht, ohne Erfolg Confused ^^
das ist leider keine ausführliche fehlerbeschriebung. was heist "ohne erfolg" welche fehlermeldungen treten auf. wie weicht das ergebniss vom gewünschten ab?
_________________
Ja Entschuldigung das habe ich vergessen zu sagen.
In einer früheren Version hatte ein 3 Eingabefelder a, b und c.
Und nachdem ich auf den "solve-button" geklickt habe lief alles durch und das Ergebnis wurde in dem Diagramm angezeigt.
Diese 3 Felder wollte ich durch eins ersetzen in das ich dann die csv Datei eingebe in der die Werte von a, b und c stehen.
Das heißt normalerweise sollte jetzt genau das selbe Ergebnis wie vorher herauskommen, aber wenn ich jetzt auf den "solve-button" klicke passiert leider nichts, keine Reaktion seitens des Programms(auch keine Fehlermeldung).
Deshalb vermute ich das etwas beim einlesen
Code:
d = get(handles.d,'String');
data = csvread(d,';');
Stimmt etwas mit der Syntax nicht?
Weil laut der help-function müsste eigentlich mindestens eine dieser m = ... Versionen richtig sein (wenn nicht sogar alle).
Die Variable "d" steht auch bei mir im Workspace richtig drin, daran kann es nicht liegen.
die ersten beiden versionen entsprechen nicht der syntax der documentation.
0:end macht meiner meinung nach keinen sinn da end kein befehl ist der sich auf ein array in einem cell file beziht meiner meinung nach.
einen delimiter kann man bei csvread ebenfalls nicht übergeben.
die letzte version ist soweit richtig. kann mir nur vorstellen das dann d nicht richtig ist.
versuch mal
p.s. ich würde eh eher uigetfile benutzen anstatt so ein eingabe fenster. das kann man dann mit dem pushbutton verbinden und spaart sich so ein edit feld.
_________________
Danke für den Tipp mit uigetfile , das ist viel besser und schließt schon mal eine Fehlerquelle aus ( man kann sich beim Dateinamen nicht mehr vertippen )
% --- Executes on button press in load. function load_Callback(hObject, eventdata, handles)
[FileName,PathName] = uigetfile('*.csv','Select the CSV-File to Plot'); %GUI um Datei auszuwählen
fileAndPath=[PathName FileName];
m =csvread(fileAndPath, ';');
% --- Executes on button press in solve. function solve_Callback(m, hObject, eventdata, handles)
ich habe oben bereits geschrieben das csvread keinen eingabeparameter für den delimiter hat. wäre ja auch sinnfrei. csv steht für comma seperated value. wenn du also eine csv file hast indem kein komma benutzt wird sondern ein semikolon geht csv natürlich nicht weil es keine csv datei ist. ich hatte dir deshalb auch textscan oder xlsread vorgeschlagen.
_________________
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
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.