使用MatLab在一个窗口中绘制3个实时图形?

时间:2014-10-08 08:04:08

标签: matlab graph plot

我绘制了两幅成功绘制实时数据的图表。我想用第3张图进行实验。
我在MatLab中这样做。 这是代码:

        fse = 220;
        fsa = 50;
        secBuffer = 10;
        accName = {'F/B'; 'U/D'; 'R/L'};
        accBuffer = zeros([fsa*secBuffer,numel(accName)]);
        final = eegBuffer*5;


        eegCounter = 0;
        plot1 = true;
         conf1 = true;

        if eegCounter == 44
        if plot1
         subplot(3,1,1);
         time = 0:1/fse:secBuffer-1/fse;
         h1 = plot(time,eegBuffer);
         legend(eegName, 'Location','EastOutside');
         xlabel('Time (s)')
         ylabel('Voltage (uV)')        

         subplot(3,1,2);
         time = 0:1/fsa:secBuffer-1/fsa;
         h2= plot(time,accBuffer);
         xlabel('Time (s)')
         ylabel('Acceleration (mG)')
         legend(h2, accName, 'Location','EastOutside');

         subplot(3,1,3);
         time = 0:1/fse:secBuffer-1/fse;
         h3 = plot(time,eegBuffer);
         xlabel('final');
         ylabel('time');
         %legend(h2, accName, 'Location','EastOutside');

         plot1 = false;

        else
         cell1 = (num2cell(eegBuffer,1))';
         set(h1,{'ydata'},cell1);
         cell2 = (num2cell(accBuffer,1))';
         set(h2,{'ydata'},cell2);
         cell3 = (num2cell(final,1))'; 
         set(h3,{'ydata'},cell3);
        end

final的值为eegBuffer*5 eegBuffer定义为eegBuffer = zeros([fse*secBuffer,numel(eegName)]);

由于第3图仅仅是第1图的幅度,因此与第1图相比应该是更具破坏性的图。然而,它显示一条直线,我无法判断它是否正在绘制第三张图的实时数据 感谢帮助

1 个答案:

答案 0 :(得分:2)

eegBuffer通过调用函数零来初始化,因此即使在乘以5(或任何数字)之后它仍然是一个零数组。