如何以单位时间间隔保存和绘制for循环中的数组?

How to save and plot array from for loop at unit time interval?

我想在每个单位时间间隔绘制一个变量。因此,在下面的示例中,我想在等于 1、2、3、4 和 5 的时间绘制 x(但不等于 1.25、1.5、1.75、2.25 等的时间)。例如,是否可以将 x 数组保存时间等于 1、2、3、4 和 5,然后绘制它与时间的关系(因此我们应该在同一张图中得到五个图形)?

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

是的,这是可能的。尝试类似的东西:

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