2
我寫了一段代碼來創建移動點的電影。我使用散射使點成色(點的顏色取決於點的面積密度)。 x和y點的位置,我已經把下面的代碼放在一個for循環傳遞時間:Scatter無法正常工作Matlab
figure(h1); % set figure 1 as current figure
cla
dens = zeros(size(x));
% Tolerence is distance betweeen points (squared)
tol = 1;
for ii = 1:numel(x)
% Loop through all points, count neighbours within tolerence
dens(ii) = sum((x - x(ii)).^2 + (y - y(ii)).^2 < tol);
end
% Normalise density onto range 0-1
dens = (dens/max(dens));
hold on
scatter(x,y, [], dens,'filled','d')
drawnow
currFrame = getframe;
writeVideo(vidObj,currFrame);
當我運行代碼,創建電影,但所有的點是綠色的。誰能猜到是什麼原因以及如何解決它?
第四個參數應該是'double'的3列矩陣,其中每行是一個RGB元組,每個元素都是[0,1]'。這對你的'dens'數組是一樣的嗎? – rayryeng
我嘗試這個,但它沒有改變任何東西:figure(h1); cla dens = zeros(size(x)); (平方) tol = 1; (ii)= sum((x - x(ii))。^ 2 +(y - y(ii))對於ii = 1: 對於ii = 1: 。^ 2
將tol更改爲100 @EBH –