Cos^2(2theta) 3d polar graph in MATLAB
Show older comments
How do i graph cos^2(2theta) in 3d ploar grpah? in MATLAB
Cos^2(2theta) where 0=<theta=<90 and 0=<phi=<360
5 Comments
John D'Errico
on 14 Sep 2021
This is a function of ONE variable, as far as you have said. The cosine function returns a single value for any input.
How do you expect to plot that in THREE dimensions? What do you want to see?
Tracy Colbert
on 14 Sep 2021
Star Strider
on 14 Sep 2021
What’s phi?
Tracy Colbert
on 14 Sep 2021
David Goodmanson
on 14 Sep 2021
Edited: David Goodmanson
on 16 Sep 2021
Hello Tracy,
Assume that theta and phi have the usual convention for spherical coordinates,
x = r*sin(theta)*cos(phi) y = r*sin(theta)*sin(phi) z = r*cos(theta)
Then if the intent is r = constant, and new z = f(theta), it seems more likely that the function would be cos^2(theta). This will give something that is axially symmetric around the z axis and looks like the end of a football. But If the intent is r = f(theta) and z defined in the usual way, then cos^2(2*theta) works but does not look like a dome. Does any of the material you have mention the meshgrid function, or plotting using surf?
Answers (2)
Walter Roberson
on 15 Sep 2021
Edited: Walter Roberson
on 15 Sep 2021
%0=<theta=<90 and 0=<phi=<360
[Theta, Phi] = meshgrid(linspace(0,90,361), linspace(0,360,361));
%cos^2(2theta)
R = cosd(2*Theta).^2;
[X, Y, Z] = sph2cart(Theta, Phi, R);
surf(X, Y, Z, 'edgecolor', 'none')
xlabel('X'); ylabel('Y')
2 Comments
Tracy Colbert
on 15 Sep 2021
I forgot to account for degrees.
%0=<theta=<90 and 0=<phi=<360
[Theta, Phi] = meshgrid(linspace(0,90,361), linspace(0,360,361));
%cos^2(2theta)
R = cosd(2*Theta).^2;
[X, Y, Z] = sph2cart(Theta*pi/180, Phi*pi/180, R);
surf(X, Y, Z, 'edgecolor', 'none')
xlabel('X'); ylabel('Y')
% Define theta and r vectors
theta = linspace(0, 2*pi, 360);
r = cos(2*theta).^2;
% Convert polar coordinates to Cartesian coordinates
x = r.*cos(theta);
y = r.*sin(theta);
z = r;
% Plot 3D polar graph
plot3(x, y, z)
title('3D Polar Graph of cos^2(2\theta)')
xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
Categories
Find more on Polar Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

