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

Export von Daten

 

gast25

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2011, 10:24     Titel: Export von Daten
  Antworten mit Zitat      
Hallo.

ich habe folgendes Problem: ich habe eine Gui erstellt, in der plots verschiedener Daten angezeigt werden. Die Daten beruhen auf einer .csv Datei.
Nun möchte ich es ermöglichen, dass der Teil der .csv Datei, der für den Plot verwendet wird, heruntergeladen werden kann. Das ganze soll mittels puschbutton funktionieren, aber das stellt ja kein Problem dar.

Mir fehlt quasi der Befehl, dass sich per Knopfdruck das Fenster öffnet um einen Zielpfad eingegeben zu können um so die .csv Datei herunterladen zu können. Kann mir da jemand weiterhelfen?

Grüße
Hauke


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 31.05.2011, 11:43     Titel:
  Antworten mit Zitat      
Hallo

meinst du etwa UIGETFILE?
Private Nachricht senden Benutzer-Profile anzeigen
 
gast25

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2011, 11:51     Titel:
  Antworten mit Zitat      
Ja, kann sein, dass ich das damit hinbekomme. Probiere mal ein wenig aus.
Danke soweit erstmal'!
 
gast25

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2011, 12:15     Titel:
  Antworten mit Zitat      
also ich hab nun folgendes:



Code:

[file, spath] = uiputfile('*.csv','Save as');
save(fullfile(spath,file),'*')


ich kann dann auch ein verzeichnis auswählen und die datei wird auch erstellt. es ist dann aber nur murx in der datei und nicht die gewünschten Werte. woran könnte das liegen?[/code]
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 31.05.2011, 12:26     Titel:
  Antworten mit Zitat      
Hallo

weil du SAVE Variablenname übergeben muss

so:

Code:

A= rand(10,10);

[file, spath] = uiputfile('*.csv','Save as');
save(fullfile(spath,file),'A','-ascii')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.05.2011, 12:54     Titel:
  Antworten mit Zitat      
Hallo gast25

SAVE(File, '*') ist in Ordnung: '*' ist ein Platzhalter für alle Variablen im aktuellen Workspace.

Deine Erklärung "nur murx in der Datei" ist aber nicht klar. Was steht denn drin? Öffnest Du sie vielleicht mit einem Editor, obwohl es ein binäres Format ist, das mit LOAD wieder in Matlab geladen werden muss?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Hauke
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2011, 13:21     Titel:
  Antworten mit Zitat      
also vielleicht hab ich das problem nicht deutlich genug beschrieben. ich hab eine gui erstellt mit der kann man sich wetterdaten vom ganzen jahr plotten lassen. entweder tages-,wochen, oder monatsweise.
ich stelle mir nun vor, dass man per button sagen kann: "lad mir die verwendeten daten in eine csv datei". die csv datei in inhalt und anzahl der spalten ist dann natürlich abhängig von den plots.

wenn ich den befehl wie oben ausführe, habe ich zum einen das problem, dass ich mir selbst eine csv datei aus dem gesamten ordner suchen muss und nicht automatisch die richtige bekomme und gespeichert wird dann das hier:


MATLAB 5.0 MAT-file
å3"av ÎðOÊJM.aà„ʃ€PC¾Zš‹
åÃ#sqjYj^IJbI"Tœ Jh<83xœ¥•MNÃ0F6]ôPhAâ'!.5M µ£Ä]æ
Ÿ—Ÿû ~}ö°ËLwè¹KbH>ôK*é†ÔÖÖП»Ò®ã~Œ<ÿo´qæy“æ=†üZc~úÂü/ЯÑñטO ŸäŸÐæ×18>æ7ôú úw ?‡üšaûo Þ? xþ¶àùi@?ó?}}÷ÿø¡.†”?xœãc``ðb6 æb`…òXL³0¤eæ¤
@ùá©%%©Eñ©9©y™‰ñF††&zÉÅeÒU
¥Bxœãc``b6 æb`…òXJƒÄŠ K2€´TÜÙ*&´8µ¨8Æ#±4;5Æ%µ8»$¿ †ñ ª
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 31.05.2011, 14:00     Titel:
  Antworten mit Zitat      
Hallo

ja du muss, aber dem SAVE sagen, dass du dir ein ASCII-File wünschst, sonst speichert Matlab in eigenes MAT-Format
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.05.2011, 14:50     Titel:
  Antworten mit Zitat      
Hallo Hauke.

"doc save" hilft weiter, wenn man Probleme mit dem SAVE Befehl hat. Wenn Du ein CSV-File möchtest, hilft meistens "docsearch csv".

