在TCHAT应用中遇到的问题(100分)

  • 主题发起人 主题发起人 rentuoma
  • 开始时间 开始时间
R

rentuoma

Unregistered / Unconfirmed
GUEST, unregistred user!
我已经可以用TCHAT显示OOK格式的数据图形,现在想要分析上面的数据,就是说要套用公式,在EDIT上显示结果。
图形是个波形图,X轴为时间,Y轴为振幅。
例如要求出振幅的平均值来,要怎么编程?
很简单吧,各位大虾,知道的就请快来分银子吧,小弟不胜感激~~~~~~~~~~~~
 
將這些數據放在一個數組中,然後計算均值,等其他統計數據,各自有各自的公式,計算好每個點的縱坐標,再根據橫坐標畫出曲線
 
研究一下Tchart中数据和图形的关系你会明白些
 

procedure TForm1.BitBtn4Click(Sender: TObject);
var
z1,z2,z3,z4,z5:double;
i,j:word;
Data:array[0..MaxPointNum-1] of single;
f:file of single;
begin
BitBtn4.Enabled:=false;
//读取文件
{$I-}
Assignfile(f,FileNames);
FileMode := 0;
Reset(f);
j:=0;
while not Eof(F)do
begin
read(f,data[j]);
j:=j+1;
if j=maxpointNum then
break;
end;
closefile(f);
{$I+}
for j:=0 to 1023do
begin
z3:=1 div 1024 *( sum(data[j]));
Edit5.Text := FloatToStr(z3);
end;
end;
试着做了做,现在提示有一处错误,在倒数第四行,说不匹配,要怎么转换?
这样编的程序,是否可以求出平均值了呢?
 
应该说上面的程序还是在读取数据文件里的数据,要想直接从TCHAT图中读取数据,并计算平均值,要怎么做呢?
 
chart1.Series[N].YValue
取得第N个Serie的第I点的值
 
显示单一一个值,我还是会的;
但要怎么计算呢?
 
每个点的值都能得到,那还不能求平均值?是不是我理解错了?
 
迷糊,请看一下这个程序:
procedure TForm1.BitBtn4Click(Sender: TObject);
var
j:word;
z3,y:double;
begin
for j:=0 to 1023do
begin
z3:=1 div 1024 *sum(chart1.Series[1].YValue[j]);
edit5.text:=floattostr(z3) ;
end;
end;
这样的思路对吗?上面的程序在运行中,还是有个错误的。
你刚说的提醒了我,不是你理解错了。
PS:我还只是个菜鸟~~~~~~~~~~
 
如果是求平均值的话应该是这样吧
procedure TForm1.BitBtn4Click(Sender: TObject);
var
j:word;
z3,y:double;
begin
z3:=0;
for j:=0 to 1023do
begin
z3:=z3+chart1.Series[1].YValue[j];
end;
y:=z3/1024
edit5.text:=floattostr(y) ;
end;
另外如果你的chart中的Serie只有一个的话应该是chart1.Series[0]
好运!
 
非常感谢迷糊对我的帮助,我已经做了出来。谢谢!
同时感谢wangzheking、jilonger二位。
 
后退
顶部