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

Plot einer Ellipse in 2D mit meshgrid

 

shadowbutcher
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 18.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.08.2015, 20:57     Titel: Plot einer Ellipse in 2D mit meshgrid
  Antworten mit Zitat      
Hallo,

ich bin ein absoluter Neuling in Matlab. Deshalb habe ich die Aufgabe bekommen eine Ellipse mit meshgrid zu programmieren und anschließend zwischen zwei beliebigen Punkten zu interpolieren. Ebenfalls wird nach der Winkelbrechnung und der Laufzeitermittlung gefragt.

Kann mir hier jemand weiterhelfen?

Vielen lieben Dank Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.08.2015, 22:24     Titel:
  Antworten mit Zitat      
Hallo,

und was hast du bisher versucht?
Mir erschließt sich nicht, was der Sinn von meshgrid sein soll, wenn es um die Darstellung einer Ellipse geht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
shadowbutcher
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 18.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2015, 09:56     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Antwort. Also die Vorangehensweise solllte so sein:

Eine 2D-Ellipse programmieren (hierfür mit meshgrid ein Gitter aufbauen und die Funktion an den Gitterpunkten auswerten und anschließend mit surf() und shading interp plotten). Anschließen zwei beliebige Punkte aussuchen (rand-Befehl) und dazwischen gleichmäßig linear interpolieren (interp2 bzw. griddata).

Wie beginne ich bei Matlab?
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: 19.08.2015, 10:18     Titel:
  Antworten mit Zitat      
Zitat:
Eine 2D-Ellipse programmieren (hierfür mit meshgrid ein Gitter aufbauen und die Funktion an den Gitterpunkten auswerten

eine ellipse ist doch aber garnicht in allen gitterbunkten definiert.
es ist doch eine linie und keine fläche.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Klopfer
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 20.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2015, 12:17     Titel:
  Antworten mit Zitat      
Das klingt ziemlich nach einem Problem, an dem ich auch gerade sitze.

Ich möchte mir eine ellipsenförmige Maske bauen. Der Ansatz dafür ist wie folgt:

Code:


a = 20; % Länge der Hauptachse
b = 10; % Länge der Nebenachse

X = 50; % X-Koordinate des Ellipsenmittelpunktes
Y = 60; % Y-Koordinate des Ellipsenmittelpunktes

[Xmesh, Ymesh] = meshgrid(1:100, 1:100);

% Ellipsengleichung für kartesische Koordinaten
imshow(sqrt( (Xmesh - X).^2 / a^2 + (Ymesh - Y).^2 / b^2) <= 1)

 


Denke das ist die 2D-Ellipse, die du auch suchst. Diese hier ist auf die Position von X Y verschoben. Wenn du nicht die Fläche, sondern nur den Rand suchst, musst du "<=" durch "==" ersetzen.
Was mich jetzt gerade beschäftigt und was scheinbar auch Teil deiner Aufgabe ist, ist wie man diese Ellipse nun um einen bestimmten Winkel drehen kann (du suchst ja auch nach einer Winkelberechnung). Ein Ansatz wäre die Scheitelform der Parameterdarstellung einer Ellipse Scheitelform der Parameterdarstellung einer Ellipse, aber dort stört mich, dass ich einen zweiten Winkel von [0:2pi] benötige, den ich irgendwie nicht so richtig in meinem Code verwursten kann.
Hat jemand da spontan eine zündende Idee?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
shadowbutcher
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 18.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2015, 14:10     Titel:
  Antworten mit Zitat      
Ich werde jetzt ales in 2D ohne meshgrid machen.

Code:
%
t = linspace (0, 2*pi);

a=10;
b=10;

x = a*cos(t);
y = b*sin (t);

plot (x,y);
 


Wie kann ich nun über 2 Punkte der Ellipse interpolieren? Kann ich einfach für zwei unterschiedliche t's dazwischen interpolieren?

Wie rechne ich nochmal den Abstand vom Mittelpunkt zu einem beliebigen Punkt auf der Ellipse aus?

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
shadowbutcher
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 18.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2015, 14:30     Titel:
  Antworten mit Zitat      
Habe mir nun 2 Punkte auf der Ellipse bestimmen lassen. Wie kann ich nun die zwei Punkte auf der Ellipse interpolieren lassen? :S

Kann mir jemand eventuell weiterhelfen?

Code:
%
t = linspace (0, 2*pi);

a=10;
b=10;

x = a*cos(t);
y = b*sin (t);

plot (x,y);


%Ellipsengleichung
% x.^2/a^2 + y.^2/b^2 == 1;

%Interpolation zwischen zwei beliebigen Punkten

%Für t= pi/4; P_1(x_1|y_1)

P_1 = (10*cos(pi/4)| 10*sin(pi/4))

%Für t= pi/8; P_2 (x_2|y_2)
P_2 = (10*cos(pi/8)| 10*sin(pi/8))


%Interpolotation zwischen P_1 und P_2
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.