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

Suche die nächste besetzte Position in einem Array

 

Shanox
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 15.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2018, 18:33     Titel: Suche die nächste besetzte Position in einem Array
  Antworten mit Zitat      
Hallo zusammen,

ich habe einen Array, der an manchen Stellen leer ist und an manchen Stellen eine Matrix enthält. Jetzt soll zufällig auf ein Element des Arrays zugegriffen werden.
Wenn der Array an diesem Platz leer ist, soll in der selben Spalte in der Zeile darüber und der Zeile darunter geschaut werden, ob ein Element vorhanden ist. Ist auch dort kein Element vorhanden, soll in den 2 Zeilen drüber, bzw. darunter gesucht werden. Dies soll so lange durchgeführt werden, bis in der selben Spalte ein Element gefunden worden ist. Wird ein Element gefunden, dass nicht leer ist, soll der entsprechende Platz im Array auf einer Variable gespeichert werden.
Sollte die gesamte Spalte leer sein, so soll in den umliegenden Spalten gesucht werden.

Da es schwer zu verstehen ist, versuche ich es gleich nochmal in anderen Worten zu erklären:

Ich wähle zufällig ein Element aus, z.B. Zeile x Spalte y. Ich suche zuerst in der Spalte y nach dem Element, dass nicht leer ist und den geringsten Zeilenabstand zu dem Element am Platz (x,y) aufweist.
Ist die gesamte Spalte leer, soll in der Spalte rechts daneben (y+1) und links daneben (y-1) gesucht werden. Auch hier soll mit der Suche in der Zeile x bekommen werden.

Ich wollte das Problem über eine if schleife mit der Abfrage if isempty(Array) lösen, komme aber auf keinen sinnvollen Code. Kann mir jemand helfen?

Grüße Shanox
Private Nachricht senden Benutzer-Profile anzeigen


J0nas
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 10.09.15
Wohnort: ---
Version: ab 2016a
     Beitrag Verfasst am: 21.09.2018, 04:53     Titel:
  Antworten mit Zitat      
Hallo Shanox,

Noch eine kurze Frage:
Was soll passieren wenn 2 Einträge genau gleich weit entfernt sind?

Grüße
Jonas
_________________

1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
Private Nachricht senden Benutzer-Profile anzeigen
 
Shanox
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 15.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2018, 09:19     Titel:
  Antworten mit Zitat      
Hallo Jonas.

Danke für die Antwort.
Dann soll zufällig ein Element gewählt werden, oder es soll generell das Element unterhalb oder oberhalb ausgewählt werden. Das ist ziemlich egal.

Grüße Shanox
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: 24.09.2018, 11:51     Titel: Re: Suche die nächste besetzte Position in einem Array
  Antworten mit Zitat      
Hallo Shanox,

Wie sehen Deine Inputs aus? Meinst Du ein Cell-Array? Denn andere Arrays können keine Matrizen oder leere Elemente enthalten.
Zitat:
Wird ein Element gefunden, dass nicht leer ist, soll der entsprechende Platz im Array auf einer Variable gespeichert werden.

Das ist auch noch nicht klar.

Kannst Du ein Beispiel für Inputs und Outputs angeben?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 15.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2018, 15:38     Titel:
  Antworten mit Zitat      
Danke für eure Antworten!
Ich konnte das Problem mittlerweile selbst lösen Smile

Grüße, Shanox
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 - 2024 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.