-1

以下は私が書いているコードの一部です、

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

1 に答える 1

1

scatterあなたは4つの引数を与えています: scatter(X, Y, S, C)。エラー状態:

C単色、と同じ長さのベクトルX、またはM行3列の行列である必要があります。

つまり、4番目の引数g1は最初の引数と同じ次元ではありません。

ここでおそらく起こったことはg1、ループの前に再初期化していないため、以前のサイズを保持していることです。for-loopの前に次の行を置きます。

g1 = zeros(size(k31));

そしてそれは動作するはずです。

于 2012-11-08T15:23:13.270 に答える