Zitat:
wenn ich den befehl wie oben ausführe, habe ich zum einen das problem, dass ich mir selbst eine csv datei aus dem gesamten ordner suchen muss und nicht automatisch die richtige bekomme ...

Und welches ist die "richtige"?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Hauke
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2011, 15:55     Titel:
  Antworten mit Zitat      
@denny: mit dem '-ascii' befehl klappt es, dann wird was vernünftiges angezeigt. danke dafür.

aber eigentlich würde ich den befehl der speicherauswahl gern überspringen, und die zugehörigen daten, die derzeit in den plots angezeigt werden, als csv datei speichern.
mein programm läd erstmal die gesamte csv datei mit ca 45.000 zeilen, davon werden für die plots dann, je nach auswahl, aber nicht alle verwendet.

also am einfachsten wäre es denke ich, wenn ich die parameter der einzelnen plots irgendwie auslesen könnte und diese dann separat in einer csv datei speichern könnte um diese dann letztendlich ausgeben zu können.

oder gibt es andere ideen?
Private Nachricht senden Benutzer-Profile anzeigen
 
gast25

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2011, 10:50     Titel:
  Antworten mit Zitat      
Problem gelöst!

ich erstelle nun einfach zu einem früheren Zeitpunkt eine csv datei, in der die Daten des plots gespeichert werden und gebe die dann einfach nur noch aus

Code:

save name.csv a b c -ascii -tabs


danke an alle für die Hilfe
 
gast25

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2011, 12:27     Titel:
  Antworten mit Zitat      
doch noch ein Problem....

beim Speichern werden alle Werte in Zelle A1 gespeichert. Wie kann ich es erreichen, dass Wert 1 in A1, Wert 2 in A2....gespeichert wird?

Grüße

Hauke
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 10.06.2011, 09:24     Titel:
  Antworten mit Zitat      
Hallo

das liegt wahrscheinlich an Editor, dass alles in einer Zeile angezeigt wird, also z.B. mit Notepad++ probieren.

Sonst musst statt SAVE-Befehl, FOPEN/FPRINTF/FCLOSE-Befehle nutzen
Private Nachricht senden Benutzer-Profile anzeigen
 
Hauke
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2011, 11:44     Titel:
  Antworten mit Zitat      
also ich hab das problem nach wie vor. mit fopen etc konnte ich das auch nicht beheben.
mein code sieht nun so aus:

Code:
savefile = 'Windgeschwindigkeit_max.xls' ;
l = plot(Windgeschwindigkeit_max);
y = get(l,'ydata');
save(savefile, 'y','-ascii');
xlswrite('Windgeschwindigkeit_max.xls',y);
type Windgeschwindigkeit_max.xls;



[file, spath] = uiputfile('*.xls','Save as');
save(fullfile(spath,file),'*', '-ascii')


nun wird auch eine datei erstellt, die sogar richtig angezeigt wird, sofern ich sie aus dem matlab ordner öffne.
wenn ich sie aber in einem anderen ordner speicher und dan öffnen will, kommt zu nächst von excel eine fehlermeldung: "sie versuchen eine datei zu öffnen deren format von der in der
dateierweiterung angegebene abweicht. stellen sie sicher dass die
datei nicht beschädigt ist und aus einer vertrauenswürdigen quelle
stammt." und anschließend steht alles in einer zelle.
und matlab gibt noch folgende warnung aus:
"Warning: Attempt to write an unsupported data type to an ASCII file.
Variable 'handles' not written to file.
> In v11>pushbutton5_Callback at 296
In gui_mainfcn at 96
In v11 at 42
In @(hObject,eventdata)v11('pushbutton5_Callback',hObject,eventdata,guidata(hObject))
>> "


kann mir da jemand weiterhelfen und weiß rat?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 27.06.2011, 13:57     Titel:
  Antworten mit Zitat      
Hallo

Es gibt Standard-Dateitypen, die bei Installation zu entsprechenden Programmen registriert werden. XLS ist z.B Binary-Datentyp für Excel-Dateien. Da du XLS-File unter Matlab als ein ASCII-File ablegst, kann Excel es nicht lesen, da ein Binary erwartet wird..

Dein Code ist total durcheinander, als was willst deine Datei denn abspeichern? ASCII? oder doch Binäre Datei wie XLS?
Code:

savefile = 'Windgeschwindigkeit_max.xls' ;
l = plot(Windgeschwindigkeit_max);
y = get(l,'ydata');
[file, spath] = uiputfile('*.xls','Save as',fullfile(pwd,savefile));
xlswrite(fullfile(spath,file), num2cell(y));
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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