Verfasst am: 10.09.2013, 15:55
Titel: Programmierung eines Variablendateipfades!
Hallo Leute,
ich probiere gerade eine funktion zu schreiben, die die aufgabe hat, Radardaten zu vergleichen. Dafür werden Datein eingelesen und miteinander verglichen.
Soweit so gut.
Nun will ich, dass sich den Pfand nicht immer raussuchen muss, sondern Ihn einfach eingibt und das skript arbeitet dan mit diesem.
Ich hoffe Ihr versteht was ich meine.
Habe es momentan bereits folgender maßen probiert:
w = uigetdir('/home/dmf/radar/RadarData/','Welches Radar wollen Sie betrachten?')
x = uigetdir('/home/dmf/radar/RadarData/w/','Welches Jahr?')
y = uigetdir('/home/dmf/radar/RadarData/w/x/','Welchen Monat?')
z = uigetdir('/home/dmf/radar/RadarData/w/x/y/','Welchen Tag?')
R0.Info.Path = ['/home/dmf/radar/RadarData/w/x/y/z/','Bitte Radardatei wählen'];
Damit geht das aber nicht so recht. Ich weiß nicht mehr weiter. Bitte helft mir.
was geht denn nicht? "geht nicht" ist keine hilfreiche aussage
ich kann jedem neuling nur den thread "richtig Fragen" ans herz legen. das erspaart allen viel arbeit.
_________________
Wenn Ich das Programm ausführe, was ich gerade "gepostet" habe merkt er sich die Eingabe, die ich ihm vorher gegeben habe nicht. Und darauf sollte es ja hinauslaufen.
Jetzt ist meine Frage, wie stell ich es an, dass er es sich merkt. Oder, wenn es eine besser Methode gibts dieses umzusetzen, welche wäre das.
w = uigetdir('/home/dmf/radar/RadarData/','Welches Radar wollen Sie betrachten?')
x = uigetdir(w,'Welches Jahr?')
y = uigetdir(x,'Welchen Monat?')
z = uigetdir(y,'Welchen Tag?')
R0.Info.Path = [z,'Bitte Radardatei wählen'];
Der Zweck der letzten Zeile erschließt sich mir aber nicht.
Gruß, Jan
Newbenoob
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.09.2013, 16:15
Titel:
Fürs erste Danke für das schnelle Antworten Ihr beide.
Bisher sieht mein Programm so aus, dass es nach dem Start fragt, welche Daten verglichen werden sollen.
Nun will ich aber mit dem Start der Funktion schon festlegen, welche Daten verarbeitet werden sollen. Mit dieses Informationen, die er beim Einlesen erhält soll das Programm dann den Pfand selbststädngig zusammenbauen und dann den ganz normal ablaufen.
Das script ist mehr verwirred als alles andere. (also meins)
Es geht im Ende darum, dass ich wenn ich meine Funktion starte ja ein Eingabe wert brauche und dieser müsste dann in Form einer Variablen vorliegen.
Newbenoob
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.09.2013, 16:27
Titel:
Danke Jan S,
soweit ich mir das vorgestllt habe funktioniert es. Recht herlichen Dank.
Nun noch eine Frage:
Wenn ich aus meinem Skript eine Funktion machen möchte, und nun den Pfand zusammenbauen kann, welchen Eingabewert gebe ich dieser Funktion nun?
Ich verstehe nach wie vor weder das Problem noch wie es gelöst wurde.
Deshalb weiß ich auch nicht, welchen Input Du für die Funktion benötigst. Kannst Du noch mehr Details erklären?
Gruß, Jan
Newbenoob
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 12.09.2013, 14:52
Titel:
So Leute, ich denke der Anfang war einfach nur schlichtweg zu verwirrend. Das tut mir leid.
Hier nochmal der nun "fast" fertige Code.
Code:
function[Ausgabewerte] = RV(R,Y,M)
R = '';
Y = num2str();
M = num2str();
R0.Info.Path = strcat('/home/dmf/radar/RadarData/',R,'/',Y,'_','0',M,'/RAW');
So sieht das Jetzt aus. Mit dem Aufrufen der Funktion RV und den dazu gegeben Parameter R,Y und M startet das Programm und baut aus den Parametern den Pfad zusammen.
Leider habe ich immernoch ein Problem. Wenn ich beim ausführen der Funktion R definiere, sagt mir Matlab, dass es nicht definiert wäre.
Was soll ich machen?
Newbenoob
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 12.09.2013, 15:00
Titel:
Wenn ich jetzt die Funktion aufrufe mit
Code:
RV(MAARSY,2010,8) %RV mit Paramtern
strcat('/home/dmf/radar/RadarData/',MAARSY,'/',2010,'_','8',M,'/RAW')% daraus müsste ja theoretisch folgender Dateipfad folgen
MAARSY ist in meinem Fall nur ein Ordnername. Könnte auch anders heißen. Es geht ja bloß darum, dass dann MAARSY als Wort in den Dateipfad geschreiben wird. Und das geht leider nicht. auch nicht mit der Variante, die du gerade beschrieben hast.
PS: Könnt ihr nicht mal die Botfrage ändern, dass fördert das gegraphische Verständniss Very Happy
wir gehen ja davon aus das jemand der mehr als 1 beitrag schreibt sich registriert um seine beiträge editieren zu können falls er sich vertippt hat.
_________________
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.