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

Bestimmung von Koordinaten eines Rechtecks

 

Laale
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2016, 13:06     Titel: Bestimmung von Koordinaten eines Rechtecks
  Antworten mit Zitat      
Hallo,

bald geht es bei mir im Studium mit Matlab los. Ich habe schon einige Aufgaben selbst lösen können, bei einer jedoch komme ich nicht weiter.

Es geht darum, die Eckpunkte eines Rechtecks zu finden. Geben ist nur die .p-Datei, die das Rechteck enthält. Diese Datei heißt findrectangle. Aufruf mit e=findrectangle(x,y). Dabei sind x und y Koordinaten. Als Ergebnis gibt es ein Logical mit 0 für "Punkt ist nicht im Rechteck", 1 bedeutet, die Koordinate liegt im Rechteckt, was aber nicht heißt, dass es ein Eckpunkt ist. Man weiß, dass min ein Eckpunkt im x und y Bereich zwischen -15 und +15 liegt. Die Länge der Seite ist min. 1 und diese liegen nie parallel zu den Achsen.

Code:

x=-15:10^-5:15;      % die 10^-5 ist die Genaugikeit, mit der die Punkte
y=-15:10^-5:15;       % bestimmt werden sollen (gegeben)

e_min=min(find(findtriangle(x,y)==1));  % Suchen der min. und max. Koordinaten.
e_max=max(find(findtriangle(x,y)==1));
Ecke=-15+e_min*10^-5                        
Ecke2=-15+e_max*10^-5
e=findtriangle(Ecke,Ecke)

 


Das Ergebnis liefert mir einen konkreten Punkt, der auch im Rechteck liegt (e=1 kommt raus).
Was ich vor hatte, ist, dass für jeden x-Wert -15:15 jeweils alle y-Werte -15:15 getestet werden. Sollte dort dann ein Punkt bei sein, so würde ich quasi weiter "reinzommen" zur genauen Bestimmung. Aber wie ich alle Eckpunkte bekommen soll, weiß ich nicht Question
Was mir auch leider klar ist, dass die Aufgabe ohne das .p-File schwierig ist.
Ich wäre auch aber sehr dankbar, wenn ihr einen Ansatz für mich habt Idea

Viele Grüße,

Laale
Private Nachricht senden Benutzer-Profile anzeigen


Laale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2016, 21:41     Titel: Neuer Ansatz
  Antworten mit Zitat      
Code:

x=-15:15;
y=-15:15;

rect=zeros(31);  
for kk=1:31
    for kk2=1:31
 rect(kk, kk2)=findtriangle(x(kk),y(kk2));
    end
end
[m,n]=find(rect==1)
gesamt=[m n]

 


Damit habe ich nun eine Matrix mit vielen Einsen und Nullen. Ich möchte nun die Eckpunkte finden, also die vier äußersten 1. Von da ausgehend dann die "wirklichen" (-15 bis 15) dahinter. Um dann letzendlich den Bereich feiner abzutasten. Habe dann gesamt erstellt, sodass ich die m und n als jeweil zwei spalten habe, jedem m wird also ein n zugeordnet. Dabei kommt heraus, dass es z.B zu m=16 sowohl n=25, n=26, n=27 gehören. Also muss ich den Bereich feiner abtasten?


Dazu wäre ein Ansatz gut.

Schönen Abend noch Wink
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 - 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.