2016-12-10 9 views
1

나는 문제가 있으며 도움을 얻을 수 있기를 바랍니다. 이것은 내 예제 코드입니다. 내 알고리즘의 유일한 부분. 상상력, 포인트가 움직이는 방식, 방정식 동안, 나는 2 개의 변수와 포인트로 함수의 윤곽을 보여줄 필요가있다. 내가 포물선 함수보다 더 어려운 기능을 갖게되면, 방정식은 내가 필요로하는 것보다 너무 길다. 이런 이유로 나는 루프 앞에서 등고선 그리기를 움직인다. 그러나 나는 문제가있다. 난 항상 countour를 보여줄 필요가 있고 i-loop와 솔루션은 나에게 도움이되지 않습니다. 제발 도와주세요!MATLAB - 루프 이후에 다른 플롯에 플롯을 추가하면보다 정교하게

[R S] = meshgrid(-5:0.1:5, -5:0.1:5); 

figure 
contour(R, S, R.^2 + S.^2, 5); 
axis([-5,5,-5,5]) 
axis square 
hold on 

for i=1:50 
    a = 0; 
    b = 1:2 
    B = repmat(b,5,1) 
    A = unifrnd(a,B) 
    x = A(1:5,1); 
    y = A(1:5,2); 

    scatter(x,y,'fill') 
    hold off 
    pause(0.5) 
end 

답변

0

당신은 당신의 scatter 음모에 핸들을 저장하고 단순히 오히려 때마다

[R S] = meshgrid(-5:0.1:5, -5:0.1:5); 

figure 
contour(R, S, R.^2 + S.^2, 5); 
axis([-5,5,-5,5]) 
axis square 
hold on 

% Create a scatter plot and store the graphics handle so we can update later 
hscatter = scatter(NaN, NaN, 'fill'); 

for i=1:50 
    a = 0; 
    b = 1:2 
    B = repmat(b,5,1) 
    A = unifrnd(a,B) 
    x = A(1:5,1); 
    y = A(1:5,2); 

    % Update the X and Y positions of the scatter plot 
    set(hscatter, 'XData', x, 'YData', y); 

    pause(0.5) 
end 
+0

감사 플롯을 객체 파괴보다는 그것의 XDataYData 속성을 업데이트해야합니다, 그것은 좋은 하루 되세요 :) 작동 –