MATLAB surf meshgrid 问题 - 2 个向量 1 个矩阵 - 曲面图

Posted

技术标签:

【中文标题】MATLAB surf meshgrid 问题 - 2 个向量 1 个矩阵 - 曲面图【英文标题】:MATLAB surf meshgrid issue - 2 vectors 1 matrix - surface plot 【发布时间】:2014-02-25 08:15:10 【问题描述】:

我有 2 个向量和一个矩阵,我想制作一个曲面图。

    第一个向量A,距离向量A=1:1:100(大小1100); 秒向量B,时间向量B=1:1:10(大小10); 矩阵C,每一列都有B的每个值的数据(大小100 10)

如何使用 meshgrid 和/或 surf 函数获取表面 3D 图?

【问题讨论】:

【参考方案1】:
[AA, BB] = ndgrid(A,B);
surf(BB,AA,C)

或者使用允许两个向量作为其两个第一个输入的surf 版本:

surf(B,A,C)

对于您的特定向量 ([1 2 ...]) 可以简化为单输入版本

surf(C)

【讨论】:

非常感谢!工作正常!如果您还知道如何填充颜色或投影,那么侧壁将是完美的! AL所以,在我的程序中,在 B 的第 10 个值之后,B 作为 C 增加它们的大小(B 大小 11、12、13 .. 和 C 大小 100 11、100 12、100 13 .. . ).请问,是否可以使用相同的函数 ndgrid 在第 10 个值之后绘制曲面图?以及如何? @user1640255 至于彩色投影:我不知道如何;它不在最初的问题中。对于增加的尺寸,您不能使用相同的方法吗? 我会试试的。我的程序有 2 个部分。第一部分是直到时间向量取值 10。之后 A 和 C 一起增加它们的大小。因此,对于 B=1:1:12(尺寸 12),我有 A=1:1:102(尺寸 1 102)和 C(尺寸 102 12)。有点棘手...... 对不起,我弄糊涂了。大小是一样的。发生的情况是 C 仅填充 100 个值中的 50%,其余填充为零。在第 10 个时间向量值之后,C 变为 55%、60% 等。SO, A=1:1:100 (size 1100) 2. B=1:1:12 (size 12) 3. 矩阵 C ,(尺寸 100 12)。我现在很困惑。

以上是关于MATLAB surf meshgrid 问题 - 2 个向量 1 个矩阵 - 曲面图的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab画一个动态图?

matlab中mesh和surf有啥区别

Matlab中mesh和surf的区别

matlab常用命令

matlab中三维图形的颜色怎么设置?

MATLAB中用mesh函数画出三维图后,怎么添加一个Z=0的平面?