MATLAB离散点边界曲线的绘制

article/2025/5/14 6:56:05

一大堆离散点有时候需要绘制边缘点,这时候可以用到boundary函数,这是MATLAB的自带函数,用机械臂的工作空间为例绘制边界曲线图:

%建立机器人模型
%       theta    d        a        alpha     offset
L1=Link([0       0        2   0      0     ]); %定义连杆的D-H参数
L2=Link([0       0        1.8     0         0     ]);
L3=Link([0       0         0.8    0     0     ]);
%  L4=Link([0       0        1    0     0     ]);
%  L5=Link([0       0        2    0     0     ]);
%  L6=Link([0       0        2    0     0     ]);
robot=SerialLink([L1 L2 L3  ],'name','manman'); %连接连杆,机器人取名manman
A=unifrnd(-pi,pi/2,[1,30000]);%第一关节变量限位
B=unifrnd(-pi/2,pi/2,[1,30000]);%第二关节变量限位
C=unifrnd(-pi,pi,[1,30000]);%第三关节变量限位
G= cell(30000, 3);%建立元胞数组
for n = 1:30000G{n} =[A(n) B(n) C(n)];
end                                         %产生3000组随机点
H1=cell2mat(G);                       %将元胞数组转化为矩阵
T=double(robot.fkine(H1));       %机械臂正解
figure(1)
sz=10;
scatter3(squeeze(T(1,4,:)),squeeze(T(2,4,:)),squeeze(T(3,4,:)),sz,'filled','b')%随机点图
robot.plot([pi/2 pi/4 0],'workspace',[-5 5 -5 5 -5 5 ],'tilesize',2)%机械臂图
hold on;
x=squeeze(T(1,4,:));
y=squeeze(T(2,4,:));
k=boundary(x,y);
[theta,rho]=cart2pol(x,y);
% 把内部转化为外部
rho1=max(rho)-rho;
theta1=theta;
% 极坐标化为柱坐标
[x1,y1]=pol2cart(theta1,rho1);
% 内部边界索引
Ind1=boundary(x1,y1);
figure(2)
plot(x(Ind1),y(Ind1),'r','LineWidth',3)
hold on;
plot(x(k),y(k),'r','LineWidth',3)
hold on;

散点图上的效果是这样的:

在这里插入图片描述

分离出来就是这样:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ePxlxqW6.shtml

相关文章

利用Matlab绘制两个点电荷电场线【物理软件课程设计】

物理软件课程设计 2021年6月的课程设计题目之一:设计程序,画出两个点电荷之间电场线分布图 入门级别,代码思想可能有点像C语言,本人应用物理学专业。 资源链接:(4条消息) 利用MATLAB绘制点两个电荷电场线-C文档类资…

matlab描点写函数,matlab描点并标上点的序号

使用Kinect一帧可以获取构成人脸的121个点,每个点对应一个序号,其中121个点中有20个点描绘的唇部的点,但我们只能看出有20个点对应嘴唇,并不知道这20个点的序号,所以需要使用matlab建模并找出这20点对应的序号。 程序如…

matlab画三维散点图,调节点大小和图案

找了老半天的三维散点图,都没有。后来给我摸清楚了。 你随便画个三维散点,用scatter3 这个函数画。注意,plot是二维的 plot调节大小是 markersize 这个参数,但是三维没有。 可以画出图形后,用matlab自带的图形编辑器&…

Matlab画图和点标记

从csv中导出数据,然后需要在MATLAB图中进行标记个别点,但是利用MTALB自身标记的比较丑,因此搜了一下别的方法,具体效果如下,其中的*可以改成O或者其他的自定义的符号: 具体的主要代码如下: fi…

matlab绘制三维点云和点云凸包

matlab绘制三维点云和点云凸包 效果展示 1.在matlab命令窗口输入guide打开matlab的ui开发界面,按照下图的样式绘制界面。 2. 在GUIDE中鼠标右键点击选择素材文件夹按键,选择查看回调=>callback编辑回调函数。 function pushbutto…

matlab 绘制孤立点

绘制孤立点 clc,clear; X[1,3,5,6]; Y[3,4,1,5]; nlength(X); hold on for i1:nplot(X(i),Y(i),c*); endresult

Matlab制作高分辨率点线图

