Просто выполните преобразование и нанесите на график в декартовых координатах:
f = @(r, theta, phi) 4*exp(-r).*cos(theta).*sin(phi)
[XX YY ZZ] = meshgrid(x_range, y_range, z_range)
% R = sqrt(XX.^2 + YY.^2 + ZZ.^2)
% Th = acos(XX./YY)
% Phi = acos(ZZ./R)
% This is faster. . . and significantly more correct. See the comments below.
[Th,Phi,R] = cart2sph(XX,YY,ZZ)
fvals = f(R, Th, Phi)
Мне нравится isosurface
для визуализации трехмерных данных, подобных этой.Для 2D среза через Z = 0 вы можете использовать imagesc(fvals(:,:,N))
или contour(fvals(:,:,N))