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

Fläche einer Elypse

 

KEH
Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 13.04.2015, 16:36     Titel: Fläche einer Elypse
  Antworten mit Zitat      
Abend

Ich steh grad auf der stelle

ich hab mir eine Elypse aus einer Punktewolke berechnet mit
Code:
P = [COPx{i},COPy{i}]; % für den plot
    tolerance=0.05;
    [A , c] = MinVolEllipse(P', tolerance) ;

Anschließend hab ich das im Netzgefunden
Code:

    %% Fläche der Elypse
    xf=COPx{i};
    yf=COPy{i};
    LX=max(size(dx));
    B(i)= abs(0.5 .*( (xf.')*[diff(yf);yf(1)-yf(LX)] - (yf.')*[diff(xf);xf(1)-xf(LX)] ));

Macht aber keine Plausiblen werte!!!
Gibt es eine Möglichkeit die Fläche einfacher zu berechnen?. Und hat einer eine Alternative zur Elypsen Berechnung um diese Schneller zu gestalten der code benötigt 140sec für 10000werte Ellipse (liegt wohl am cpu)

Danke schon mal
Hannes
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.04.2015, 17:57     Titel:
  Antworten mit Zitat      
es ist immer einfacher ein lauffähiges beispiel zu posten. außerdem ist es angebracht wenn man funktionen aus dem file exchange verwendet diese zu verlinken damit der leser die nicht erst lange suchen muss.
wenn du irgendetwas im netz gefunen hast und darauf verweist ist auch da der link hilfreich.
aus deinem code geht nicht hervor was dx ist.
Zitat:
Gibt es eine Möglichkeit die Fläche einfacher zu berechnen?

denke schon. eine möglichkeit is quasi implizit in der hilfe zu deiner verwendeten datei angebgen
http://www.mathworks.com/matlabcent.....olume-enclosing-ellipsoid
bei
Zitat:

Code:
[U Q V] = svd(A);
%the radii are given by:
r1 = 1/sqrt(Q(1,1));
r2 = 1/sqrt(Q(2,2));

daraus kann man die fläche mit
Code:
flaeche=pi*r1*r2;

bestimmen.
Zitat:
Und hat einer eine Alternative zur Elypsen Berechnung um diese Schneller zu gestalten der code benötigt 140sec für 10000werte Ellipse (liegt wohl am cpu)

hast du den tip aus der anleitung zu MinVolEllipse versucht ?
Zitat:
Code:
%      To reduce the computation time, work with the boundary points only:
%      
%      K = convhulln(P');  
%      K = unique(K(Smile);  
%      Q = P(:,K);
%      [A, c] = MinVolEllipse(Q, .01)

das hat bei mir die rechenzeit erheblich reduziert
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 13.04.2015, 22:23     Titel:
  Antworten mit Zitat      
Ok sorry das mit dem link wust ich nicht das das geht ... beim nächsten mach ichs.
ja dx endspricht xf

Das mit der Fläche teste ich morgen

DeN Tipp hab ich gelesen und nuze igihn auch aber dann kann ich keine elipse mehr zeichnen, oder hab ich was falch gemacht?
Ich nutze die min und max werte von copx copy um die elypse zubestimmen bekomme bei zeichnen dann nur noch ei en strich (hauptachse der elipse.

VVielen Dank schon mal
KEH
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.04.2015, 22:26     Titel:
  Antworten mit Zitat      
Zitat:
DeN Tipp hab ich gelesen und nuze igihn auch aber dann kann ich keine elipse mehr zeichnen, oder hab ich was falch gemacht?

kann ich ohne die daten und den zugehörigen code nicht sagen... denke mal ja da du kein ordentliches ergebniss bekommst.
bei mir gehts.
Code:
P = rand(2,10);
K = convhulln(P');  
K = unique(K(:));  
Q = P(:,K);
[A, C] = MinVolEllipse(Q, .01)
figure
plot(P(1,:),P(2,:),'*')
hold on
Ellipse_plot(A,C)
[U Q V] = svd(A);
r1 = 1/sqrt(Q(1,1));
r2 = 1/sqrt(Q(2,2));
flaeche=pi*r1*r2

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 14.04.2015, 10:29     Titel:
  Antworten mit Zitat      
Mh
Funktioniert super, Fehler war das Min und Max bei mir nur 2Punkte Ergaben also nur eine Linie.
Das mit der unique ist eine gute Lösung für solche Sachen!
Läuft also Schnell und Richtig mit deinem Code

Gruß und Danke
KEH
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.04.2015, 12:07     Titel:
  Antworten mit Zitat      
Zitat:
Läuft also Schnell und Richtig mit deinem Code

ist im grunde nicht mein code sondern nur das beispiel das der entwickler des von dir verwendeten codes selber gegebn hat.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 14.04.2015, 19:29     Titel:
  Antworten mit Zitat      
Sorry
aber kannst du da evtl. den Link noch ergänzen. Nur damit ich weis das meine lese Fähigkeiten einer Schulung bedürfen.
Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.04.2015, 19:35     Titel:
  Antworten mit Zitat      
hab ich oben schon Smile
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 14.04.2015, 21:31     Titel:
  Antworten mit Zitat      
Laughing

Gut den teil mit "die radien sind gegeben durch" hab ich ignoriert
und Fläche im numerischen stil war mir wohl nicht das ware ... aber es geht alles und wir haben plausieble werte
danke
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.