How to "surf" over a circular domain?
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Anthont Goddard
el 20 de Oct. de 2016
Comentada: Walter Roberson
el 15 de Feb. de 2020
I have some code that looks at the behavior for various Bessel functions. I would like to plot this over a sector of angle a, this angle I can change as I wish. I have no idea where to start, everywhere I look it refers me to PDE toolbox.
1 comentario
KSSV
el 21 de Oct. de 2016
How the data is? If you have matrices you can always use surf irrespective of the domain .
Respuesta aceptada
Prashant Arora
el 25 de Oct. de 2016
It is my understanding that you are trying to create a 3-D surf plot of a function, which is calculated over a circular domain, instead of a rectangular domain.
You can use the “meshgrid” function to generate the arguments for the “surf” function. For circular domains, you can pass Radius and polar angle range as arguments to generate the grid. Then, generate the new matrices in Cartesian coordinates using the obtained grid. I am including a small example below, which might help you understand the technique.
%Generate the Polar angle vector containing information about sector location and angle
Theta = [pi/5:0.01:pi/2];
%Generate the Radius vector
R = [0:0.001:1.0];
%Create a grid from angle and Radius
[ThetaG,RG] = meshgrid(Theta,R);
%Create X,Y matrices calculated on grid.
X = RG.*cos(ThetaG);
Y = RG.*sin(ThetaG);
%Calculate the function
Z = X.^2 + Y.^2;
%Surf plot
surf(X,Y,Z);
I hope this helps you in solving the problem.
2 comentarios
Nikolaj Maack Bielefeld
el 15 de Feb. de 2020
Editada: Nikolaj Maack Bielefeld
el 15 de Feb. de 2020
Thank you Prashant Arora, your comment help me plot this Circular Membrane Wave (Fourier-Bessel Series)
Más respuestas (0)
Ver también
Categorías
Más información sobre Geometry and Mesh en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!