2016-04-26 11 views
0

10分をプロットする必要があります。波形の平均。だから私は、MATLABに以下のコードを書かれている:明確な間隔の平均をプロットするときの時間を(1:間隔* 3600秒)から維持する方法

time= 1:54000   % sec. 
ARC_A1= ones(54000,1) % each row is associated with each of above seconds in order 

intervals= 54000/(10*60) % No. of 10min. intervals in 14hr.*3600=50400sec. 
k=1; 
for n=1:intervals 
    for (i=1+600*(n-1):600*n) 
     sum_ARC_A1(i)= sum(ARC_A1(1+600*(n-1):600*n)) ; 
    end 
    ave_ARC_A1(i)= sum_ARC_A1(i)/600; 
    ARC_A1_ave(k)= ave_ARC_A1(i) 
    t_ARC(k,length(1+600*(n-1):600*n))= 1+600*(n-1):600*n;  ##1 
    k= k+1 
end 

t_ARC 
plot(t_ARC, ARC_A1_ave)          ##2 

は、どのように私は以下の何か似プロットを持っているすべての間隔すなわち54000secの完全な時間をかけて「ARC_A1_ave」をプロットすることができるように修正## 1を持つことができます:

(ARC_A1_aveをプロットする際に54000secする0からx軸の時間、この図のように維持する必要があります。。)

To achieve alike this Fig. for ARC_A1_ave

答えて

0

たちはに波形を保存していると仮定3210マトリックスDataは、[time voltage]と知られている。定数サンプルレートspm(サンプル/分)。

[M,N]=size(Data);  % read the size of the Data 
ii=1;     % counter 
StepSize=10*spm  % index increment 

while ii<Data-StepSize % loop untill end of Data 
%% Calculate mean value within ii and ii+StepSize (10 minutes) and assign it to 3rd column. 
    Data(ii:ii+StepSize,3)=mean(Data(ii:ii+StepSize,2)); 
    ii=ii+StepSize;  % Step for another 10minutes interval 
end 

plot(Data(:,1),Data(:,2),'b:'); 
hold on 
plot(Data(:,1),Data(:,3),'b'); 
hold off 
+0

このコードを私のコードに適用してください。 – Hans

+0

第1列はあなたの 'time'、2列目は' ARC_A1'、3列目は 'ARC_A1_ave'です。 'spm = 60'。 – Crowley

関連する問題