Plot x^2+y^2=4

45 次查看(过去 30 天)
Mohamed Lawindy
Mohamed Lawindy 2020-2-25
Hello, I have a little starter question about matlab. How do I plot a circle given by x^2+y^2=4?
Thank you.

采纳的回答

Sky Sartorius
Sky Sartorius 2020-2-25
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.

更多回答(3 个)

James Tursa
James Tursa 2020-2-25
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);

hamza
hamza 2022-6-24
编辑:Image Analyst 2022-6-24
Plot the contour plots of the circles x^2+y^2 of radius 1,2, 1.41,1.73.
  1 个评论
Image Analyst
Image Analyst 2022-6-24
radii = [1, 2, 1.41, 1.73];
viscircles([zeros(4,1), zeros(4,1)], radii);
axis equal
grid on;

请先登录,再进行评论。


Steven Lord
Steven Lord 2022-6-24
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 个评论
Image Analyst
Image Analyst 2022-6-24
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 2022-6-24
Note that viscircles is part of Image Processing Toolbox which means that not all users would have access to it.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Contour Plots 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by