Codesys—标准差运算FC块

功能:输入数组大小为50的浮点数数组,将输出对应数组的标准差和方差。

1.变量声明区代码如下:

FUNCTION fc_标准差 : BOOL
VAR_INPUT
    f输入数组:ARRAY[1..50] OF REAL;
END_VAR
VAR
    uiCount:ARRAY[1..5] OF UINT;
    f输入点之和:REAL;
    f输入点均值:REAL;
    f均值差平方:ARRAY[1..50] OF REAL;
    f均值差平方和:REAL;
END_VAR
VAR_OUTPUT
    f输出_方差:REAL;
    f输出_标准差:REAL;
END_VAR

2. 程序编辑区代码如下:

f输入点之和:=0;
FOR uiCount[1]:=1 TO 50 DO
    f输入点之和:=f输入点之和+f输入数组[uiCount[1]];
END_FOR
f输入点均值:=f输入点之和/50;

FOR uiCount[2]:=1 TO 50 DO
    f均值差平方[uiCount[2]]:=(f输入数组[uiCount[2]]-f输入点均值)*(f输入数组[uiCount[2]]-f输入点均值);
END_FOR

f均值差平方和:=0;
FOR uiCount[3]:=1 TO 50 DO
    f均值差平方和:=f均值差平方和+f均值差平方[uiCount[3]];
END_FOR
f输出_方差:=f均值差平方和/50;
f输出_标准差:=SQRT(f输出_方差);

 可根据需要调整数组的大小(需要同步更改声明区和程序区的代码)以适用于实际项目,数据类型也可改成其他数据类型。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值