Plot x^2+y^2=4

120 visualizaciones (últimos 30 días)
Mohamed Lawindy
Mohamed Lawindy el 25 de Feb. de 2020
Comentada: Steven Lord el 24 de Jun. de 2022
Hello, I have a little starter question about matlab. How do I plot a circle given by x^2+y^2=4?
Thank you.

Respuesta aceptada

Sky Sartorius
Sky Sartorius el 25 de Feb. de 2020
There are a few ways to go about this. One that is somewhat agnostic to what the equation is trying to represent (in this case, a circle) involves calculating the equation for the whole space, then plotting only an isoline of the target value.
[X,Y] = meshgrid(-3:.1:3,-3:.1:3); % Generate domain.
Z = X.^2 + Y.^2; % Find function value everywhere in the domain.
contour(X,Y,Z,[4 4]) % Plot the isoline where the function value is 4.
If you know more about your function and can turn it around into a function of only one variable (e.g., sine and cosine of t), that is preferable in most cases.
  1 comentario
Mohamed Lawindy
Mohamed Lawindy el 25 de Feb. de 2020
Thank you very much.

Iniciar sesión para comentar.

Más respuestas (3)

James Tursa
James Tursa el 25 de Feb. de 2020
E.g., since you know it is a circle with radius 2 centered at the origin;
ang = 0:0.01:2*pi;
x = 2*cos(ang);
y = 2*sin(ang);
plot(x,y);
  1 comentario
Mohamed Lawindy
Mohamed Lawindy el 25 de Feb. de 2020
Thank you too.

Iniciar sesión para comentar.


hamza
hamza el 24 de Jun. de 2022
Editada: Image Analyst el 24 de Jun. de 2022
Plot the contour plots of the circles x^2+y^2 of radius 1,2, 1.41,1.73.
  1 comentario
Image Analyst
Image Analyst el 24 de Jun. de 2022
radii = [1, 2, 1.41, 1.73];
viscircles([zeros(4,1), zeros(4,1)], radii);
axis equal
grid on;

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 24 de Jun. de 2022
Another way to do this is to use the fcontour function.
f = @(x, y) x.^2+y.^2;
fcontour(f, 'LevelList', 4)
axis equal
If you want to see multiple contours, specify a non-scalar LevelList.
figure
fcontour(f, 'LevelList', 1:4:25)
axis equal
  2 comentarios
Image Analyst
Image Analyst el 24 de Jun. de 2022
And yet another way
viscircles([0,0], 2)
ans =
Group with properties: Children: [2×1 Line] Visible: on HitTest: on Show all properties
Steven Lord
Steven Lord el 24 de Jun. de 2022
Note that viscircles is part of Image Processing Toolbox which means that not all users would have access to it.

Iniciar sesión para comentar.

Categorías

Más información sobre Contour Plots en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by