How to plot 2D ring with surf ?

16 visualizzazioni (ultimi 30 giorni)
Maxime Dubart
Maxime Dubart il 12 Gen 2017
Commentato: Janani Shekar il 7 Mag 2021
Hi !
I'm currently writing a code of the distribution of an electrical potential as a function of the radius r (as seen in the picture below) and the angle alpha (the angle of the circle, from 0 to 2pi) for a physic problem.
Using the function surf, I can plot the values of this potential at a certain time, as a function of alpha and psi, the radius, but it displays them in a square :
What I would like is to display the same graph, but as a ring form, just like the first picture, so it is more easy to picture the exact place inside the ring the corresponding potential is.
I have currently no idea how to begin. I would really appreciate your help !
Thanks a lot in advance, Best Regards.

Risposte (1)

Vandana Ravichandran
Vandana Ravichandran il 20 Gen 2017
Modificato: Vandana Ravichandran il 20 Gen 2017
You can get started with the following example. Here we are obtaining the width and height of the figure using "Position" property. Using this we are able to calculate the center coordinates. We can draw circles using "viscircles" function, for a given center and radius.
f = figure;
axes = gca;
axes.Visible = 'off';
pos = f.Position;
w = pos(3);
h = pos(4);
center = [w/2 h/2];
viscircles(center,4,'Color','r');
viscircles(center,2.5,'Color','b');

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by