matlab将矩阵画成点状图,xy轴为自己设定的向量
时间: 2024-02-11 18:08:57 浏览: 124
要将矩阵画成点状图,可以使用 Matlab 中的 scatter 函数。下面是一个示例代码,可以将矩阵 M 画成点状图,其中 x 轴和 y 轴的范围由向量 x 和向量 y 决定:
```matlab
M = rand(10, 10); % 随机生成一个 10x10 的矩阵
x = 1:10; % x 轴向量
y = 1:10; % y 轴向量
[x_grid, y_grid] = meshgrid(x, y); % 生成网格坐标
figure;
scatter(x_grid(:), y_grid(:), [], M(:), 'filled');
xlim([x(1)-1, x(end)+1]); % 设置 x 轴范围
ylim([y(1)-1, y(end)+1]); % 设置 y 轴范围
```
运行此代码,将会得到一个点状图,其中 M 矩阵的每个元素都用一个点表示,点的颜色由该元素的大小决定。x 轴和 y 轴的范围由向量 x 和向量 y 决定,可以根据需要自行调整。
相关问题
matlab将矩阵画成三维点状图,xy轴为自己设定的向量
可以使用 MATLAB 中的 `scatter3` 函数来绘制三维点状图。假设你有一个矩阵 `M`,其中每一行代表一个三维点的坐标,你可以按照以下方法绘制点状图:
1. 定义自己设定的向量 `x` 和 `y`,假设它们的长度都等于 `size(M, 1)`,即和矩阵 `M` 的行数相同。
```
x = [1 2 3 4 5];
y = [2 4 6 8 10];
```
2. 调用 `scatter3` 函数,将矩阵 `M` 中的每一行作为一个点的坐标,同时将向量 `x` 和 `y` 作为点的颜色和形状。
```
scatter3(M(:,1), M(:,2), M(:,3), [], x, 'filled', 'markerfacecolor', 'flat');
```
其中,`M(:,1)`、`M(:,2)` 和 `M(:,3)` 表示矩阵 `M` 中每一行的前三个元素,即三维点的坐标。`[]` 表示点的颜色和形状不受影响,`x` 表示点的颜色,'filled' 表示点的形状为实心圆,'markerfacecolor', 'flat' 表示点的颜色使用向量 `x` 中的值。
这样就可以将矩阵 `M` 绘制成一个三维点状图了。
matlab将矩阵画成三维点状图,xy轴为自己设定的向量怎么写
可以使用 MATLAB 中的 `scatter3` 函数来绘制三维点状图,并通过自定义颜色来表示 xy 轴的数值。假设你有一个矩阵 `M`,其中每一行代表一个三维点的坐标,你可以按照以下方法绘制点状图:
1. 定义自己设定的向量 `x` 和 `y`,假设它们的长度都等于 `size(M, 1)`,即和矩阵 `M` 的行数相同。同时定义 xy 轴的颜色映射,比如使用 `jet` 颜色映射。
```
x = [1 2 3 4 5];
y = [2 4 6 8 10];
cmap = jet(length(x)); % 使用 jet 颜色映射
```
2. 调用 `scatter3` 函数,将矩阵 `M` 中的每一行作为一个点的坐标,同时将向量 `x` 和 `y` 作为点的颜色和形状。
```
scatter3(M(:,1), M(:,2), M(:,3), [], cmap(x,:), 'filled', 'markerfacecolor', 'flat');
```
其中,`M(:,1)`、`M(:,2)` 和 `M(:,3)` 表示矩阵 `M` 中每一行的前三个元素,即三维点的坐标。`[]` 表示点的颜色不受影响,`cmap(x,:)` 表示点的颜色使用自定义的颜色映射,其中 `x` 为向量 `x` 中的值,`'filled'` 表示点的形状为实心圆,`'markerfacecolor', 'flat'` 表示点的颜色采用单一颜色。
这样就可以将矩阵 `M` 绘制成一个三维点状图,并通过自定义颜色来表示 xy 轴的数值了。
阅读全文