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

Detektion : Punkt innerhalb einer geschlossenen Kurve

 

alduro
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 30.01.08
Wohnort: Tucson , AZ
Version: ---
     Beitrag Verfasst am: 02.06.2010, 10:53     Titel: Detektion : Punkt innerhalb einer geschlossenen Kurve
  Antworten mit Zitat      
Liebes Forum,

ich versuche mich an einer Funktion die prüft ob ein Punkt innerhalb bzw. außerhalb einer geschlossenen Kurve liegt.

Hier mal der Code der die Kurve erzeugt :


Code:



clc
close all
clear all

Lightrange= 200;
cut=5;

x_1 = linspace(0,Lightrange,5);
y_1L =   sin(x_1/((Lightrange/pi)+cut));
y_1R = - sin(x_1/((Lightrange/pi)+cut));

a=[x_1(5) x_1(5)];
b=[y_1L(5) y_1R(5)];


point=[120 0.5]; % Punkt in der Kurve



plot(x_1,y_1L,x_1,y_1R,a,b,point(1),point(2),'*r')

axis([-10 +210 -1.5 1.5])

 



Wie Ihr seht, ist die Kurve in streng mathematischem Sinne keine Funktion.
Aber ich bestitze eben alle x-y Punkte der Kurve.
Diese Punkte bilden dann einen geschlossenen Kurve.

Kann ich nun mit irgendeiner Matlab "internen" Funktion detektieren, ob der Punkt innerhalb bzw. außerhalb der Kurve liegt ?

Hab aus meiner lang zurück liegenden Mathevorlesung irgenwas von wegen "Kreisintegral" im Kopf ?!?!

Help is really appreciated !

Gruß
Chris

Anbei noch eine Foto des Plots ....

pic.jpg
 Beschreibung:

Download
 Dateiname:  pic.jpg
 Dateigröße:  16.56 KB
 Heruntergeladen:  458 mal

_________________

Hallo,
ich arbeite zur Zeit an einer verbesserten Kontaktabbildung im MKS Tool ADAMS.
Spannenden Sache, aber im Moment gibt es noch viel offene Fragen ... Aber das wird schon P-)
Private Nachricht senden Benutzer-Profile anzeigen


aj.geissler
Forum-Guru

Forum-Guru



Beiträge: 251
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 04.06.2010, 06:29     Titel:
  Antworten mit Zitat      
Hi,

ich hatte mal eine ähnliche Aufgabenstellung.
Mit dem Cauchy-Integral kannst Du die Aufgabe lösen.

Wenn Du entlang deiner Kurve über eine Funktion z.B. 1/(1-p), wobei p dein Punkt ist, den du untersuchen möchtest, integrierst, dann kommt Null raus, wenn er außerhalb liegt, ansonsten ein Vielfaches von 2pi.

Grüße
Andreas

Code:

function W=cauchy(z,p,modus);
% CAUCHY   Cauchy Wegintegral bzgl. Residuum
%
%      W=CAUCHY(Z,P,[MODUS])
%
%      Z ist ein komplexer Vektor, der ein
%      (geschlossenes) Polygon beschreibt.
%      P ist ein komplexer Skalar, ein kom-
%      plexer vektor oder eine komplexe
%      Matrix, die möglche Residuen enthält.
%
%      W ist der komplexe Wert des Wegintegrals.
%      W hat hierbei die selbe Dimension wie
%      die Punktemenge P.
%
%      Das optionale Argument MODUS, Vorein-
%      stellung='n', entscheidet über eine
%      Grafikausgabe.

if nargin==2,
   modus='n';
end
modus=lower(modus(1));

z=z(:).';         % Zeilenvektor erwingen
[zeilp,spalp]=size(p);
p0=p;
p=p(:).';

LZ=length(z);         % Close Polygon
if z(1)~=z(LZ),
   z=[z,z(1)];
   LZ=LZ+1;
end

dz=[0,diff(z)];

DZ=meshgrid(dz,1:1:length(p));
[Z,P]=meshgrid(z,p);
ZP=Z - P;
W=sum( (DZ ./ZP).' ).';

W=reshape(W,zeilp,spalp);

if modus~='n',
   SCHW=0.7;
   set(gcf,'Position',[50,50,700,500],'NumberTitle','Off',...
      'Name','Cauchy-Wegintegral','Color',0.8*ones(1,3));
   set(gca,'Color','b');
   plot(real(z),imag(z),'k-',real(p0(abs(W)>SCHW)),imag(p0(abs(W)>SCHW)),'bo',...
      real(p0(abs(W)<=SCHW)),imag(p0(abs(W)<=SCHW)),'ro');
   prepgraf; axis('equal');
end
 
[/code]
_________________

Andreas Geißler
Private Nachricht senden Benutzer-Profile anzeigen
 
alduro
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 30.01.08
Wohnort: Tucson , AZ
Version: ---
     Beitrag Verfasst am: 08.06.2010, 08:24     Titel:
  Antworten mit Zitat      
Hallo Andreas,


vielen Dank für deine Antwort.
Hat mir sehr geholfen !!

Gruß aus Köln
Christian
_________________

Hallo,
ich arbeite zur Zeit an einer verbesserten Kontaktabbildung im MKS Tool ADAMS.
Spannenden Sache, aber im Moment gibt es noch viel offene Fragen ... Aber das wird schon P-)
Private Nachricht senden Benutzer-Profile anzeigen
 
alduro
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 30.01.08
Wohnort: Tucson , AZ
Version: ---
     Beitrag Verfasst am: 17.08.2010, 16:13     Titel:
  Antworten mit Zitat      
Hallo Andreas,

leider muss ich mich korrigieren.
Es klapp doch noch nicht ganz wie ich es mir gedacht habe.

Könntest du mir bitte mal, anhand meines obigen Beipsiels, bitte zeigen, wie der Vektor "z" sowie der Vektor/Zahl "p" auszusehen hat.


Vielen Dank !
_________________

Hallo,
ich arbeite zur Zeit an einer verbesserten Kontaktabbildung im MKS Tool ADAMS.
Spannenden Sache, aber im Moment gibt es noch viel offene Fragen ... Aber das wird schon P-)
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.