Здравствуйте, уважаемые участники форума! Помогите мне составить 3 массива.. В ниже прикрепленном файле наведен пример обработки данных. Все массивы я сделал.. кроме последних трех. (В ячейках O, P, Q). Ниже прилагаю код уже сделанного. Прошу только грамотно сделать те 3 массива, так как они сделаны в EXCEL.
Код:
//////////////////////////////////////////////////////////////////////
m:=trunc(3.3*log10(NumSamples)+1);
//delX:=(WavInfo.MaxAmplitude - WavInfo.MinAmplitude) / m;
delX:=((WavInfo.MaxAmplitude - WavInfo.MinAmplitude)/WavInfo.MaxAmplitude) / m;
//////////////////////////////////////////////////////////////////////
Gran[1]:=WavInfo.MinAmplitude/wavinfo.MaxAmplitude;
Form1.Memo3.Lines.Add('Gran[1] ' +FloatToStr(Gran[1]));
For i:=2 to m+1 do
begin
Gran[i]:=Gran[i-1]+delX;
Form1.Memo3.Lines.Add('Gran['+inttostr(i)+']' +FloatToStr(Gran[i]));
end;
//////////////////////////////////////////////////////////////////////
For i:=1 to m+1 do
begin
Ap.Cells[i,1]:=Gran[i];
ppp[i]:= Ap.Cells[i,3];
Form1.Memo3.Lines.Add('ppp['+inttostr(i)+']' +FloatToStr(ppp[i]));
end;
//////////////////////////////////////////////////////////////////////
for f:=1 to m do
begin
for I := 1 to NumSamples do
for J := 1 to WavInfo.WaveFormat.nChannels do
if Samp2[j,i]<Gran[f+1]
then Kol[f]:=Kol[f]+1 ;
Form1.Memo3.Lines.Add('Kol['+ inttostr(f) +']='+FloatToStr(Kol[f]));
end;
//////////////////////////////////////////////////////////////////////
Nj[1]:=(Kol[1]/delX/NumSamples);
Form1.Memo3.Lines.Add('Nj[1] ' +FloatToStr(Nj[1]));
for f:=2 to m do
begin
Nj[f]:=((Kol[f]-Kol[f-1])/delX/NumSamples);
Form1.Memo3.Lines.Add('Nj['+ inttostr(f) +']='+FloatToStr(Nj[f]));
end;
//////////////////////////////////////////////////////////////////////
pp[1]:= kol[1];
Form1.Memo3.Lines.Add('pp[1]='+FloatToStr(pp[1]));
for i:=2 to m do
begin
pp[i]:=(Kol[i]-Kol[i-1]);
Form1.Memo3.Lines.Add('pp['+ inttostr(i) +']='+FloatToStr(pp[i]));
end;
//////////////////////////////////////////////////////////////////////
for i:=1 to m do
begin
p[i]:=(ppp[i+1]-ppp[i])*NumSamples;
Form1.Memo3.Lines.Add('p['+ inttostr(i) +']='+FloatToStr(p[i]));
end;
//////////////////////////////////////////////////////////////////////
for i:=1 to m do
begin
pppp[i]:= sqr(PP[i]-p[i])/p[i];
Form1.Memo3.Lines.Add('pppp['+ inttostr(i) +']='+FloatToStr(pppp[i]));
end;
//////////////////////////////////////////////////////////////////
for i:=1 to m do
SUMM:=summ+ pppp[i];
Прошу, помогите мне, пожалуйста!
P.S Пример только для одного набора сэмплов, равен 2000 шт. Работать должно для любого файла так, как происходит это с массивами, которые я уже сделал.
И еще вложу книгу, там на 4 ст. красивее написано, чем на рисунках.