【分享】压箱底的分享一个简单点的。

已锁定

zhangli0

西门子1847工业学习平台

  • 帖子

    17131
  • 精华

    63
  • 被关注

    888

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

【分享】压箱底的分享一个简单点的。

1449

2

2015-12-29 17:00:38

FUNCTION FC10 : INT

TITLE ='scl语言回归方法求函数y=m*x+b的系数m和b';

VAR_TEMP 

       

   temp_ar1:DWORD;

   temp_ar2:DWORD;

   ar1data1:DWORD;

   ar1data2:DWORD;

   db_id:WORD;

   xsum:REAL;

   ysum:REAL;

   xsums:REAL;

   ysums:REAL;

   xysum:REAL;

   lxx:REAL;

   lyy:REAL;

   lxy:REAL;

   xrng:ARRAY[1..40] OF REAL;

   yrng:ARRAY[1..40] OF REAL;

   count1:INT;

   count2:INT;

   i:INT;

   m:REAL;

   b:REAL;

END_VAR

   count1:=12;

   count2:=172;


FOR i:=1 TO 40 DO

xrng[i]:=DWORD_TO_REAL(db1.dd[count1]);

yrng[i]:=DWORD_TO_REAL(db1.dd[count2]);

count1:=count1+4;

count2:=count2+4;

END_FOR;


xsum:=0.0;

ysum:=0.0;

xsums:=0.0;

ysums:=0.0;

xysum:=0.0;

lxx:=0.0;

lyy:=0.0;

lxy:=0.0;

FOR i:=1 TO 40 do

xsum:=xsum+xrng[i];

ysum:=ysum+yrng[i];

xsums:=xsums+SQR(xrng[i]);

ysums:=ysums+SQR(yrng[i]);

xysum:=xysum+xrng[i]*yrng[i];

END_FOR;

lxx:=xsums - SQR(xsum)/40.0;

lyy:=ysums - SQR(ysum)/40.0;

lxy:=xysum - xsum*ysum/40.0;

m:=lxy/lxx;

b:=ysum/40.0-m*xsum/40.0;

//DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(1)).dd[0]):=m;

//DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(1)).dd[4]):=b;

  db1.dd0:=REAL_TO_DWORD(m);

  db1.dd4:=REAL_TO_DWORD(b);

    // Statement Section

    FC10 := 100;

END_FUNCTION


【分享】压箱底的分享一个简单点的。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。