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

Dynamische Matrix mit for Schleife beschreiben

 

Markus_xx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2011, 12:04     Titel: Dynamische Matrix mit for Schleife beschreiben
  Antworten mit Zitat      
Hallo ich habe folgendes Problem ich möchte ein Bild mit 2 for schleifen durchlaufen.

Sobald ein Wert der Bildmatrix den Wert 2 hat sollen die Koordinaten (Zeile, Spalte) in eine andere Matrix geschrieben werden.

momentan sieht mein Code wie folg aus:

Code:

x=1;
for n=1:1.sy;
 for m=1:1:sx;

   if BinBild_Dead_Gefiltert(n.m)>=2;
   Kritische_Pixel_Dead(x,:)=[n,m];
   x=x+1;

   end;
 end;
end;
 


funktioniert aber leider so nicht
Vielen Dank schonml für eure Hilfe

edit by denny: Bitte die Codeumgebung verwenden. Danke!


Markus_xx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2011, 12:25     Titel:
  Antworten mit Zitat      
Es kommt der Hinweis
'Kritische Pixel_Dead' might be growing inside a loop. Consider prallocating for speed.
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 25.03.2011, 12:28     Titel:
  Antworten mit Zitat      
Bitte die Code-Umgebung verwenden.

Es geht auch deutlich kompakter:

Code:
[row, col, v] = find(BinBild_Dead_Gefiltert >= 2);
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: 25.03.2011, 14:28     Titel: Re: Dynamische Matrix mit for Schleife beschreiben
  Antworten mit Zitat      
Hallo Markus,

"Funktioniert leider so nicht" ist ziemlich vage. Gibt es eine Fehlermeldung? Wenn ja, welche? Oder unterscheidet sich das Ergebnis von den Erwartungen - wenn ja, wie?
Du postest zwar die MLINT-Warnung, die ist aber nur ein Hinweis, wie man das Programm beschleunigen könnte (und sollte).

Aber wenn ich mal frei raten soll: Du verwendest einen Punkt, statt eines Kommas in "if BinBild_Dead_Gefiltert(n.m)>=2;"

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2011, 08:29     Titel:
  Antworten mit Zitat      
Mit find wird allerdings nur ein logischer wert zurück geliefert gibt es auch eine möglichkeit den exakten Wert in eine Matrix zu schreiben?

Viele Grüße
Markus
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.03.2011, 14:26     Titel:
  Antworten mit Zitat      
Hallo Markus,
Zitat:
Mit find wird allerdings nur ein logischer wert zurück geliefert gibt es auch eine möglichkeit den exakten Wert in eine Matrix zu schreiben?

Nein, FIND liefert keinen logischen Wert zurück, sondern die Zeilen und Spalten Indices. Was beudetet "den exakten Wert"?

Kannst Du noch bitte auf meine letzte Antwort reagieren?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.03.2011, 10:18     Titel:
  Antworten mit Zitat      
Ja klar,
also es kommt zu keiner Fehlermeldung.
es hat auch funktioniert die Berechnung dauert aber allerdings sehr lange.
Aber wie komm ich nun von den Koordinaten am effektivsten zu den Werten?
Viele grüße
Markus
 
Jan S
Moderator

Moderator


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

Zitat:
Aber wie komm ich nun von den Koordinaten am effektivsten zu den Werten?

Was hälst Du denn von Eupho's Antwort? Schneller geht es wohl kaum.

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.