我如何与给定半径画一个圆,中心吗?

6938(30天)

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2022年3月23日
这是一个阴谋的MATLAB函数一个圆半径为r的坐标和定位中心“x”和“y”:
函数h =圆(x, y, r)
持有
th = 0:π/ 50:2 *π;
xunit = r * cos (th) + x;
yunit = r * sin (th) + y;
h =情节(xunit yunit);
持有
另一种方法是使用“矩形”功能:
函数h = circle2 (x, y, r)
d = r * 2;
px = x r;
py = y r;
h =矩形(“位置”(px py d d),“弯曲”[1]);
daspect ((1 1 1))
如果您使用的是R2012a或更高版本和图像处理工具箱,然后你就可以使用“viscircles”函数画圆:
viscircles(中心、半径)
18岁的评论
沃尔特·罗伯森
沃尔特·罗伯森 2022年9月9日
你会得到一个不同的错误消息,如果你有一个脚本函数后,没有一个匹配的函数 结束 声明。
这个错误可能发生如果你想创建一个函数在一个脚本R2015b之前在MATLAB版本。它还可能发生如果你试图定义一个函数在命令行(我似乎记得的措辞是稍微不同的情况下,但这也许是一个旧版本的措辞比我使用。)

登录置评。

更多的答案(9)

serwan Bamerni
serwan Bamerni 2016年2月17日
现在有一个名为viscircles的函数():
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年12月25日
viscircles(应用程序。分段,中心、半径、“颜色”,“b”)

登录置评。


史蒂文的主
史蒂文的主 2020年12月25日
另一种可能性是使用近似圆 polyshape 与大量的两侧和情节 polyshape
p = nsidedpoly (1000“中心”3 [2],“半径”5);
情节(p,“FaceColor”,“r”)
平等的
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年6月9日
记住,一个等边三角形有一个60度范围。

登录置评。


Supoj Choachaicharoenkul
Supoj Choachaicharoenkul 2019年10月2日
情节(x, y,‘博’,‘MarkerSize’, 50);
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2022年2月5日
根据显卡驱动您正在使用,当你问一个圆圈标记画大,结果可能不圆。司机近似一个圆,但他们一般不考虑圆时近似的大小可能看起来很糟糕。

登录置评。


胺bouabid
胺bouabid 2018年7月23日
编辑:胺bouabid 2018年7月23日
你好
你可以画出一个圆,只要写:
信谊x;信谊y;
ezplot ((x-xi)。^ 2 + (y-yi)。^ 2 r ^ 2)。
习和彝族的坐标中心和半径r
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年5月9日
使用viscircles()或使用阴谋()和一个“o”标志和大型“MarkerSize”甚至更短。

登录置评。


Ebrahim Soujeri
Ebrahim Soujeri 2021年3月26日
最短的代码可以是这样的:
函数plotcircle (r, x, y)
th = 0:π/ 100:2 *π;
f = r * exp (j * th) + x + j * y;
情节(真正的(f),图像放大(f));
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年3月27日
注意到我曾经策划一个变量的捷径,而不是真正的()和图像放大()的表达式。这是一个阴谋的“特性”:如果你问情节()单一变量和变量是复杂的价值,然后使用真正的组件作为x和虚构的组件y。删除临时变量使代码更加紧凑,但改变情节()只有一个表达式是使用不同的算法比你使用。
. .和你 做了 说“最短”,但我的版本,你的方法是短;-)

登录置评。


帕特里夏阿基拉
帕特里夏阿基拉 2021年5月4日
一个物体在一个半径为1的圆。情节这个圆和一个点在67º角。帮助我
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年5月4日
为67度,请注意
xunit = r * cos (th) + x;
yunit = r * sin (th) + y;
您可以使用cosd()和信德()如果你的角的度。

登录置评。


