【问题标题】:How to draw a surface in matlab by using three vectors? [duplicate]如何使用三个向量在matlab中绘制一个曲面? [复制]
【发布时间】:2016-09-29 15:53:03
【问题描述】:

我有三个向量:

a (1500 x 1)
b (1500 x 1)
c (1500 x 1)

当我使用surf(a, b, c) 时,会出现以下错误:

使用 surf 时出错(第 57 行)

Z 必须是矩阵,而不是标量或向量。

我必须为这三个向量绘制表面。我该怎么做?

【问题讨论】:

  • 错误信息清楚地说明了问题所在。在您的情况下,c 是一个向量。它应该是一个矩阵!

标签: matlab


【解决方案1】:

不清楚您如何尝试绘制表面:如果您的意思是a 是第一个维度(1500*1)b - 第二个(1500*1),所以第三个维度必须是(1500*1500) - 值网格的每个点a*b

解决方案:你必须形成1500*1500大小的其中1个:

a = 1:1500;
b = 1:1500;
c = ones(1500);
surf(a,b,c);

【讨论】:

    猜你喜欢
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    相关资源
    最近更新 更多