【问题标题】:3D Surface plot for a function P(X,Y,Z)函数 P(X,Y,Z) 的 3D 曲面图
【发布时间】:2017-08-25 07:51:42
【问题描述】:

我有一个表格的矩阵

X, Y, Z, P   
1, 2, 3, 2
5, 3, 5, 2
1, 2, 4, 5

等等……

它基本上表示 X,Y,Z 中的一个表面,其中 P(X,Y,Z) 是其上的压力分布。我希望在 MATLAB 中创建它的 3D 曲面图(或任何其他类型的图),但 MATLAB 通常需要一个 2X2 矩阵来表示 Z 值,其中 X 和 Y 由行和列表示,这意味着 Z(X, Y) 这与我需要在这里绘制的不同。

所以,我真的很困惑如何在 MATLAB 中继续使用 3D 表面函数,非常感谢我能得到的任何帮助。

提前致谢!

【问题讨论】:

  • 这篇文章对你有帮助吗? stackoverflow.com/questions/45353043/… 使用 Shahzad Muhammad Sarwar 所写的第一部分将您的矩阵重塑为 L3d x3d y3d 和 z3d。然后您可以将它们提供给 Matlab 函数,例如 slice
  • @Gelliant 我对那里使用的代码有点困难。 nx、ny、nz分别代表什么?另外,我想知道如何为我的案例选择相同变量的值。如果我理解正确,函数 slice 似乎是一个 2D 函数,它对 3D 体积进行切片,但我需要的是 3D 曲面图。
  • 这是 4D 数据,您要绘制 4 个通道。您想在 3D 空间 (X,Y,Z) 中绘制由 P 值着色的点吗?
  • @Wolfie 是的,这确实是我想要做的。

标签: matlab plot 3d surface


【解决方案1】:

可以使用scatter3函数的颜色参数

scatter3(X,Y,Z,[],P);

您没有足够的数据来使用曲面 (surf) 图,因为对于 X 和 Y 的每个组合,您都需要 Z 坐标。例如,可以使用meshgrid 获得这些X 和Y。

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 2011-11-02
    • 2018-05-13
    • 1970-01-01
    • 2019-10-21
    • 2015-12-04
    • 2015-12-19
    • 2011-04-28
    • 1970-01-01
    相关资源
    最近更新 更多