- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
VisualBasic程序设计
课程设计报告
设计题目直线拟合题目难度四星级姓名蒋龙鑫
学号9141010F0309
指导教师申屠德忠提交日期4月15号
I
I
目录
一、题目描述与功能要求1
二、程序设计1
(一)计算模型或算法实行1
(二)模块设计(窗体界面与代码)2
窗体1的设计 3
窗体2的设计7
窗体3的设计1.2
三、算例演示1.4
四、参考文献1.5
五、课程设计总结1.5
一、题目描述与功能要求
1题目描述
本题目重要是用于将实验中得到的具有线性特征的一组数据通过最小二乘
法拟合成直线,求出其直线方程和绘制出该直线的图形。
法拟合成直线,求出其直线方程和绘制出该直线的图形。也就是寻找一条直线使这些离散的点尽可能平均的位于该直线的两边,它对于寻找数据的规律有很大的帮助,是一个比较实用的程序。
2功能要求:
运行程序中,首先显示如下图窗体1的“直线拟合”窗口,从中选择要拟合数据的组数。单击“确定”按钮进入“数据输入”窗口。
“数据输入”窗口中有10对文本框,用于输入最多10组实验数据。根
据在“直线拟合”窗口的选择不同,这10对文本框只有指定数目的文本框可用。输入指定的数据,然后单击“确定”按钮。如果数据未完全输入,则显示错误提示的消息框。
如果数据输入正确,在“数据输入”窗口中单击“确定”按钮之后,程序进入“直线参数与图形”窗口,在此窗口中,程序根据输入的数据自动计算拟合直线方程的参数,并将系数和方程显示在窗口顶部。在窗口的绘图区绘制直线图形。
二、程序设计
(一)计算模型或算法实行
假设实验中得到
假设实验中得到n个点,P1(X1,Y1),P2(X2,Y2),,Pn(Xn,Yn),用i表示第i个点.由于各种误差的存在,这些数据点不可能完全在一条直线上。如果我们能找到一条直线,使这n个点到该直线的距离之平方和最小,则该直线就是用最小二乘法拟合出来的直线。设拟合的直线方程为F(X)=Y=bX+a,由于拟合出来的直线斜率是固定的,我们可以用每一个数据点与
直线在Y方向上的“残差”来定义,即残差ΔYi=F(Xi-)Yi,可得:
Σ(ΔYi)^2=Σ(F(Xi)-Yi)^2=Σ(bXi+a-Yi)^2
根据最小二乘法原理,Σ(bXi+a-Yi)^2取极小值时,即为残差最小,这时确定的直线即为拟合的直线。上式是一个二元函数求极值的问题,可分别对自变量a与b求偏导数,可易得: na+bΣXi=ΣYi
aΣXi+bΣ(Xi)^2=Σ(XiYi)
从而得到公式:
1
1
PAGE
PAGE10
由上公式可知,我们可用n个点的坐标确定直线方程的系数a与b,得到方程并将方程拟合出来.
本题目的程序设计由三个窗体组成。
在Form1中,有1个框架控件、1个标签控件、2个命令按钮和1个由6个单选按钮组成的控件数组。单选按钮控件数组用来选择要输入的数据组数,当选择好后,单击“确定”按钮,就可以进入下一个窗体。单击“取消”按钮则退出程序
Form1的代码见附件。
在Form2中有2个命令按钮、20个文本框(每10个组成一个控件数组)、12个标签控件和许多直线组成。在文本框中输入实验数据后,点击“确定”按钮,若数据没有全部输入,则出现消息框,提醒没有完全输入。若已经完全输入,则显示Form3,隐藏Form2。与此同时,对实验数据计算,得出拟合直线的截距和斜率,并在Form3的标签控件1中体现;根据所得的斜率和截距得到拟合直线方程,并在Form3的标签2中体现;还可以在Form3中绘出拟合直线和每个实验点(用绿色),根据实验数据调整坐标系统,画出拟合直线。
Form2的代码见附件。
(二)模块设计(窗体界面与代码)
本题目的程序设计由3个模块组成,其中窗体模块3个。
序号
模块名称
模块类型
模块功能
1
Form1
窗体模块
选择要输入的数据组数,当选择好后,单击“确定”按钮,就可以进入下一个窗体;单击“取消”按钮则退出程序
2
Form2
窗体模块
输入实验数据后,对实验数据计算,得出拟合直线的截距和斜率,根据所得的斜率和截距得到拟合直线方程。
3
Form3
窗体模块
根据实验数据调整坐标系统,画出拟合直线。
窗体1的设计
表1窗体1中控件列表
序号
控件名称
控件类型
Left
Top
Width
Height
Caption
1
Label1
标签控件
1440
120
2055
375
直线拟合程序
2
Frame1
框架控件
480
600
3855
1455
请选择数据组数
3
Option1
单选框控件
360
360
975
255
5组
4
O
文档评论(0)