如何解决matlab中的散点图错误

时间:2012-11-08 15:01:12

标签: matlab matrix scatter

以下是我写的代码的一部分,

for ii=1:length(k31)

B   = [k31(ii);k32(ii)];

X=abs( pinv(A)*B);

g1(ii)=X(1,:);

g2(ii)=X(2,:);

g3(ii)=X(3,:);

end

scatter(x(1:end-1), y(1:end-1), 5, g1);

但我无法绘制数据,错误如下

??? Error using ==> scatter at 79

C must be a single color, a vector the same length as X, or an M-by-3 matrix.

x和y具有与k31相同的尺寸......但仍然显示出这样的错误

1 个答案:

答案 0 :(得分:1)

您正在向scatter提供4个参数:scatter(X, Y, S, C)。您的错误说明:

  

C必须是单一颜色,与X长度相同的矢量或M-by-3矩阵。

意味着第四个参数g1与第一个参数的维度不同。

这里可能发生的事情是你没有在循环之前重新初始化g1,因此它保留了以前的大小。将以下行放在for - 循环:

之前
g1 = zeros(size(k31));

它应该有用。