Foxtable(狐表)用户栏目专家坐堂 → 内部函数的调用


  共有2154人关注过本帖平板打印复制链接

主题:内部函数的调用

帅哥哟,离线,有人找我吗?
夏许多雪
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:109 积分:1178 威望:0 精华:0 注册:2018/2/25 13:54:00
内部函数的调用  发帖心情 Post By:2019/4/24 19:41:00 [只看该作者]

下面是一个自行编制的内部函数 Lex,其中的第一个参数代表数据表中满足条件的行数减一,第二个参数为各行相同的一个数据,后面的参数从为表中满足条件的各行中提取四列的数据顺序填入。由于行数(即第一 个参数)是不确定的,也就是说,函数的参数量是不确定的,
如:Output.Show(Functions.Execute("Lex",0,6,4,85,86,89))   计算结果为 84.4
Output.Show(Functions.Execute("Lex",1,6,4,85,86,89,2,96,99,98.5))计算结果为93.2
Output.Show(Functions.Execute("Lex",2,6,4,85,86,89,2,96,99,98.5,4,95.6,98.8,97))计算结果为97.2
上面举例为1、2、3行的情况下计算方式,但在不确定行数情况下请问怎么调用这个函数?

Dim i As Integer = args(0)
Dim d As Single = args(1)
Dim Lex As Single
Dim t() As List(of Single)
Dim l() As List(of Single)
Dim ttotal As Single = 0
Dim Ltotal As Single = 0
For k As Integer = 0 To i
ttotal = ttotal + args( 2 + 4 * k)
Ltotal = Ltotal + args( 2 + 4 * k) * 10^(0.1 * (args( 3 + 4 * k) + args( 4+ 4 * k) + args( 5 + 4 * k)) / 3)
Next
Lex = 10 * Math.log10(d / 5 * 10^( 0.1 * (10 * Math.log10(Ltotal / ttotal) + 10 * Math.log10(ttotal / 8))))
Return Format(Lex,"#0.0")






[此贴子已经被作者于2019/4/24 19:43:33编辑过]

 回到顶部