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

optionale Argumente?

 

p.nietnagel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 19.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.05.2010, 14:18     Titel: optionale Argumente?
  Antworten mit Zitat      
Hallo,

ich will eine kleine Funktion schreiben, bei der ich die Möglichkeit einbauen will, entweder das eine oder das andere Argument einzugeben.
Auf "varagin" bin ich schon gestoßen, aber das kann - glaub ich - nicht das, was ich will.
Um es konkret zu machen:
Meine Funktion erstellt eine Liste von Dateinamen von ausgewählten z.B. Bildern oder auch Audiofiles, die sich in einem anzugebenden Ordner befinden. Ich möchte dem User die Möglichkeit geben, entweder das Dateiformat der Bilder anzugeben oder einen Teil des Dateinamens.
Wie programmiert man das, was man in normalen Matlabfunktionen findet, also z.B. eine Option 'Color' und dann die entsprechende Variable 'g'. So hatte ich mir das gedacht, dass ich eine Option 'DateiFormat' spezifiziere und eine Option 'TeilName'.
Geht das mit varargin überhaupt oder gibt es dafür einen anderen Befehl?

Vielen Dank im Voraus für Tipps!


P. Nietnagel
Private Nachricht senden Benutzer-Profile anzeigen


MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.05.2010, 18:57     Titel:
  Antworten mit Zitat      
du kannst das in der Funktion über
Code:
switch dateiFormat
case 'jpg'
%code
case 'tif'
%code
end

machen
Private Nachricht senden Benutzer-Profile anzeigen
 
p.nietnagel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 19.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2010, 00:49     Titel:
  Antworten mit Zitat      
Danke MatLabNooB für die Antwort.

Ich glaube, ich habe mich unklar ausgedrückt: Deine Idee mit dem switch für die Dateiendung (= Dateiformat oder wie auch immer) ist klar. Ich muss eine ellenlange Liste mit cases aufführen, die eingegeben werden könnten.
Mir geht es um etwas anderes:
angenommen, jemand hat einen Ordner mit 500 Dateien und möchte nur die 50 Dateien, die in ihrem Namen den Teil "BlaBlub" enthalten rausfischen. Dann würde ich eine Anweisung mit strcmp schreiben. Aber davor muss ich erstmal auseinanderdividieren, ob jemand seine Dateien nach dem Dateiformat oder nach einer im Dateinamen enthalten Zeichenkette sucht.
Man könnte das natürlich auch in den switch einbauen als letztes: otherwise und dann strcmp und so weiter.
Aber ich dachte, es würde auch eleganter gehen.
So nach dem Motto:
Code:
ErstellListe(filename, 'DateiFormat', 'png')
oder eben im Falle vom Teil des Dateinamens:
Code:
ErstellListe(filename, 'TeilName', 'BlaBlub')


Hat vielleicht jemand einen Tipp?


Vielen Dank im Voraus!
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.