1

我有一个图像(mat 文件),可以将其作为 2D 矩阵 2*10095 访问。然后我对其进行线性代数处理,将其投影到法向量 N = [1,2,3] 的平面上,并得到 3D 矩阵 (x,y,z) 的值。

如何在 Matlab 中使用 plot3 绘制 3D 矩阵?plot3 接受三个参数 (x,y,z) 并且我的矩阵中的每一列都有这些参数 [x;y;z] 但是我怎样才能将所有 10095 列传递给 plot3 - 那不会显示图像“铺设”根据我在z轴上的计算?

当它是二维矩阵时,我用它来绘制图像:

plot(T2(1, :), T2(2, :), 'k.','MarkerSize', 1);
4

1 回答 1

0

如果在此配置中设置了数据:

底层(第一层)→x组件/值(:,:,1)

中间层(第二层)→y组件/值(:,:,2)

顶层(第三层)→z组件/值(:,:,3)

对于平滑/插值图,surf()可以交替使用该函数。

3D 散点图

%Random test data%
Matrix = zeros(2,10095,3);
Matrix(:,:,1) = randn(2,10095);
Matrix(:,:,2) = randn(2,10095);
Matrix(:,:,3) = randn(2,10095);

%Grabbing each x,y,z coordinate of the matrix%
X = Matrix(:,:,1);
Y = Matrix(:,:,2);
Z = Matrix(:,:,3);

plot3(X,Y,Z,'o','color','b');
grid;

使用 MATLAB 版本:R2019b

于 2020-09-25T23:37:46.510 回答