用Excel.VBA计算花生密度.产量回归曲线方程.docVIP

用Excel.VBA计算花生密度.产量回归曲线方程.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Excel-VBA计算花生密度-产量回归曲线方程 摘要 介绍用Excel VBA编写密度与花生产量关系方程的程序。该程序通过在Excel表上用鼠标框选密度和产量数据,就可计算出回归系数和相关系数,对回归方程进行方差分析,求出最佳密度和最佳产量,绘制出花生种植密度与产量的关系曲线图。并制作成加载宏,添加到Excel主菜单上,为以后进行类似统计分析提供方便。 关键词 密度;花生产量;Excel VBA;加载宏 众所周知Excel是非常方便快捷的电子表格办公软件,作为微软办公系统被安装到决大多数电脑中,成为自动化办公不可缺少的一个工具。对于Excel来说几乎是家喻户晓,但人们对Excel-VBA了解并不普遍。VBA是Visual Basic for Application的缩写,是集成在Office产品中的开发语言和开发环境。掌握VBA可以使办公效率变得更快。特别在统计分析方面,VBA显得更为重要。虽然市场上有很多统计分析软件,但都缺少专业化和个性化设计。所以掌握VBA,编写自己专业需要的应用程序,提高工作效率,非常实用。 本文用VBA建立花生密度-产量回归曲线方程,并计算最佳密度和最佳产量。 创建程序启动界面 图1 启动Visual Basic 编辑器界面 作者简介:吴占鹏,副研究员,电话信箱:wzp1231999@126.com,通信地址:辽宁省阜新市细河区中华路东段55号,邮编:123000。本文发表在《海峡两岸花生学术研讨会论文集》,2009年,418-423页。 打开Excel,选择工具-宏-Visual Basic 编辑器(如图1)。打开VBA窗口(如图2)。单击插入-用户窗体,插入窗体。再给窗体添加一个RefEdit控件、一个标签控件和两个命令按钮控件。接着更改窗体Caption的属性值为“密度-产量回归方程”,更改第一个命令按钮Caption的属性值为“确定”,第二个命令按钮的Caption属性值为“取消”,更改标签的Caption属性值为“输入数据地址”,更改RefEdit1的TabIndex属性值改为0 (如图3)。 图2 插入窗体界面 图3 生成数据读取对话框 输入程序 然后双击确定按钮,打开脚本输入窗体(如图4),在光标处插入代码: Dim ss As String Dim x1() , y1() As Single Dim q, w, t, s, p, r2, a, b, r As Single Dim ke, ka, sta1, end1, k, i , kuan, gao, ting, zuo, kk, jj, max, stp As Integer ss = RefEdit1.Value : q = 0 : w = 0 : t = 0 : s = 0 : p = 0 : r2 = 0 ka = Range(ss).Column : sta1 = Range(ss).Row k = Range(ss).Rows.Count:end1 = k + sta1 – 1 ReDim x1(sta1 To end1) ReDim y1(sta1 To end1) max = Cells(end1, ka) For i = sta1 To end1 x1(i) = Cells(i, ka) * Cells(i, ka) y1(i) = Cells(i, ka) / Cells(i, ka + 1) Next For i = sta1 To end1 q = q + x1(i) : w = w + x1(i) * x1(i) : s = s + y1(i) t = t + y1(i) * y1(i) : p = p + x1(i) * y1(i) Next b = (p - s * q / k) / (w - q * q / k) : a = s / k - b * q / k r = (p - s * q / k) / Sqr((w - q * q / k) * (t - s * s / k)) Cells(2 + end1, ka) = a= Cells(2 + end1, ka + 1) = a Cells(3 + end1, ka) = b= Cells(3 + end1, ka + 1) = b Cells(4 + end1, ka) = r= Cells(4 + end1, ka + 1) = r Range(Chr(ka + 64) 2 + end1 : Chr(ka + 64) 7 + end1).HorizontalA

您可能关注的文档

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档