Ich will zwei Matrix Ebenen miteinander UND-Verknüpfen (Werte sind nur 0 oder 1), kriege das aber nicht hin! Hier mein Versuch:
A(:,:,1) = A(:,:,1) & B(:,:,1);
A und B haben in den ersten beiden Dimensionen immer die gleiche Ausdehnung.
Ich weiß aber nicht, ob es irgendwie an meinem Datentypen liegen könnte, bzw wie ich es löse?
Ich denke der Typ ist numerisch (ist das ein Datentyp in Matlab, oder nur ein Oberbegriff für uint8, double, etc?) Es klappt nicht, in dem Sinne, dass alle Werte 0 werden, obwohl mit Sicherheit 1-er überschneidungen vorliegen.
Gibt double zurück, danke, ich habe nicht gefunden, wie man es abfragt.
Das konkrete Beispiel reinzustellen ist etwas komplexer, da mir viele Variablen von externen Funktionen zurückgegeben werden etc., ich versuchs mal in Worten zu beschreiben:
Ich habe eine Matrix (zB a = zeros(2,3,4)) und fülle sie mit einem vertikalen Streifenmuster mittels image(adresse) = 1;
Dann mache ich noch ein horizontales Streifenmuster auf die gleiche Art und weise.
Diese zwei Streifenmuster haben die gleichen dimensionen und wollen miteinander und verknüpgt werden (um nur die Punkte zu finden, die von beiden Streifen getroffen werden.)
Ich denke die Frage lautet mittlerweile:
Geht eine UND-Verknüpfung auch mit non-logical, sondern Matrizen vom Typ double?
Oder sollte ich mir da lieber selbst ein Stückchen code zu schreiben, um das zu lösen?
sizeA = size(A)
conjunct = zeros(sizeA(1),sizeA(2));
%condition: A and B have the same size if(size(A) == size(B))
%iteration through all rows
for i=1:sizeA(1)
%iteration trough all cloumns
for j=1:sizeA(2) if(A(i,j) && B(i,j) == 1)
conjunct(i,j) = 1;
else
conjunct(i,j) = 0;
end end end end end
Auf den ersten Blick sollte das doch das gleiche liefern.
P.S. sind A und B nun zweidimensional oder dreidimensional?
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
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.