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

Funktion in anderen Ordner

 

victor
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 25.08.08
Wohnort: Maastricht
Version: R2007b
     Beitrag Verfasst am: 27.04.2010, 13:59     Titel: Funktion in anderen Ordner
  Antworten mit Zitat      
Hallo zusammen,

hab da ein kleines Problem:

ich habe eine Funktion geschrieben, in dem ich ein Video hochlade und bearbeite. Allerdings muss sich meine Funktion im selben Ordner wie mein Video befinden damit das klappt.

Besteht die Möglichkeit die Funktion im Video-Ordner aufzurufen ohne dass sich die Funktion im selben Ordner befindet?!

Ich hab das Video, dass ich hochlade als "global" deklariert, dass klappt aber nicht so recht.

danke im voraus
Private Nachricht senden Benutzer-Profile anzeigen


Phipo
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 04.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 27.04.2010, 14:09     Titel:
  Antworten mit Zitat      
schau mal ob dir
Code:

weiterhilft.

Andere Möglichkeit:
Code:

curdir = pwd; % aktuelles Verzeichnis zwischenspeichern
try
cd (path); % zum Verzeichnis mit Funktion springen
x=funktion
cd (curdir) %Zurück springen
catch
cd (curdir) %Zurück springen
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
victor
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 25.08.08
Wohnort: Maastricht
Version: R2007b
     Beitrag Verfasst am: 27.04.2010, 14:27     Titel:
  Antworten mit Zitat      
Danke für deine Antwort.

Aber das klappt nicht ganz so... Braucht "catch" nicht noch ein Argument. Und kommt dein Code in die bestehende Funktion???
Private Nachricht senden Benutzer-Profile anzeigen
 
Phipo
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 04.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 27.04.2010, 15:04     Titel:
  Antworten mit Zitat      
sers,

das try catch Konstrukt verwende ich damit ich sicher stelle wieder in mein altes Verzeichnis zurückzukommen. Tritt ein Fehler im try Block auf wird der catch Block ausgeführt. Du kannst auch nichts im catch Block drin haben.

Was klappt nicht? Wie ist dein Code?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
victor
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 25.08.08
Wohnort: Maastricht
Version: R2007b
     Beitrag Verfasst am: 27.04.2010, 15:36     Titel:
  Antworten mit Zitat      
Also mein code sieht so aus:

Code:


function divide_tiff_movie(file_name)

%%%%%%%%%%%%%%%%%
curdir = pwd;
try
cd ('C:\Dokumente und Einstellungen\Desktop');
cd (curdir)
catch curdir
cd (curdir)
end
%%%%%%%%%%%%%%%%%

info = imfinfo(file_name);
frame_num = numel(info);
frame_num_half = ceil(frame_num/2);

%First half
Frame_1 = imread(file_name, 1);
imwrite(Frame_1,'first_half_movie.tif','Compression','none');

for j = 2:frame_num_half
    Frame_1 = imread(file_name, j);  
    imwrite(Frame_1,'first_half_movie.tif','Compression','none','WriteMode','append');
end



end

 




Dein Code ist ja richtig, aber kommt er auch da an diese Stelle?! Ich blicke da gerade nicht durch Embarassed
Private Nachricht senden Benutzer-Profile anzeigen
 
Phipo
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 04.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 28.04.2010, 09:34     Titel:
  Antworten mit Zitat      
sers,

ohne den Code getestet zu haben:

Code:

function divide_tiff_movie(file_name)

curdir = pwd;
try
cd ('C:\Dokumente und Einstellungen\Desktop');

info = imfinfo(file_name);
frame_num = numel(info);
frame_num_half = ceil(frame_num/2);

%First half
Frame_1 = imread(file_name, 1);
imwrite(Frame_1,'first_half_movie.tif','Compression','none');

for j = 2:frame_num_half
    Frame_1 = imread(file_name, j);  
    imwrite(Frame_1,'first_half_movie.tif','Compression','none','WriteMode','append');
end
cd (curdir)
catch
cd (curdir)

end
end
 


Schau dir nochmal die Hilfe zum try Befehl an. Dann wird dir der bestimmt klarer.
Nochmals zu meinen ersten Lösungsvorschläge: Mit dem ersten kannst du Funktionen bzw. Ordner in Matlab einbinden, so dass sie aus jedem Verzeichnis ausführbar sind.
Zweiter Lösungsvorschlag, da springst du in das Verzeichnis mit der gewünschten Funktion, führst die dort aus und springst zurück. Dies abgesichert mit try/catch.

Viel Erfolg
Gruß Phipo
Private Nachricht senden Benutzer-Profile anzeigen
 
victor
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 25.08.08
Wohnort: Maastricht
Version: R2007b
     Beitrag Verfasst am: 28.04.2010, 16:00     Titel:
  Antworten mit Zitat      
OK! so klappt es schon, danke dir...
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.