Schreiben Sie eine MATLAB-Funktion regpol.m, die folgende Aufgaben
erfüllt. Für eine vorgegebene Kantenlänge soll das Volumen
, die
Oberfläche
, der Radius der umbeschriebenen Kugel
und der Radius der
einbeschriebenen Kugel
wahlweise für einen der 5 regulären konvexen
Polyeder berechnet werden:
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
Der Aufruf der Funktion soll folgendermaßen erfolgen:
[V,F,R,r] = regpol(typ,a)Das Programm soll für einen Vektor von
switch lower(typ(1)) case 't' ... case 'w' ... ... endÜberlegen Sie, welche Zeichenkette man als typ eingeben kann, was typ(1) bewirkt, und was der Befehl lower dabei bewirkt.
Stellen Sie auch den Unterschied zwischen folgenden Aufrufen der Funktion fest und versuchen Sie das Verhalten zu verstehen.
regpol(typ,a) V = regpol(typ,a) [V,F] = regpol(typ,a) [V,F,R] = regpol(typ,a) [V,F,R,r] = regpol(typ,a)
Schreiben Sie eine MATLAB-Funktion kegelpol, welche die Polargleichung von den Kegelschnitten Ellipse, Hyperbel und Parabel in Hauptachsenlage auswertet. Der Aufruf sollte mit
r = kegelpol(typ,phi,a,b)erfolgen, wobei typ der Typ des Kegelschnitts ist, phi ein Vektor von
Die Formeln für die drei Kegelschnitte lauten:
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
r_0
festgelegt werden.
Den phi = linspace(phi_min,phi_max,n_points)Die Winkel für Ellipse, Hyperbel und Parabel reichen dabei von
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
Um zu sehen, ob Sie wirklich eine Ellipse, Hyperbel, bzw. Parabel berechnen, können Sie dabei folgende Plotbefehle ausführen:
figure(1) % Ellipse polar(phi,r); figure(2) % Hyperbel polar(phi,r); hold on; polar(pi-phi,r); hold off; figure(3) % Parabel polar(phi,r);Überlegen Sie, warum man in einem Fall zwei Plotbefehle braucht, um den gesamten Kegelschnitt zu zeichnen. Der Befehl hold ermöglicht, dass man zu einer bereits bestehenden Kurve weitere hinzufügt. Man schaltet diesen Modus mit hold on ein und mit hold off aus. Überlegen Sie auch, wie groß man den Wert für
n_points
setzen muss,
damit man vernünftige Kurven erhält.
Winfried Kernbichler 2005-04-26