2017-05-02 5 views
0

각 단위 시간 간격마다 변수를 플롯하고자합니다. 아래 예제에서 나는 1, 2, 3, 4, 5와 같은 시간에 x를 구상하고 싶습니다 (그러나 1.25, 1.5, 1.75, 2.25 등등의 시간은 아닙니다). 예를 들어 1, 2, 3, 4, 5와 같은 시간 동안 x- 배열을 저장 한 다음이 시간을 플로팅 할 수 있습니까? (동일한 그림에서 5 개의 그래프를 얻으려고합니다)?단위 시간 간격으로 for 루프에서 배열을 저장하고 플로팅하는 방법은 무엇입니까?

dtime=0.25;   % time-step 
NTime=5/dtime;  % Number of time-steps 

dspace=0.5;   % Distance between each x-values 
NSpace=10/dspace; % Number of x-values at each time-steps 

x_old=ones(NSpace,1); 
for j=1:NTime 
for i=1:NSpace 
x(i,1)=x_old(i,1)*5; 
end 
x_old=x; 
end 

답변

1

예, 가능합니다. 다음과 같이 시도하십시오.

dtime=0.25;   % time-step 
NTime=5/dtime;  % Number of time-steps 

dspace=0.5;   % Distance between each x-values 
NSpace=10/dspace; % Number of x-values at each time-steps 

x_old=ones(NSpace,1); 
figure; %create a figure 
for j=1:NTime 
    for i=1:NSpace 
     x(i,1)=x_old(i,1)*5; 
    end 

    % logic to find right time and plot 
    current_time = j * dtime; 
    if ~isempty(find(current_time == [1,2,3,4,5])) 
     plot(1:dspace:NSpace, x) % you might have to change this depending on what you want to plot 
     hold on; 
    end 
x_old=x; 
end 
+0

완벽하게 작동합니다. 도와 줘서 고마워! – David

+0

안녕하세요. – qbzenker