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

Programmierung eines Variablendateipfades!

 

Newbenoob

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2013, 15:55     Titel: Programmierung eines Variablendateipfades!
  Antworten mit Zitat      
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:
Code:
% function[b]= Datumstext(x)
 
 R0.Info.Path = uigetdir ('/home/dmf/radar/RadarData/','Bitte Radardatei wählen');

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.

Liebe Grüße.

PS: Wenn Ihr mir wiklich helfen können solltet, wird vermutlich in den nächsten 2 Monaten noch eine menge weiter Hilfestellungen auf euch zukommen. Embarassed


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 10.09.2013, 15:59     Titel:
  Antworten mit Zitat      
Zitat:
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 Smile
ich kann jedem neuling nur den thread "richtig Fragen" ans herz legen. das erspaart allen viel arbeit.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Newbenoob

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2013, 16:03     Titel:
  Antworten mit Zitat      
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.

Mfg
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 10.09.2013, 16:09     Titel: Re: Programmierung eines Variablendateipfades!
  Antworten mit Zitat      
Hallo Newbenoob,

Mir wird die Frage immer noch nicht ganz klar. Was genau bedeutet dies:
Zitat:
Nun will ich, dass sich den Pfand nicht immer raussuchen muss, sondern Ihn einfach eingibt und das skript arbeitet dan mit diesem.

Auskommentierter Code in Beispielen erhöht die Verwirrung der Leser:
Zitat:
Code:
% function[b]= Datumstext(x)

Spielen "b" und "x" eine rolle hier?

Vielleicht meinst Du:
Code:
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Newbenoob

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2013, 16:15     Titel:
  Antworten mit Zitat      
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: ---
     Beitrag Verfasst am: 10.09.2013, 16:27     Titel:
  Antworten mit Zitat      
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?
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 10.09.2013, 21:47     Titel:
  Antworten mit Zitat      
Hallo Newbenoob,

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
Private Nachricht senden Benutzer-Profile anzeigen
 
Newbenoob

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.09.2013, 14:52     Titel:
  Antworten mit Zitat      
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: ---
     Beitrag Verfasst am: 12.09.2013, 15:00     Titel:
  Antworten mit Zitat      
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

 


Leider kommt dann der Fehler:

Code:
RV(MAARSY,2010,3)
Undefined function or variable 'MAARSY'.
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.09.2013, 23:42     Titel:
  Antworten mit Zitat      
Hallo Newbenoob,

Duie Fehlermeldung bedeutet, dass es keine Variable mit dem Namen "MAARSY" gibt. Warum sie nicht existiert, kann ich nicht wissen.

Meinst Du dies:
Code:
function [Ausgabewerte] = RV(R,Y,M)
Y = num2str(Y);
M = num2str(M);
Folder = fullfile('/home/dmf/radar/RadarData', R, [Y,'_','0',M], 'RAW');
 

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Newbenoob

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.09.2013, 09:31     Titel:
  Antworten mit Zitat      
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.
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.09.2013, 09:38     Titel:
  Antworten mit Zitat      
du hast die funktion aber nicht mit MAARSY als namen aufgerufen sondern mit MAARSY als variablen name.
Code:
function [Ausgabewerte] = RV(R,Y,M)
Y = num2str(Y);
M = num2str(M);
Folder = fullfile('/home/dmf/radar/RadarData', R, [Y,'_','0',M], 'RAW');

aufrufen musst du das dann natürlich mit
Code:
RV('MAARSY',2010,8)

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Newbenoob

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.09.2013, 10:46     Titel:
  Antworten mit Zitat      
Danke Leute,

ihr habt mir sehr geholfen.
Der vollständig wegen hier ein teil des codes.
Input ist folgender:
Code:

RV('MAARSY',2010,3)
 


Code:

if nargin == 3;
    Y = num2str(Y);
    M = num2str(M);
    R0.Info.Path =  strcat ('/home/dmf/radar/RadarData/',R,'/',Y,'_','0',M,'/RAW');
    R0.Info.Path = [R0.Info.Path,'/'];
else
       
    R0.Info.Path = uigetdir ('/home/dmf/radar/RadarData/','Bitte Radardatei wählen');
    R0.Info.Path = [R0.Info.Path,'/'];
end
 

Danke an alle die geholfen haben.

Mfg

Julius

PS: Könnt ihr nicht mal die Botfrage ändern, dass fördert das gegraphische Verständniss Very Happy
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.09.2013, 10:49     Titel:
  Antworten mit Zitat      
Zitat:
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.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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.