作业帮 > 综合 > 作业

Matlab代码求解 画圆函数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 14:18:17
Matlab代码求解 画圆函数
function d = dCircle(P,xc,yc,r)
d=sqrt((P(:,1)-xc).^2+(P(:,2)-yc).^2)-r;
d=[d,d];
这是一个画圆的函数,其中P是点集合,xc yc代表圆心的横纵坐标,r是圆的半径.请问这几行代码原理是什么?就是为什么这样写就会出来一个圆?最后要跟什么命令才能画出来呢.plot?
这段程序不是画圆的,是求点到圆心的距离;
P 中保存的是点的组数(多个点),然后批量求这些点和圆心的距离.
d=sqrt((P(:,1)-xc).^2+(P(:,2)-yc).^2)-r;

上面这句就是求距离d
d=[d,d];
这句没有看出有什么意义,可能和函数在具体应用有关吧!
下面是一个运行的例子:
>> P(:,1)=[1,2,3,4,5]

P =

     1
     2
     3
     4
     5

>> P(:,2)=[1,2,3,4,5]

P =

     1     1
     2     2
     3     3
     4     4
     5     5
%上面给出了P 的坐标数组,分别是(1,1)、(2,2)、(3,3)、(4,4)和(5,5)
>> d = dCircle(P, 1 , 1, 1)

d =

   -1.0000   -1.0000
    0.4142    0.4142
    1.8284    1.8284
    3.2426    3.2426
    4.6569    4.6569
%这里对应求出了P 中坐标点和圆心的位置