matlab的inpolygon用法简单介绍

%简单介绍inpolygon函数的用法
L = linspace(0,2.*pi,6); xv = cos(L)';yv = sin(L)'; %创建一个-1~1的范围的点数组


xv = [xv ; xv(1)]; yv = [yv ; yv(1)];%在原来数组基础上加上开始点,从而实现了首尾相连的多边形。


x = randn(250,1); y = randn(250,1);%产生随机正态分布的250行1列的数组


in = inpolygon(x,y,xv,yv)%注意xv,yv构成了多边形边界。x,y对应的是单点坐标,判断是否在多边形内。
                          %返回结果为逻辑logical类型(不是数字类型哦),如果在对应的就返回1,否则为0。


plot(xv,yv,x(in),y(in),'r+',x(~in),y(~in),'bo')%x(in)是读取in逻辑数组中逻辑值为1的对应的值。
                                               %plot(xv,yv)是画出多边形的边界
                                               %plot(xv,yv,x(in),y(in),'r+')是画出多边形和内部的点(红色加号画出)
                                               %plot(x(~in),y(~in),'bo')是画出不在多边形内的点,bo形状为蓝色圆点


print 'Over!Done!'

matlab的inpolygon用法简单介绍_第1张图片

你可能感兴趣的:(MATLAB)