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

Zeile in Matrix finden, die aus den selben Zahlen besteht.

 

Nesli

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2014, 20:44     Titel: Zeile in Matrix finden, die aus den selben Zahlen besteht.
  Antworten mit Zitat      
Hallo liebe goMatlab-Community,

leider habe ich zwei Probleme : (

Das eine ist etwas leichter und ich komme fast auf die Lösung aber leider nicht ganz ^^ und beim anderen Problem hätte ich eine hässliche Lösung und würde diese aber gerne loswerden : )

Ich hoffe Ihr könnt mir vielleicht mit paar Schlagwörtern weiterhelfen : )


Problem #1

Gerne würde ich bei einer beliebig großen Matrix die Zeilen wissen, die nur aus der selben von mir vorgegeben Zahl bestehen.

Ich komme selber schon so weit, dass ich es hinkriege solange ich weiss wie groß die Matrix ist.

Code:

% A = die Matrix in der die Zeilen gesucht werden sollen (in meinem Bsp. 3x3)
% a = vorgegebene Zahl für die Zeilensuche
% b = Vektor wo die Zeilennummern rein sollen

b = find (A(:,1)==a & A(:,2)==a & A(:,3)==a)


Eine Idee wie es geht, wenn ich die Größe von A nicht kenne?


Problem #2

Ich habe eine for-Schleife (z.B. for Breite=0:10:180)

- In dieser Schleife wird jedes Mal auf mehrere .m-Files zugegriffen.
- Während jedem Durchlauf bleiben eine Unmenge an Variablen (auch aus den erwähnten .m-Files) im Workspace, mit denen nach Ende der Schleife gearbeitet wird.
-Am Ende der Schleife wird jedes Mal ein Vektor in eine Matrix geschrieben. (In meinem Bsp. hier hätte ich dann 19 Stück.)

Sobald diese Schleife rum ist, werden diese Vektoren von Matlab nach bestimmten Kriterien untersucht und von dem besten Vektor wird dann auf die beste Breite geschlussfolgert.

Bis hierhin soweit so gut ^^ und jetzt würde ich gerne alles was zwischen „for“ und „end“ steht noch einmal mit der besten Breite durchlaufen lassen.

Gibt es dafür eine bessere Methode als alles zwischen „for“ und „end“ noch mal hintendran zu kopieren und es so abzuändern, dass es statt der 19 Breiten nur noch mit der besten Breite durchläuft?


Für Eure Mühen bedanke mich im Voraus
und verbleibe mit freundlichen Grüßen : )
Nesli


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 29.01.2014, 20:55     Titel:
  Antworten mit Zitat      
Code:

das soltle bei erstens helfen glaube ich
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.01.2014, 22:25     Titel:
  Antworten mit Zitat      
Hallo,

kleine Korrektur zu 1.:
Code:


und zu 2.:
wäre es nicht einfacher, die Resultate des bisher besten Durchlaufs abzuspeichern? Dann dürfte das nochmalige Ausführen überflüssig sein.

Alternativ kannst du den Inhalt der for-Schleife in eine Funktion auslagern, und die Funktion anschließend noch einmal aufrufen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 30.01.2014, 00:57     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

kleine Korrektur zu 1.:
Code:

Grüße,
Harald

oh ja stimmt natürlich. ist mir auf die schnelle untergegangen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Nesli

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2014, 21:30     Titel:
  Antworten mit Zitat      
Huhu Ihr Zwei,

ich bedanke mich herzlichst, funktioniert alles wie es soll, vielen Dank! : )

(Beim 2. Problem guck ich nochmal was mir am ehesten zusagt ^^)


Schönen Sonntag noch,
Nesli
 
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.