以下是我写的代码的一部分,
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相同的尺寸......但仍然显示出这样的错误
答案 0 :(得分:1)
您正在向scatter
提供4个参数:scatter(X, Y, S, C)
。您的错误说明:
C
必须是单一颜色,与X
长度相同的矢量或M-by-3矩阵。
意味着第四个参数g1
与第一个参数的维度不同。
这里可能发生的事情是你没有在循环之前重新初始化g1
,因此它保留了以前的大小。将以下行放在for
- 循环:
g1 = zeros(size(k31));
它应该有用。