|
phioder |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.09.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.02.2009, 15:25
Titel: Frage zum find()
|
|
Hallo,
Wer könnte mir sagen was folgende Zeile Kode macht:
if(
size(find(matrix_e(find(matrix_e(:,1)==numm_y),2)==numm_x),1)==0 && matrix_f(numm_y,numm_x)
)
.
.
.
end
Hauptfrage: was machen die beide find() in dieser fall?
Könnte man für übersichtigen zwecken die Zeile in 2 oder mehr Zeilen umschreiben?
Wann wird die && TRUE?
Ist der && nicht überflüssig? oder hilft wenn matrix_f Werten > 0 hat?
Habe einige debuging Stunden hinter mir und leider immer noch Schwierigkeiten der Zeile zu verstehen
Gruss und vielen Dank!
|
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 02.02.2009, 21:36
Titel:
|
|
Hallo,
In Prinzip Der Sinn dieser Aktion ist wohl, dass numm_y und numm_x nicht in gleicher Zeile der Matix matrix_e befinden.
1)In erster Spalte von matrix_e wird der Wert gleich der numm_y gesucht.
2) find gibt die Positionen dieser Vergleichstreffer.
3) Falls das Suchergebnis Treffer ergibt, wird weiter in Spalte Zwei gesucht und zwar an der Stelle, wo der Treffer erfolgte.
Punkt 2) liefert z.B [3,6] dann wird
4) Die Position der Treffer aus Punkt 3 sind an der Stelle uninteressant
Hier wird mit find einfach geprüft ob ein Treffer dabei ist, damit size dass mitgeteilt werden kann.
find ist aber an dieser Stelle komplett überflüssig.
so könnte es man z.B vereinfachen
PS:
du darfst die Zeilen auch umbrechen
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 02.02.2009, 21:45
Titel:
|
|
zu matrix_f kann man kaum korrekt beantworten,
vielleicht ist es nötig, vielleicht nicht, das muss du schon den Entwickler dieses Code-Stückes fragen.
Ohne genau Code zu kennen, vermute ich es dass eine Art Flag-Matrix, die sagt zusätzlich ob der Wert bei Erfüllung erster Bedingung genommen werden darf.
|
|
|
phioder |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.09.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2009, 11:59
Titel:
|
|
denny hat Folgendes geschrieben: |
Ohne genau Code zu kennen, vermute ich es dass eine Art Flag-Matrix, die sagt zusätzlich ob der Wert bei Erfüllung erster Bedingung genommen werden darf. |
Hallo, Danke für die Antwort,
Meine frage habe ich leider nicht ganz richtig ausgedruckt
if( size()==0 && matrix_f(numm_y,numm_x) )
...
end
was ich im Bezug auf && verstehe ist dass wenn size() TRUE liefert und
wenn matrix_f(y,x) auch TRUE liefert, wird der "if" TRUE sein.
Vielleicht die Frage wäre besser: im welchen Fälle für eine allgemeine Matlab matriz mit double werten, wird matriz(x,y) TRUE?
Gruss und Dank
|
|
|
Maddy |
Ehrenmitglied
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 02.10.08
|
|
|
|
Wohnort: Greifswald
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2009, 12:14
Titel:
|
|
Zitat: |
help if:
The statements are executed if the real part of the expression
has all non-zero elements. |
Wenn von allen Elementen der Realteil der matrix(x,y) ungleich 0 ist, liefert dies ein true.
_________________
>> why
The computer did it.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|