|
adecor |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 16.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2012, 15:29
Titel: Programmierung
|
 |
|
 |
|
Hallo alle zusammen,
ich habe das Problem, dass ich eine logische Matrix (2dimensional) habe und darin sind werte 0 und 1 . Diese Matrix erhalte ich nachdem, ich mit dem Befehl 'inpolygon' prüfen, ob sich mindesten ein Punkt von einem Verktor (nx2) in einem bestimmten Array (in einem Rechteck) befindet oder nicht. wenn ja kommt ein '1' raus, und wenn nein ein '0'.
Das problem ist, dass ich in einer folgenden if-schleifen dieses '1' von inpolygon_ergebnis zu einem neuen parameter zuweisen möchte, um das programm fortsetzen zu können. Leider funktionier es so nicht, und ich bekommen folgende Fehlermeldung:
(Expected either a logical, char, int, fi, single, or double. Found an mxArray. MxArrays are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may only be used on the right-hand side of assignments and as arguments to extrinsic functions.
)
Also es geht hier um MxArrays, wie kann man dies logische ergebnis als integer werte zum beispiel umwandeln, oder wie kann man sie einfach weiter nutzen???
das ergebnis sieht so aus: XY = 0 0 1 0 0 0 0 0
B = sum (XY);
also es spuckt B=1 aus.
jetzt wollte ich so weiter:
Dann tauscht immer die oben stehende Fehlermeldung auf...
Ich hoffe Ihr könnt mir helfen.
DANKE, Adecor
[b]Edit by Martin: Bitte Code-Formatierung verwenden. Danke![/code]
|
|
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2012, 15:53
Titel:
|
 |
am besten du postest das nächste richtigen, lauffähigen Code. Dann kann jeder nachvollziehen wo der Fehler auftritt. In jedem Fall sollte dir any weiterhelfen
|
|
|
adecor |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 16.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2012, 17:34
Titel:
|
 |
also mit dem Befehl 'any' bekomme ich die selbe Fehlermeldung:
(Expected either a logical, char, int, fi, single, or double. Found an mxArray. MxArrays are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may only be used on the right-hand side of assignments and as arguments to extrinsic functions).
ich meine, das problem liegt an datentyp vom inpolygon-ergebnis. denn das ist von Typlogik genauso wie ANY.
Ich wollte dieses ergebnis in einer if-schleife weiter verwenden, aber es geht leider nicht.
zb: A = inpolygon(x1,y1,X,Y)
if any(A ~=0)
B = 0;
else
B = 1
end
Dann melde fehler:
(Expected either a logical, char, int, fi, single, or double. Found an mxArray. MxArrays are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may only be used on the right-hand side of assignments and as arguments to extrinsic functions).
Danke trotzdem Thomas84
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 08:16
Titel:
|
 |
bitte poste genau deinen code + fehlermeldung. Funktioniert das Beispiel bei dir?
|
|
|
adecor |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 16.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 11:56
Titel:
|
 |
Hallo Thomas84,
ja hat dieses Beispiel bei mir funktioniert, und ich habe mein Programm somit angepasst. Es funktioniert jetzt auch prima.
Also vielen vielen Dank. 'Du hast mir echt sehr geholfen'.
Noch mal vielen Dank und schönes We noch...
|
|
|
|
|
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 - 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.
|
|