2 svar
21 visningar
Svalan är nöjd med hjälpen
Svalan 23
Postad: 29 apr 14:08

Plottning av yta med hjälp av polära kordinater

Jag ska plotta ytan cos(z)=x2+y2 -π/2zπ/2

Helst vill jag lyckas göra det genom att ta hjälp av polära koordinater. Så här har jag infört polära koordinater:

x=r×cos(θ)y=r×sin(θ)

z=cos-1(r2cos2(θ)+sin2(θ))

 

 

r=linspace(0,1,21);           % vektor med r-värden
theta=linspace(0,2*pi,63);    % vektor med theta-värden

[R,THETA]=meshgrid(r,theta);  % skapar grid-matriser
X=R.*cos(THETA);
Y=R.*sin(THETA);
Z=acos(sqrt(R.^2).*sqrt(cos(THETA).^2+sin(THETA).^2));

surf(X,Y,Z)   % rita ytan
axis equal

Ytan ser då ut såhär:

 

 

 

Vilket inte riktigt stämmer överens med facit. Ytan ska ha en till likadan del för negativa z-värden, alltså speglat genom x-y planet. Jag förstår inte hur jag ska kunna få negativa z värden?

Dr. G 6623
Postad: 29 apr 14:52

Z2 = -Z 

surf(X,Y,Z2)

?

(Räcker det inte med Z = acos(R)?)

Svalan 23
Postad: 29 apr 15:47

Tack!

Z2=-Z fungerade bra. Precis som du skrev räcke det med Z=acos(R) 

Svara Avbryt
Close