following is a part of the code I am writing,
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);
But I am not able to plot the data, the error is as follows
??? 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 and y have the same dimensions as k31...but still it is showing such an error
You are feeding scatter
with 4 arguments: scatter(X, Y, S, C)
. Your error states:
C
must be a single color, a vector the same length asX
, or an M-by-3 matrix.
meaning that the fourth argument g1
does not have the same dimensions as the first argument.
What probably happened here is that you didn't re-initialize g1
before the loop, and so it retained its previous size. Put the following line before the for
-loop:
g1 = zeros(size(k31));
and it should work.
来源:https://stackoverflow.com/questions/13291553/how-to-solve-scatterplot-error-in-matlab