admin 管理员组文章数量: 1184232
2024年4月30日发(作者:ascii码10对应什么字符)
高二(12)班 廖晨(组长) 李博昱 戚子健 王柏文
VBA程序源代码
'###########################################
'# 北师大实验中学----研究性学习 #
'# 研究成绩波动规律的拟合程序 #
'# Module1主模块部分 #
'# 李博昱编译 #
'# 2007年5月-6月 #
'###########################################
'加 ' 的文字均为本程序的注释
(1)常量的设定
'1、常量e,表示自然对数底
'2、num,表示参与拟合的考试次数,这里取前7次考试成绩
'3、cen,三角拟合时,角度所乘系数中心值,详见原理介绍
'4、le,三角拟合精度,详见原理介绍
'5、un,三角拟合角度系数的偏离值,详见原理介绍
'6、StuNumber,学生容量,这里取2008届高二年级组学生总人数
Public Const e = 2.71
Public Const num = 7
Public Const le = 100
Public Const cen = 1
Public Const un = 0.99
Public Const StuNumber = 534
(2)辅助函数的介绍
'本部分共计运用辅助函数5个,
'每个辅助函数的功能均在其上方注释,
'函数内部的运算原理见代码区内部
'1、StuMark,获取学生成绩
'参变量:
'StuNum,整型变量,表示学生代号
'ExamNum:整型变量,表示考试代号,取值为1-7
'SubNum:整型变量,表示科目代号,取值为1-5
Public Function StuMark(StuNum As Integer, ExamNum As Integer, SubNum As Integer) As
Double
'Select结构对ExamNum进行讨论
Select Case ExamNum
2007-6 第 1 页 共 8 页
高二(12)班 廖晨(组长) 李博昱 戚子健 王柏文
Case 1
StuMark = (StuNum + 1, SubNum + 8)
Case 2
StuMark = (StuNum + 1, SubNum + 8)
Case 3
StuMark = (StuNum + 1, SubNum + 8)
Case 4
StuMark = (StuNum + 1, SubNum + 8)
Case 5
StuMark = (StuNum + 1, SubNum + 8)
Case 6
StuMark = (StuNum + 1, SubNum + 8)
Case 7
StuMark = (StuNum + 1, SubNum + 8)
Case 8
StuMark = (StuNum + 1, SubNum + 8)
End Select
End Function
'2、FitFunc,代表拟合函数的形式,由此和真实值进行线性拟合,详见原理部分
'参变量:
'k:角度系数值,详见原理部分
'j:学生代号
Function FitFunc(k, j) As Double
Dim X
X = (3, j) / k
FitFunc = Tan(X)
End Function
'3、FindFit,线性拟合函数
'变量
'xx:x的离均差平方和
'xy:x,y的离均差的成绩之和
'avx,x的均值
'avy,y的均值
'StuNum,整型变量,同前
'SubNum,同前
Function FindFit(xx, xy, avx, avy, StuNum As Integer, SubNum As Integer)
Dim b
b = xy / xx '由此式确定线性拟合中x的一次项系数
(StuNum + 1, 2 * SubNum) = b
(StuNum + 1, 2 * SubNum + 1) = avy - b * abx
FindFit = 0
End Function
2007-6 第 2 页 共 8 页
版权声明:本文标题:VBA程序源代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1714442984a680345.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论