matlab画矩形和matlab画圆

摘要:
在matlab命令窗口中输入如下命令:rectangle,axisequal3.要画圆的话只需要将曲率设置成1就行了。x,y,r1,1,30,4,25,4,1matlab程序:rectangle,axisequalrectangle,axisequalrectangle,axisequal%加上颜色信息今天在用MATLAB编程的时候,用到了已知圆心和半径,画圆的程序,上网搜了一下,主要有下面两种,在这里总结一下:第一种:function[]=circlerectangle,axisequalendrectangle这个函数有兴趣的可以查一下,这个是画矩形的函数,这里我们把曲率设置成1,画出来的是圆,但是这种方法没有办法改变话圆的颜色,不是填充色,而是圆外轮廓的颜色,至今我还没找到方法。

首先介绍一下rectangle函数

1.rectangle函数实际上是一个画矩形的行数,语法调用为:

rectangle('Position',[x,y,w,h]),表示的是从左下角点(x,y)开始画一个宽w高h的矩形。默认情况下是从(0,0)开始画一个宽1高1的矩形。例如直接在命令窗口出入:rectangle,axis equal 画出的图形如下图所示。(axis equal的意思是保持横纵坐标等比例)

2.

rectangle函数可以制定矩形边的曲率,这就为我们画圆提供了一个思路。改变曲率的参数是'Curvature',[x,y] ,先改变一下曲率画个试试。在matlab命令窗口中输入如下命令:

rectangle('Position',[0,0,1,1],'Curvature',[0.5,0.8]),axis equal

3.

要画圆的话只需要将曲率设置成1就行了。注意'Curvature',[0.5,0.8]后面的两个参数[0.5,0.8]分别表示两个边的曲率。画一个圆试试,输入命令如下:

rectangle('Position',[0,0,1,1],'Curvature',[1,1]),axis equal;

4.

直接画圆已经可以了,下一步就是指定圆形坐标和半径了。我们不妨先分析一下:

1.rectangle函数本来画的是矩形,可以指定初始位置坐标和半径。如果要画圆首先要把曲率都设置成1;

2.从上一部的图中可以看出画出的圆是曲率为0时矩形的内切圆,所以这里参数的长和宽都等于2倍的半径,即w=h=2r;

3.下面是圆心,可以通过设置初始位置坐标来实现,圆心就是初始位置坐标(x,y)均加上半径r。所以如果已知圆心坐标(x,y)和半径r画圆的话,rectangle函数的未知参数应该为 'Position',[x-r,y-r,2*r,2*r] 。

4.

matlab画任意位置的圆。例如要画一组圆,已知圆心坐标和半径。

x,y,r

1,1,3

0,4,2

5,4,1

matlab程序:

rectangle('Position',[-2,-2,6,6],'Curvature',[1,1]),axis equal

rectangle('Position',[-2,2,4,4],'Curvature',[1,1]),axis equal

rectangle('Position',[4,3,2,2],'Curvature',[1,1],'edgecolor','r'),axis equal %加上颜色信息


今天在用MATLAB编程的时候,用到了已知圆心和半径,画圆的程序,上网搜了一下,主要有下面两种,在这里总结一下:(这里我都是放在函数中做的,想画多个圆的话可以加个for循环调用一下函数,或者直接用向量做都是可以的,在这里我不在多说)

第一种:

function [] = circle( x,y,r )
rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],'linewidth',1),axis equal
end
rectangle这个函数有兴趣的可以查一下,这个是画矩形的函数,这里我们把曲率设置成1,画出来的是圆,但是这种方法没有办法改变话圆的颜色,不是填充色,而是圆外轮廓的颜色,至今我还没找到方法。如果有知道的可以给我评论下,谢谢啦

补充:rectangle改变圆外轮廓的颜色:在函数中加入'EdgeColor', 'w',这个是看到评论中说可以改变,但是我现在没有环境,没法测试,感兴趣的朋友可以试一下,感谢评论留言的小伙伴。

第二种:

function [] = plot1( x,y,r )
theta=0:0.1:2*pi;
Circle1=x+r*cos(theta);
Circle2=y+r*sin(theta);
c=[123,14,52];
plot(Circle1,Circle2,'c','linewidth',1);
axis equal
end
这种是利用圆的参数方程做的,效果比上面的好,但是比上面的麻烦了一点

补充:看到有评论说可以用MATLAB里自带的工具画圆,但是我现在没有工具,无法进行测试,但是在这里还是补充上,感兴趣的朋友可以试一下:

viscircles(centers,radii)
原文:https://blog.csdn.net/ZLK961543260/article/details/70216089

免责声明:文章转载自《matlab画矩形和matlab画圆》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VMware虚拟机中调整Linux分区大小——使用GPartedlinux安装命令行 图形查看 CPU温度 传感器-20191218下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

4.VREP常见问题1

1.VREP无法导入贴图 在vrep中无法正确识别中文路径。但是,可以正确打开位于中文路径下的场景文件。在这种情况下调试场景文件,不会出现错误。 vrep在导入贴图时,出现贴图无法导入。由于贴图所存在的路径中包含中文。 图21 导入贴图错误 解决方法:项目路径存在英文目录下。 2.Vrep软件运行错误 场景中的对象,经过复制之会取名带后缀#0 或者其他...

MATLAB

总原则:能用向量矩阵解决的就不用for循环。 1.匿名函数  @定义一个函数或变量,用括号里的字母作为变量名字。 标准格式是: fhandle=@(arglist)express (1)express是一个matlab变量表达式,比如:x+x.^2,sin(x)等(2)argilst是参数列表;(3)符号@是matlab创建函数句柄的操作符,表示创建由参数...

matlab练习程序(PSNR)

  PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下: 这里的MAX通常是图像的灰度级,一般就是255了。 这里就不用什么压缩算法了,就是将图像...

超详细介绍 图像处理(卷积)(转)

图像处理(卷积)作者太棒了    原文   http://blog.sina.com.cn/s/blog_4bdb170b01019atv.html 图像处理-线性滤波-1 基础(相关算子、卷积算子、边缘效应) 这里讨论利用输入图像中像素的小邻域来产生输出图像的方法,在信号处理中这种方法称为滤波(filtering)。其中,最常用的是线性滤波:输出...

Matlab内存不足问题的解决 .

matlab java.lang.OutOfMemoryErrorJava虚拟机内存不够用了.可以增加最大内存设置.1. 查找matlab根路径.在matlab命令行中敲入:matlabroot显示根路径,如:C:MATLAB72.查看当前Java虚拟机最大堆内存, 敲入:java.lang.Runtime.getRuntime.maxMemory3.查看...

matlab三维画图

matlab三维画图主要有三个命令:plot3命令、mesh命令和surf命令。 plot3plot3是三维画图的基本函数,绘制的是最为主要的3D曲线图,最主要的调用格式是: plot3(X,Y,Z) 当X,Y,Z为长度同样的向量时,plot3命令将绘得一条分别以向量X,Y,Z为(x,y,z)坐标值的曲线 当X,Y,Z均为m*n的矩阵时,plot3命令将...