matlab通过多点距离画散点图
时间: 2023-11-02 21:12:10 浏览: 197
MATLAB——绘制散点图
可以使用 `scatter` 函数来绘制散点图,其中可以利用多个点的坐标和对应的颜色、大小等参数来实现。
以下是一个简单的例子,假设有 $n$ 个点,它们的坐标存储在一个 $n \times 2$ 的矩阵 `points` 中,每个点的颜色存储在一个长度为 $n$ 的向量 `colors` 中:
```matlab
scatter(points(:,1), points(:,2), [], colors);
```
其中 `points(:,1)` 和 `points(:,2)` 分别指代点的 $x$ 和 $y$ 坐标,`[]` 表示没有设置点的大小,`colors` 是一个长度为 $n$ 的向量,它指定了每个点的颜色。可以使用 `doc scatter` 查看函数的详细说明。
如果要通过每个点与其他点之间的距离来设置点的颜色或大小,可以使用 `pdist` 函数计算点与点之间的距离。以下是一个示例代码,其中点的颜色根据每个点与其他点的平均距离来确定:
```matlab
% 生成随机点集
n = 100;
points = rand(n, 2);
% 计算每个点与其他点之间的距离
distances = pdist(points);
% 计算每个点的颜色值
colors = mean(squareform(distances), 2);
% 绘制散点图
scatter(points(:,1), points(:,2), [], colors);
```
其中 `squareform` 函数将一维的距离向量转换为对称矩阵,方便计算每个点与其他点的平均距离。
阅读全文