在matlab

时间:2017-09-06 13:52:33

标签: matlab

我试图创建四个11乘11乘11(因为我们从0开始)称为X(对于X域),Y,Z和W的统一数组。空间域(X,Y,Z)应该来自0到100(假设为cm),因此均匀网格长度为10厘米(X),深度(Y)和高度(Z)。我还想生成一个像高斯exp(-x ^ 2-y ^ 2-z ^ 2))这样的函数,它分布在X,Y,Z域并存储在W中。我被困在如何生成4个数组我需要以及如何生成均匀网格。我曾尝试使用meshgrid,但我无法获得正确的表面图。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

您可以使用meshgrid生成自变量XYZ,如下所示:

[X, Y, Z] = meshgrid(0:10:100);

现在,您可以使用上述矩阵和element-wise array operations轻松计算因变量W。对于您的示例公式:

W = exp(X.^2+Y.^2+Z.^2);

请注意,.^ operator用于将矩阵的每个元素提升为幂。