数据维度上的冲浪错误

时间:2014-05-23 20:07:05

标签: matlab figure

我以为我已经构建了一个没有错误的代码,但似乎没有,而且我很困惑为什么。我的矩阵A,B和C包含64x64矩阵中的值(可能会根据运行改变大小,但它们在一次运行中都具有相同的常量)。

s = size(A)

figure(1)
set(gcf, 'renderer', 'zbuffer');
quiver(1:s(2),1:s(1),A,B);
hold on;
pcolor(1:s(2),1:s(1),C);

figure(2)
surf(s(2),s(1),A);

figure(3)
surf(s(2),s(1),B);

figure(4)
surf(s(2),s(1),C);

它说

Error using surf (line 78)
Data dimensions must agree

我尝试使用size(A)进行验证,它是64x64,s(1)= 64,s(2)= 64。

我在s(1)之前放置了s(2),因为出于某种原因,surf将行维度应用于第三个参数的列(我对此非常困惑,但无论如何它都不是问题)。

如果你想在冲浪(X,Y,Z)描述中看到http://www.mathworks.com/help/matlab/ref/surf.html

1 个答案:

答案 0 :(得分:1)

对于surf(X,Y,Z) X和Y必须是向量,而不是像你的情况那样的标量。在你的情况下,你应该放置1x64向量而不是s(1)。

你确定,冲浪是你想要的吗?