Zwei Variablen->Eine Variable < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:33 Mo 05.02.2007 | Autor: | energy77 |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich lese eine excel-Tabelle aus und möchte aus den 1260 (140 Haushalte á 9 Datenreihen) darin gespeicherten Datenreihen einzelne *.txt Dateien generieren.
In der Excel-Tabelle ist Hausnummer als Zahl und der Straßenname als Text angegeben. Um nun jedem Haushalt eine eigene Datei mit entsprechendem Namen zuzuschreiben möchte ich aus dem Straßennamen und der Hausnummer eine Variable erzeugen, die Matlab dann auch anerkennt.
[mm] [num,txt,raw]=xlsread('C:\*.xls','*','c1:c2')
[/mm]
num = 6
txt = 'Helene-Künne-Allee'
raw = 'Helene-Künne-Allee' [ 6]
Wie läßt es sich bewerkstelligen, daß ich aus dem "num" und dem "txt" eine Variable erhalte, die ich dann später an andere Funktionen weitergeben kann und auch als Dateinamen verwenden kann?
Ich bin was das angeht leider mit meine Matlab-Latein am Ende und habe leider auch keine vernüntigen Lösungsansätze.
|
|
|
|
Hallo,
wie wäre es mit:
dateinamen = [strjust(txt,'right') repmat('_',size(num,1),1) strjust(num2str(num),'left')];
Vor dem Erzeugen der Dateien müsstest du allerdings noch die Leerzeichen entfernen.
Gruß
Martin
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:23 Di 06.02.2007 | Autor: | energy77 |
Hallo Martin,
danke für die prompte Antwort. Ich werde dann jetzt mal fleißig probieren, das mit den Leerzeichen in den Griff zu bekommen. Habe da auch schon eine Idee...und wenn ich wieder scheitern sollte, melde ich mich nochmal.
Hat jemand vielleicht einen Buch-Tipp zu Matlab? Ich habe momentan leider nur die Hilfe-Funktion von Matlab (die gut ist, wenn man den Befehl kennt, den man braucht) und ein Buch, das weit über meine Ziele hinausschießt ("Matlab, Simulink, Stateflow" von Angermann&Co aus dem Oldenbourg-Verlag). Ich hätte gerne sowas wie eine kommentierte, problemorientiert Befehlssammlung, wenn´s das gibt.
Schöne Grüße
Sören
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:02 Di 06.02.2007 | Autor: | energy77 |
|
|
|
|
|
So, dank Martin´s Hilfe habe ich nun schonmal eine Variable statt zwei. Das Problem ist jetzt nur, daß ich eine Variable der Dimension <1x3cell> habe. Das hätte ich gerne, wenn´s geht, als <1x1cell>.
Folgende Fehlermeldung spuckt Matlab mir aus:
lastname =
'Helene-Künne-Allee' '_' '6'
> In dia at 13
??? Error using ==> fopen
Invalid filename.
Error in ==> day at 16
datei_id = fopen (lastname , 'wt');
Error in ==> dia at 16
day(lastname,'wiwe',bereich);
Was ich gerne hätte wäre eine 'verschmolzene' Variable, die aus den Zelleninhalten "Helene-Künne-Allee" und "6" besteht und das alles in <1x1>-Form. Geht das überhaupt? Wenn ja, wie geht´s?
Vielleicht verlange ich ja auch das Unmögliche und sollte eine komplett anderen Weg gehen?!?
Danke im Voraus.
Sören
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:57 Di 06.02.2007 | Autor: | energy77 |
Ich habe jetzt herausgefunden, wie ich die Cell-Einträge zu einem "verschmelzen" kann.
[mm] [num,txt,raw]=xlsread('C:\*.xls','sheet','c1:c2')
[/mm]
puffer = [strjust(txt,'right') repmat('_',size(num,1),1) strjust(num2str(num),'left')];
lastname=cell2mat(puffer)
Jetzt tun sich zwar wieder neue Probleme auf, aber das werde ich erstmal alleine probieren.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Do 08.02.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|