PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Matlab hilfe!



Lumberjacker
14-04-2009, 15:00
Hallo!

Ich benötige für die weiterverarbeitung von messdaten Matritzen, die in einem text oder excel format vorliegen.
Allerdings benötige ich in diesen files für jede einzelne spalte eine überschrift, damit die daten später noch zugeordnet werden können.

also meine Matrix schaut zb so aus:

2 3 1 5
9 4 8 2
4 5 1 1
4 2 8 1

und soll so abgespeichert werden:

Strom Spannung Zeit Druck
2 3 1 5
9 4 8 2
4 5 1 1
4 2 8 1

ist das mit Matlab realisierbar? ich kann ja keine strings in eine matrix schreiben oder? oder gibts da eine andere möglichkeit?
es müsste ja dann auch keine matrix mehr sein, weil ich es nur in dieser form abspeichern müsste

ich hoffe ihr könnt mir weiterhelfen

lg
Lumberjacker

falke126
14-04-2009, 15:22
Ich würd da eine Struktur verwenden...

also:

data.Strom = [2, 9, 4, .... ]
data.Spannung = []
.....

Auf diese greifst du dann wie auf einen Vektor zu,

also so in etwa:

plot(data.Spannung, data.Strom)

Ich hoffe, das hilft dir.

tyler_durden
14-04-2009, 15:44
Such mal nach CSV, das ist anscheinend das was du willst. Da gibts in Matlab Funktionen dafür. Natürlich kann man auch beliebige Daten in eine Datei schreiben.
Vielleicht geht es sogar am einfachsten, wenn du mal mit fprintf die Überschriften der Spalten in einen Datei schreibst und dann mit den CSV Funktionnen deine Werte an diese Datei anhängst, aber ob das geht weiß ich nicht.

Wenn Geschwindigkeit keine Rolle spielt kannst du deine Werte auch ohne viel zu überlegen mit fprintf und for Schleifen in eine Datei klopfen. For Schleifen sind zwar nicht schnell aber, das sollt da egal sein.

Hier mal was der erstbeste Goolge Hit dazu meint:


Wie schreibt man beliebige Daten in eine Textdatei?
Um Daten in eine Textdatei zu schreiben, gibt es die verschiedensten Funktionen, wie csvwrite, dlmwrite oder wk1write. Diese beschränken sich jedoch stets auf ein bestimmtes Dateiformat. Um die komplette Kontrolle über die Dateiausgabe zu erhalten, gibt es den Befehl fprintf. Damit lassen sich beliebige Daten formatiert in eine Datei (oder auch auf die Matlab-Kommandozeile) ausgeben.
Bevor man mit fprintf jedoch Daten schreiben kann, muss zuerst eine Datei von Hand geöffnet werden. Folgendes Beispiel zeigt einen möglichen Ablauf:

fd = fopen('export.csv', 'w'); % Öffnen der Datei export.csv zum Schreiben
fprintf(fd, '%s,%d\n', 'String', 11); % Schreiben der Daten mittels fprintf
fclose(fd); % Schließen der Datei



also eh ziemlich ähnlich wie C Syntax.

Lumberjacker
14-04-2009, 15:53
habs! dank euch vielmals!