MATLAB:我的for循环没有在每次迭代的散点图中保留数据

xtfmy6hx  于 7个月前  发布在  Matlab
关注(0)|答案(1)|浏览(80)

我所有的代码都可以工作,但是由于某些原因,当它迭代时,它不会存储在每次试验中找到的数据。我已经多次遍历它,我可以看到它慢慢地一个接一个地添加每次试验的数据,但是最终的散点图只有最后一次试验。我知道这与存储数据或散点图的位置有关,但是我对malab不是很好。

for trial = 1:50
        trial_start = (trial-1) * trial_duration;
        window_start = trial_start - time_before_trial_start;
        window_end = trial_start + trial_duration + time_after_trial_end;

        % times for current trial
        trial_event_times = event_times(event_times >= window_start & event_times <= window_end);

        trial_numbers = trial * ones(size(trial_event_times));
        

        % raster plot for current trial
        scatter(trial_event_times, trial);
        
        % x and y axis
        xlim([-0.5, 1.5]);
        ylim([0, 50]);
        xlabel('Time (s)');
        ylabel('Trial');
        title(['Raster Plot for (' signal_title ')']);
        

    end

字符串

ut6juiuv

ut6juiuv1#

在每个散点图之前保持在当前图形内,然后在for循环之后保持轴关闭。

for trial = 1:50
      trial_start = (trial-1) * trial_duration;
      window_start = trial_start - time_before_trial_start;
      window_end = trial_start + trial_duration + time_after_trial_end;

      % times for current trial
      trial_event_times = event_times(event_times >= ...
        window_start &   event_times <= window_end);

      trial_numbers = trial * ones(size(trial_event_times));
    
      % raster plot for current trial
      hold on
      scatter(trial_event_times, trial);
    
      % x and y axis
      xlim([-0.5, 1.5]);
      ylim([0, 50]);
      xlabel('Time (s)');
      ylabel('Trial');
      title(['Raster Plot for (' signal_title ')']);
    
    end

    hold off % don't forget

字符串

相关问题