相较于其他软件,MATLAB在图片制作上上手难度较高,但其强大的代码功能使得处理出来的图片更加漂亮。直接附代码和效果图! x[100 125 150 175 200]; %定义x轴的坐标 sign["1#",2#,3#,4#,5#,Ave];[num,txt,raw]xlsread(D:\wudi\postg…

MATLAB 绘制点的地理空间分布,并用点的颜色或大小代表数值

%% 修改日期 2021/12/8clc clear close all%% 测试数据,第一列代表纬度,第二列经度,第三列则是点的值 txt [46.75296619 -69.1022775 0.31290975246.80735808 -69.06131914 0.39115348546.68438136 -68.40644856 -0.52491718547.68233472 -6…

Matlab 绘制 - 点和向量:向量加减的方法和源码

前言: 一些博客就是转了Matlab 的中文说明,可是他那个说明,他自己都说了不是很对。 本文从实践出发,详细介绍Matlab对 坐标空间的点和向量的绘制方法。 1 点的概念和画法: 1.1 一个平面上的点 plot(2, 3, ., MarkerS…

oracle一基础查询:单表,多表查询(交叉,内联,外联),分组聚合,子查询语法。

摘要&#xff1a;条件查询&#xff0c;别名&#xff0c;排序&#xff0c;聚合函数&#xff0c;where&#xff0c;having&#xff0c;联接查询&#xff0c;where in/exists/><子查询&#xff0c;&#xff0c;rownum伪列&#xff0c;模糊查询。 查询所有信息 select *from…

wps交叉表_使用WPS图表功能中的堆叠条形图制作日程交叉图

微软的项目&#xff0c;作为一个老式的项目管理软件&#xff0c;被许多朋友在工作中使用。它的功能相对完善&#xff0c;与微软的sharepoint服务器相结合&#xff0c;功能非常强大。一般来说&#xff0c;我们很少使用微软项目的所有功能。毕竟&#xff0c;与中国人的使用习惯还…

sql 交叉查询

日常开发中遇到多表查询时&#xff0c;首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等&#xff0c;但是这两种查询有时候不能满足需求。比如&#xff0c;左表一条关联右表多条记录时&#xff0c;我需要控制右表的某一条或多条记录跟左表匹配。貌似&#xff0c;INNER JOIN 或 L…

交叉表和透视表

交叉表: 用于计算一列数据对于另一列数据的分组个数&#xff08;用于统计分组频率的特殊透视表&#xff09; pd.crosstab(value1,value2)透视表&#xff1a;将原有的dataframe的列分别作为行索引和列索引&#xff0c;然后对指定的列应用聚集函数 data.pivot_table() 探究股票的…

【交叉表查询】行列转换的魅力

本文主要是讲一下行列转换&#xff0c;也就是大家经常讲的交叉表查询。 行列转换在实际的应用中非常的实用&#xff0c;可以大大的减少工作量。 很多时候&#xff0c;在Excel中处理数据时&#xff0c;我们需要统计每个月的销量或者需要填写每个月的销量&#xff0c;如下图 &a…

Mysql5 实现交叉表查询

交叉表、行列转换和交叉查询经典 一、什么是交叉表 “交叉表”对象是一个网格&#xff0c;用来根据指定的条件返回值。数据显示在压缩行和列中。这种格式易于比较数据并辨别其趋势。它由三个元素组成&#xff1a; 行 列 摘要字段 “交叉表”中的行沿水平方向延…

access交叉表

一、交叉表查询每门课的成绩 交叉表&#xff1a;左边是行标题&#xff0c;上面是列标题&#xff0c;交叉的是值。更改字段名:更改字段名用双引号 二、查询每个年级的每门课的成绩 [表名]![字段名] 三、生成表 生成表&#xff1a;在一张表上生成一张新表原来只有三张表 点击运行…

access如何查询两张表的内容_Access使用技术2:使用交叉表查询向导进行每日汇总...

个人主页:http://office-access.cn公众号:DataMapHuanyu Access使用技术2:使用交叉表查询向导进行每日汇总 Access交叉表查询可以合并每日的量,日汇总功能对于大量数据统计是很有帮助的,Excel很难胜任。 1.技术要求 将不同的表用Union Select合并到一张表中,不能用两张表…

【Access数据库】关于带参数的交叉表查询

查了一圈&#xff0c;网上关于带参数的交叉表查询的介绍很少。 1.用SQL语句写带参数的交叉表查询的话&#xff0c;不能用having语句设置条件&#xff0c;必须用where。 2.where语句里不能像普通参数查询一样写模糊查询&#xff0c;必须是精确的。 3.即使用了where&#xff0c;也…

在MySQL中实现交叉表查询1(静态交叉表)

在MySQL中实现交叉表查询1&#xff08;静态交叉表&#xff09; 一、什么是交叉表 交叉表查询是将来源于某个表中的字段进行分组&#xff0c;一组列在交叉表左侧&#xff0c;一组列在交叉表上部&#xff0c;并在交叉表行与列交叉处显示表中某个字段的各种计算值。比如&#xf…

5.7.1 使用向导创建交叉表查询

示例ACCESS数据库下载链接&#xff1a; https://download.csdn.net/download/ngbshzhn/20979935 使用交叉表查询计算和重构数据&#xff0c;可以简化数据分析&#xff0c;交叉表查询计算数据的总和、平均值、计数或其他类型的总计值&#xff0c;并将它们分组。一组列在数…