Matlabでスパイラルを作成してプロットする次のコードがあります。色を制御し、matlab で色付けを行う代わりに、自分で 3 ~ 4 色を追加したいと考えています。自分で色を付けて、色を制御するにはどうすればよいですか? これが私のコードです:
N = 1000;
r = linspace(0,1,N);
t = (3*pi/2)*(1+2*r);
x(1,:) = t.*cos(t);
x(2,:) = t.*sin(t);
x(3,:) = zeros(1,N);
ms = 50;
%cm = colormap;
%cm(64,:);
figure;
scatter3(x(1,:), x(2,:), x(3,:), ms, t, 'filled');
何か助けてください。
@jucestain、着色作品、ありがとう。もう一つ質問があります。このように上記のコードにノイズを追加すると、結果は次のようにおかしいものになります
N = 1000;
r = linspace(0,1,N);
t = (3*pi/2)*(1+2*r);
x(1,:) = t.*cos(t);
x(2,:) = t.*sin(t);
x(3,:) = zeros(1,N);
% Set colors:
t(1:250) = 1;
t(251:500) = 2;
t(501:750) = 3;
t(751:1000) = 4;
ms = 50;
figure;
scatter3(x(1,:), x(2,:), x(3,:), ms, t, 'filled');
%add noise
x(1,:) = x(1,:) + 5*randn(1,N);
x(2,:) = x(2,:) + 5*randn(1,N);
x(3,:) = x(3,:) + 5*randn(1,N);
figure;
scatter3(x(1,:), x(2,:), x(3,:), ms, t, 'filled');
このプロットの結果は非常に不器用です。理由がわかりません。ノイズを正しく追加していますか、それとも何ですか? プロットは正しいですか?