-2

2560 個のサンプル ポイントがあります。最初の 512 ポイント、次の 512 ポイントの平均分散歪度尖度を計算したいと思います。したがって、合計 5 セットの出力データです。グラフに mean 、 var 、 skew 、 kur の 5 セットの値をプロットしたいと思います。

2560点からなるエクセルのデータを読み込みました

x=xlsread('dta.xls');
i=1:512;
y=x(i)
m=mean(y);
v=var(y); 
i=513:1024;
y=x(i)
m=mean(y);
v=var(y);  
i=1025:1536
y=x(i)
m=mean(y);
v=var(y); 
plot(m)
plot(v)

このように私のコードは進んでいます。forループを使ってみたのですが、できませんでした。

4

2 に答える 2

1

次のようなことを試してください:

x = xlsread('dta.xls');
ns = length(x); % number of samples
bs = 512; % bin size
bc = floor(ns / bs);  % bin count
m = zeros(bc, 1); % array of means
v = zeros(bc, 1); % array of variances
for i = 1 : bc
  i1 = (i - 1) * bs + 1;
  i2 = i * bs;
  b = x(i1 : i2); % current bin
  m(i) = mean(b);
  v(i) = var(b);
end;
figure;
subplot(211); plot(m, '.-');
subplot(212); plot(v, '.-');

これが実際の例です。

于 2013-08-27T12:35:13.683 に答える