plot in Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 20:54 Mo 11.12.2006 | Autor: | ManuP |
Hallo.
Ich habe einige Funktionen der Form [mm] x^2+y^2+z^2=1, [/mm] welche (hier nur ein Kreis..) interessante Funktionsplots ergeben.
Nur wie plotte ich diese in Matlab?
Bin noch recht neu in Matlab, ein wenig unterstützung wäre super.
lg ManuP
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:56 Mi 13.12.2006 | Autor: | ManuP |
Hat denn niemad eine Idee zu meinem Problem?
Es wäre auch okay, wenn jemand sagt, es geht überhaupt nicht...
mfg ManuP
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:48 So 17.12.2006 | Autor: | axes |
Tipp
Um diese Funktion in Matlab auszuwerten musst du sie erst in die Parameterfunktionen zerlegen. Dann kannst du diese Funktionen gegeneinander plotten.
Bei einem Kreis wäre das [mm] x^2+y^2=R [/mm] und daraus bekommst du die Funktionen
x(t) = R * Cos(t)
y(t) = R * Sin(t)
Welche du dann mit
plot(x(t), y(t))
plotten könntest.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:10 Mo 18.12.2006 | Autor: | axes |
für
[mm]x^2+y^2+z^2=1[/mm]
sind die Parameterfunktionen
[mm]x=r*sin(\alpha)*cos(\delta)[/mm]
[mm]y=r*sin(\alpha)*sin(\delta)[/mm]
[mm]z=r*cos(\alpha)[/mm]
In Matlab:
x=inline(vectorize('r*sin(a)*cos(b)'), 'a', 'b', 'r');
y=inline(vectorize('r*sin(a)*sin(b)'), 'a', 'b', 'r');
z=inline(vectorize('r*cos(a)'), 'a', 'b', 'r');
a=linspace(0,pi,100); %Wertebereich für alpha
b=linspace(0,2*pi,100); %Wertebreich für delta
r=1; %Radius
plot3(x(a,b,r),y(a,b,r),z(a,b,r)); grid on;
Für die komplette Kugel:
x=inline(vectorize('r*sin(a)*cos(b)'), 'a', 'b', 'r');
y=inline(vectorize('r*sin(a)*sin(b)'), 'a', 'b', 'r');
z=inline(vectorize('r*cos(a)'), 'a', 'b', 'r');
r=1;
b=0;
a=0;
for a=0:0.1:pi
plot3(x(a,b,r),y(a,b,r),z(a,b,r)); hold on
for b=0:0.1:2*pi
plot3(x(a,b,r),y(a,b,r),z(a,b,r)); hold on;
end
end
grid on;
|
|
|
|