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

Mit Hilfe einer Schleife Bilder Löschen

 

metalphony
Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 11.11.2013, 21:27     Titel: Mit Hilfe einer Schleife Bilder Löschen
  Antworten mit Zitat      
Ich würde gerne am Ende meines Skripts die vorher erzeugten Bilder wieder automatisch löschen. Die Bilder sind alle aufsteigen nummeriert...Frame1.jpg, Frame2.jpg usw...
Hab folgendes probiert aber leider funktioniert es nicht und ich verstehe nicht so ganz warum nicht.. :
Code:
for i = 1 : 10
delete('Frame{i}.jpg')
end

Was ist falsch daran bzw. wie müsste ich es richtig machen?
Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.11.2013, 22:23     Titel: Re: Mit Hilfe einer Schleife Bilder Löschen
  Antworten mit Zitat      
Hallo metalphony,

"Funktioniert nicht" ist nicht hiolfreich in einer Diskussion. Besser wäre es, Du postest die Fehlermeldung.

Zitat:
Code:
for i = 1 : 10
  delete('Frame{i}.jpg')
end

Dies löscht in jeder Iteration das File mit Namen "Frame{i}.jpg". Woher könnte Matlab auch wissen, was Du mit den geschweiften Klammern meinst?

Besser:
Code:
for i = 1 : 10
  delete(sprintf('Frame%d.jpg', i));
end


Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 11.11.2013, 22:40     Titel:
  Antworten mit Zitat      
Vielen Dank für die spätabendliche Hilfe!
"Leider" habe ich in diesem Fall keine Fehlermeldung bekommen. Matlab hat das Skript Ausgeführt/ Nicht Ausgeführt...jedenfalls ist nix passiert...
Könnte mir vill. kurz erklären wie diese "sprinf" Funktion funktioniert?! Bzw. wie erklären wie der Code den du mir gepostet hast funktioniert...nur so zum nachvollziehen..
Schönen Abend noch!
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 12.11.2013, 08:37     Titel:
  Antworten mit Zitat      
Moin metalphony,

dein Befehl musst du nur in:

Code:
delete('Frame*.jpg')


ändern. Dann klappt das.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 12.11.2013, 09:16     Titel:
  Antworten mit Zitat      
Zitat:
Moin metalphony,

dein Befehl musst du nur in:


Code:
delete('Frame*.jpg')



ändern. Dann klappt das.


Läuft es dann immer noch mit der Laufvariablen "i" durch? Wie genau funktioniert es? Würde deine Version und die von Jan_S gerne zu 100% verstehen damit ich sowas später dann auf kommende Probleme anwenden kann, bzw. kombinieren.. Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 12.11.2013, 09:20     Titel:
  Antworten mit Zitat      
Zitat:
vorher erzeugten Bilder wieder automatisch löschen


Wozu benötigst du denn "i". delete löscht die Bilder - wie angefragt. Ich versuche immer mit so wenig wie möglichen Befehlszeilen auszukommen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


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

Matlab's Hilfe-Texte erklären das umfassend:
Code:

Und den Rest kannst Du einfach ausprobieren. Gib einfach im Command Window ein:
Code:
i = 5
sprintf('Frame%d.jpg', i)

Und dann nimm ein paar Werte für i oder ändere etwas im SPRINTF-Befehl entsprechend der Hilfe-Texte.

Hast Du schon die Getting Started Kapitel der Dokumentation durch gelesen? Das kann ich nur wärmstens empfehlen.

Gruß, Jan
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.