matlab中散点图误差的求解

matlab中散点图误差的求解,matlab,matrix,scatter,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 c

以下是我正在编写的代码的一部分

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相同……但它仍然显示出这样的错误

您正在输入4个参数:
scatter(x,y,S,C)
。您的错误状态为:

C
必须是单色、与
X
长度相同的向量或M-X-3矩阵

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

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

g1 = zeros(size(k31));

它应该能工作。

什么是
x
y
?您的问题是
x
y
的长度不正确,或者
k31
的长度不正确。请删除分散的
,5,g1
部分。首先检查它是否有效。@RohanChakrabarty,你用其他参数做什么?您需要点的可变颜色?g1大小为575139x1 X=3x1 X=99935x1 k31=99934x1。但我不明白g1为什么会有这样的问题dimensions@RohanChakrabarty这里有点不对劲。请将准确的输出发布到这些命令:
length(k31)
size(X)
(在循环内部),
size(A)
(在循环内部)和
size(g1)
(在循环内部)?xsize=3by1 Asize=2by3 g1size=575139g1随着15282….15282..15283..15283..15284..15284的增长,依此类推。而长度(k31)给出99934@RohanChakrabarty好啊我认为您只是没有正确初始化
g1
。请在**循环前面加上一行
g1=0(大小(k))
**并使用
scatter
,就像你在问题中通常使用的那样。