Devin Marcheselli
Devin Marcheselli 2020年1月17日
我怎么画一个圈使用方程:(x h)。^ 2 + (y-k)。^ 2 = r ^ 2
3评论
马克Rzewnicki
马克Rzewnicki 2020年3月17日
遗憾的是我只看到现在,抱歉。
最简单的方法是编写原始代码两次(第二次重命名变量)和情节都圈使用“抓住”语句。
这使得代码看起来残酷丑陋的——你真的应该vectorize事物和定义函数时扩大这样的代码,但它会在紧要关头完成工作。结果会是这样(5分钟我的编辑原始代码):
%圆方程:(x h) ^ 2 + (y-k) ^ 2 = r ^ 2
%中心:(h, k):半径r
h = 1;
k = 1;
r = 1;
h1 = 2;
k1 = 2;
r1 = 2;
% % x坐标,圆h-r“开始”与“结束”h + r
% % x_res =决议间距点
xmin = h - r;
xmax = h + r;
x_res = 1 e - 3;
X = xmin: x_res: xmax;
xmin1 = h1 - r1;
xmax1 = h1 + r1;
X1 = xmin1: x_res: xmax1;
% %有一共有2坐标最圆的。
% %我们需要复制每一个坐标,所以我们可以匹配每个x
% %对y的值。
% %方法选择:重复坐标为圆“围绕”
% %例如:x = [0 0.1 - 0.2…结束结束……0.2 - 0.1 0]
N =长度(X);
x = [x翻转(x)];
N1 =长度(X1);
x1 = (x1翻转(x1));
% % ytemp1:当我们的y值矢量沿圆从左到右扫描
% % ytemp2:当我们的y值矢量沿圆从右到左扫描
% %我们是否采取积极或消极的价值观首先是任意的
ytemp1 = 0 (1, N);
ytemp2 = 0 (1, N);
ytemp11 = 0 (1、N1);
ytemp22 = 0 (1、N1);
我= 1:1:N
平方=√r ^ 2 - X (i) ^ 2 + 2 * X (i) * h - h ^ 2);
ytemp1 (i) = k -广场;
ytemp2 (N +我)= k +广场;
结束
我= 1:1:N1
square1 =√r1 ^ 2 X1 (i) ^ 2 + 2 * X1 (i) * h1 - h1 ^ 2);
ytemp11 (i) = k1 - square1;
ytemp22 (i) = k1 + square1;
结束
y = [ytemp1 ytemp2];
日元= [ytemp11 ytemp22];
% %绘制(x, y)分
图(1)
情节(x, y)
持有
情节(x1, y1)
轴([5 5 5 5]);

登录置评。


阿里yaman
阿里yaman 2022年4月14日
编辑:阿里yaman 2022年4月14日
我认为不需要任何上述解决方案,你可以画一个圆,一个下面的代码。金宝搏官方网站
假设半径 5
fimplicit (@ (x, y) x ^ 2 + y ^ 2-25)
ezplot (“x ^ 2 + y ^ 2-25”,5,5])
%注意的25码来自5的平方。如果你想要
%画一个圆半径8然后写64,而不是25。
4评论
阿里yaman
阿里yaman 2022年4月19日
谢谢 @Walter罗伯森 。我不知道fimplicit默认图面积为5 [5]。

登录置评。


山姆Zebrado
山姆Zebrado 2022年6月12日
编辑:山姆Zebrado 2022年6月12日
您可以使用一个函数这样的如果你需要绘制圆圈不平等轴但不要椭圆:他们是什么样子
% %绘制使用不同半径的函数
fc_circle_plot = @ (x, y, rs,变长度输入宗量). .。
arrayfun (@ (x, y, r)情节(x, y,“o”,“MarkerSize”r变长度输入宗量{:}),x, y, rs,“UniformOutput”、假);
% %一个演示
x = 1:5;
y =兰德(1、5);
半径=兰迪((10、20),1、5);%从10到20个随机整数,大小(1、5)
图;
持有;
fc_circle_plot (x, y,半径,. .。
“颜色”,“b”,“线宽”,2. .。任何参数支持的情节()可以放置金宝app在这里
);
持有;
注。你也可以替换函数情节作为其他函数用法。
3评论
为副总经理
为副总经理 2023年3月6日
% %绘制使用不同半径的函数
fc_circle_plot = @ (x, y, rs,变长度输入宗量). .。
arrayfun (@ (x, y, r)情节(x, y,“o”,“MarkerSize”r变长度输入宗量{:}),x, y, rs,“UniformOutput”、假);
%一些数据
x = 1:5;
y =兰德(1、5);
半径=兰迪((10、20),1、5);%从10到20个随机整数,大小(1、5)
%说有一条线绘制在图中
情节(x, y)%我要重用相同的点
%,那么您可以使用坚持情节
持有;
fc_circle_plot (x, y,半径,. .。
“颜色”,“b”,“线宽”,2. .。任何参数支持的情节()可以放置金宝app在这里
);
持有;

登录置评。

类别

找到更多的在极地的情节帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!