Plot x^2+y^2=4
59 次查看(过去 30 天)
显示 更早的评论
Hello, I have a little starter question about matlab. How do I plot a circle given by x^2+y^2=4?
Thank you.
0 个评论
采纳的回答
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
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
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
2022-6-24
radii = [1, 2, 1.41, 1.73];
viscircles([zeros(4,1), zeros(4,1)], radii);
axis equal
grid on;
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 个评论
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 Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!