VB计算程序课程设计报告
打印计算机vb设计课程实验报告1

计算机vb设计课程实验报告说明书题目:计算器、扫雷姓名:班级:指导老师:一.设计名称:基础用途计算器二.设计目的:通过vb程序设计出计算器进行一些简单运算和进制的转换。
三.计算器设计界面:四.设计步骤:1)新建一个工程2)设置控件:插入一个text1控件,font属性字号为“一号”,textAlign属性调成Right。
插入一个标签控件(Label1),设置标题属性为“进制”插入四个单选按钮,设置caption属性分别为2进制,8进制,10进制,16进制。
插入一个timer控件,将Interval属性设置为“100”添加一个command1控件数组数目为17,command1(0)至command1(9)caption属性分别设置为由0至9,command1(10)标题属性设置为“.”,command1(11)至command1(16)caption属性分别设置为A至F。
添加控件command2,caption属性为“=”添加command3控件数组数目为4,caption属性分别为“+”,“-”,“*”,“/”添加控件command4, command5, command6, command7设置标题属性分别为“CE”“SQR”“X^2”“1/X”添加部件Microsoft Windows Common Controls 6.0添加StatusBar部件,右键插入窗格,设置窗格宽度,文本。
3)编写程序代码:Dim a#, b#, x$, K%Private Sub Command1_Click(Index As Integer)Text1 = Text1 & Command1(Index).Caption End SubPrivate Sub Command2_Click()b = Val(Text1)Select Case x Case "+"M = a + b Case "-"M = a - b Case "*"M = a * b Case "/"If b <> 0 ThenM = a / bElseMsgBox "分母为0", "65", "警告"End IfEnd SelectText1 = MIf M < 1 And M > 0 Then Text1 = "0" & Text1If M > -1 And M < 0 Then Text1 = "-0" & Abs(V al(Text1))End SubPrivate Sub Command3_Click(Index As Integer)a = Val(Text1): Text1 = ""x = Command3(Index).CaptionEnd SubPrivate Sub Command4_Click()Text1 = ""End SubPrivate Sub Command5_Click()K = Val(Text1)Text1 = Sqr(K)End SubPrivate Sub Command6_Click()t = Val(Text1)Text1 = t ^ 2End SubPrivate Sub Command7_Click()I = Val(Text1)Text1 = 1 / IEnd SubPrivate Sub Form_Load()K = 10Option3.Value = TrueEnd SubPrivate Sub Option1_Click()For I = 0 To 1Command1(I).Enabled = TrueNextFor I = 2 To 16Command1(I).Enabled = FalseNextCommand1(10).Enabled = TrueM = Val(Text1) Select Case KCase 10Text1 = F102(Text1)Case 2S1 = Text1Case 16S2 = F1610(Text1)Text1 = F102(S2)Case 8S3 = F810(Text1)Text1 = F102(S3)End SelectK = 2End SubPrivate Sub Option2_Click() For I = 0 To 7Command1(I).Enabled = True NextFor I = 8 To 16Command1(I).Enabled = False NextCommand1(10).Enabled = True M = Val(Text1)Select Case KCase 10Text1 = Oct(M)Case 2S1 = F210(Text1)Text1 = Oct(S1)Case 16S2 = F1610(Text1)Text1 = Oct(S2)Case 8Text1 = MEnd SelectK = 8End SubPrivate Sub Option3_Click() For I = 0 To 10Command1(I).Enabled = True NextFor I = 11 To 16Command1(I).Enabled = False NextM = Val(Text1)Select Case KCase 10Text1 = MCase 2Text1 = F210(Text1)Case 16Text1 = F1610(Text1)Case 8Text1 = F810(Text1)End SelectK = 10End SubPrivate Sub Option4_Click() For I = 0 To 16Command1(I).Enabled = True NextM = Val(Text1)Select Case KCase 10Text1 = Hex(M)Case 2S1 = F210(Text1)Text1 = Hex(S1)Case 16S2 = F1610(Text1)Text1 = Hex(S2)Case 8S2 = F810(Text1)Text1 = Hex(S2)End SelectK = 16End SubFunction F102(S)K = Val(S)x = ""While K <> 0x = K Mod 2 & xK = K \ 2WendF102 = xEnd FunctionFunction F210(S)K = 0For I = 0 To Len(S) - 1K = K + Val(Mid(S, Len(S) - I, 1)) * 2 ^ I NextF210 = KEnd FunctionFunction F810(S)K = 0For I = 0 To Len(S) - 1K = K + Val(Mid(S, Len(S) - I, 1)) * 8 ^ I NextF810 = KEnd FunctionFunction F1610(S)K = 0For I = 0 To Len(S) - 1x = Mid(S, Len(S) - I, 1)Select Case xCase "1" To "9"K = K + Val(x) * 16 ^ ICase "A" To "F"K = K + (Asc(x) - 55) * 16 ^ IEnd SelectNextF1610 = KEnd FunctionPrivate Sub Timer1_Timer()StatusBar1.Panels(2).Text = Date & " " & TimeEnd Sub总结:通过vb设计计算器使自己掌握select case的编写方法以既vb中部件的属性设置方法。
VB程序设计课程设计报告

"VB程序设计"课程设计报告题目:排序演示一、二、课程设计根本信息课程代码:05190124课程名称:计算机根底课程设计课程英文名称: puter-based Course Design课程所属单位〔院〔系〕、教研室〕:数学与计算机学院计算机根底课程群课程面向专业:生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理课程类型:必修课先修课程:大学计算机根底通识选修课程、Visual Basic程序设计课程学分:1 总学时:16三、课程设计目标掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据构造、语句构造、运算方法,稳固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。
通过综合设计要求到达以下根本技能:1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。
2.通过对所选题目方案分析比拟,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。
3.系统设计编程简练,可用,功能全面,并有一定的容错能力。
用户界面良好,有较好的输出功能。
在完成课题根本要求后,具有创新型设计,具有一定的实用价值。
4.根据个人的设计调试过程,撰写设计报告。
四、课程设计内容利用已掌握的VB程序设计语言根底,以及面向对象的程序设计方法、事件驱动的编程方式,进展应用程序和系统的开发设计。
在强化稳固已有编程知识根底之上,训练新的设计与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。
五、课程设计要求1.要求每个同学都要认真对待,积极参与。
2.课程设计完毕时,提交完成的所有源程序、相关文件和可执行文件。
同时填写并完成"课程设计报告册"。
3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参与的将作不及格处理。
六、考核方式指导教师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进展综合考评,百分制计算,具体考核标准主要包含以下几个局部:1.程序运行情况20分2.程序功能的完善程度10分3.程序构造的合理性10分4.对问题的辩论情况20分5.创新情况10分6.学生的工作态度与独立工作能力10分7.设计报告内容的规*性20分备注:1.按规定时间填写各阶段文档,学习态度加5分2.设计报告内容雷同扣40分,无调试过程问题分析扣10分,无参考文献扣10分3.源程序无注释则在程序构造合理性扣10分七、课程设计主要参考资料"Visual Basic程序设计教程第4版"龚沛曾高等教育"Visual Basic程序设计实验指导与测试第4版"龚沛曾高等教育"Visual Basic从入门到精通"清华大学"Visual Basic课程设计" 王栋清华大学"Visual Basic开发实战1200例" 孙秀梅,巩建华清华大学二、总体设计(1)系统功能需求分析1.程序启动后,显示图6.1所示的主界面。
VB程序设计课程设计报告完整版

VB程序设计课程设计报告完整版VB程序设计课程设计报告摘要:本课程设计报告旨在介绍一个完整的VB程序设计项目,该项目主要以某个实际问题为背景,通过使用VB编程语言进行设计和实现。
报告主要包括需求分析、设计方法、编程实现、测试和总结等内容。
一、引言VB(Visual Basic)是一种面向对象的事件驱动编程语言,它广泛用于Windows操作系统平台上的软件开发。
VB具有简单易学、强大的功能和丰富的开发工具,被广大开发者用于各种程序设计领域。
本课程设计旨在通过一个实际问题,让学生掌握VB程序设计的基本方法和技巧。
项目要求学生设计一个小型图书管理系统,实现对图书的添加、查询、借阅和归还等功能。
二、需求分析1. 功能需求:a) 添加图书:包括图书名称、作者、出版社等信息。
b) 查询图书:根据图书名称或作者查询图书信息。
c) 借阅图书:借阅图书并更新库存信息。
d) 归还图书:归还已借阅的图书并更新库存信息。
2. 数据需求:a) 图书信息:包括图书名称、作者、出版社、ISBN号码和库存数量等。
b) 借阅信息:包括图书名称、借阅人、借阅日期和归还日期等。
3. 用户界面需求:a) 主界面:显示各种操作选项。
b) 添加图书界面:用于输入图书信息。
c) 查询图书界面:用于输入查询条件并显示查询结果。
d) 借阅图书界面:显示已借阅图书信息并提供借阅操作。
e) 归还图书界面:显示已借阅图书信息并提供归还操作。
三、设计方法1. 模块划分:根据功能需求将程序划分为若干模块,包括主模块、添加图书模块、查询图书模块、借阅图书模块和归还图书模块等。
2. 数据结构设计:使用适当的数据结构存储图书和借阅信息。
3. 界面设计:根据用户界面需求,设计相应的窗体,并在窗体上放置控件,实现各种操作功能。
4. 事件处理:根据用户的操作,编写相应的事件处理程序,实现各种功能。
四、编程实现1. 程序架构:使用VB的Windows Forms应用程序模板创建项目,并按照模块划分设计程序结构。
《软件设计基础(VB)》课程设计报告书-简单的四则表达式计算程序

2.课程设计任务与要求: .课程设计任务与要求:
要求: 本次课程设计利用《软件设计基础(VB) 》课程中所学到的编程知识和编程技巧,完成具有一定 难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 1.要求: (1) (2) (3) (4) (5) (6) (7) (8) 对系统进行功能需求分析 设计合理的数据结构和系统框架 界面设计美观、清楚、合理 编程简练,程序功能齐全,能正确运行 具有一定的创新性 说明书、流程图要清楚 课题完成后必须按要求提交课程设计报告 任务:
各功能模块流程图: 1. 判断数据和计算式
若除数为 如果是非法 0,则“错 数据,退出 误”
是否有 括号及 负数的 判断
如果不是十进制 将其转化为十进 制再计算
2. 各进制间的转换 . 3. 计算四则运算 ⑷代码实现 本设计共用一个窗体 form1,一个标签 label1,二个文本框 text1.text2,一个命令按钮 command1. Text1 用来输入算式,Text2 用来显示计算结果,command1 用来实现代码的功能,label1 用来标 注计算结果的位置。 设计思路:.1.整个算式当作字符串来处理,在具体计算时化为数值,结果再转为字符串 2.不断地用计算结果替换原单项计算式,例如用“21”替换“3 * 7” 详细内容: 循环过程计算 结果 如果不是十进制将 其转化为十进制再 计算
《软件设计基础(VB) 》课程设计报告
nSt = operate(nSt, "-") Loop analyze = nSt End Function
第
8
页erate(S As String, sign As String) As String '完成一次运算 Dim k1 As Integer, k2 As Integer, S1 As String, S2 As String, z As String, n As String, i As Integer i = InStr(2, S, sign) '获得运算符位置
vb程序实验报告

vb程序实验报告VB 程序实验报告一、实验目的通过本次实验,深入了解和掌握 Visual Basic(VB)程序设计的基本概念、语法和编程技巧,提高解决实际问题的能力,培养逻辑思维和创新能力。
二、实验环境操作系统:Windows 10开发工具:Microsoft Visual Basic 60三、实验内容本次实验主要包括以下几个方面的内容:1、界面设计使用 VB 的窗体设计器,创建一个简单的用户界面,包含文本框、按钮、标签等控件,并设置其属性,如字体、颜色、大小等,以实现美观和友好的用户交互。
2、变量与数据类型在程序中声明不同类型的变量,如整数型(Integer)、字符串型(String)、布尔型(Boolean)等,并进行赋值和运算操作,理解不同数据类型的特点和适用场景。
3、控制结构运用顺序结构、选择结构(IfThenElse、Select Case)和循环结构(ForNext、WhileWend)编写程序,实现条件判断和重复执行的功能,例如计算阶乘、判断素数、打印九九乘法表等。
4、数组与过程定义数组来存储和处理大量的数据,掌握数组的声明、初始化和遍历操作。
同时,学习使用过程(Sub 过程和 Function 过程)来封装可重复使用的代码块,提高程序的可读性和可维护性。
5、文件操作实现对文本文件的读写操作,包括创建文件、写入数据、读取数据和关闭文件,了解文件处理在实际应用中的重要性。
四、实验步骤1、界面设计(1)打开 Microsoft Visual Basic 60,新建一个标准 EXE 工程。
(2)在窗体上添加所需的控件,如文本框 Text1、Text2,命令按钮 Command1、Command2,标签 Label1 等。
(3)通过属性窗口设置各个控件的属性,如 Text1 的 Text 属性为空,Command1 的 Caption 属性为“计算”,Label1 的 Caption 属性为“结果:”等。
软件设计基础vb课程设计报告

软件设计基础vb课程设计报告一、课程目标知识目标:1. 理解VB编程的基本概念,掌握VB语言的基本语法和结构;2. 学会使用VB进行简单的软件界面设计,了解常用的控件及其属性、方法和事件;3. 掌握VB程序设计中顺序结构、选择结构和循环结构的运用;4. 了解VB中数组、函数和过程的使用。
技能目标:1. 能够运用VB语言编写简单的应用程序,实现基础的计算和数据处理功能;2. 学会使用调试工具进行程序调试,找出并修正程序中的错误;3. 培养良好的编程习惯,编写结构清晰、易读易懂的代码;4. 提高问题解决能力,能够运用所学知识解决实际问题。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学生的创新意识和探索精神;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 增强学生的自信心,使其在编程实践中体验成功,培养积极向上的学习态度;4. 培养学生严谨、细致、负责任的编程态度,养成良好的学习习惯。
本课程针对的是初中年级学生,课程性质为实践性较强的学科。
结合学生特点和教学要求,课程目标注重知识掌握与实践操作相结合,培养学生在编程领域的兴趣和基本技能,同时注重情感态度价值观的培养,使学生在学习过程中形成良好的学习习惯和团队协作精神。
通过本课程的学习,学生能够具备初步的VB编程能力,为后续学习打下坚实基础。
二、教学内容1. VB编程环境及基本操作- 熟悉VB集成开发环境- 学会创建和管理VB项目2. VB基本语法与结构- 数据类型、变量和常量- 运算符与表达式- 程序流程控制:顺序结构、选择结构、循环结构3. VB控件及其应用- 常用控件的使用:按钮、文本框、标签等- 控件属性、事件和方法4. 数组、函数与过程- 数组的概念及使用- 函数的定义与调用- 过程的定义与调用5. 简单的软件界面设计- 界面设计原则与技巧- 菜单、工具栏和状态栏的设计6. 程序调试与优化- 使用调试工具进行程序调试- 优化程序性能与代码结构7. 综合实例分析与实践- 分析实际案例,掌握编程思路- 实践项目:编写一个简单的计算器程序教学内容依据课程目标,遵循科学性和系统性原则进行选择和组织。
简易计算器VB课程设计报告

简易计算器要求:用VB做类似于windows自带的计算器程序绪论:Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
1.界面设计:根据WINDOWS计算器界面模型,修改后制作简易计算器界面。
新建一个窗体,添加一个文本框用于显示运算数字和结果,添加若干按钮包括(数字0—9,+,-,*,/,=,x^ ,1/x,清屏,退出)。
当单击数字按钮时输入运算数时,单击运算符按钮,再单击“=”按钮,则再文本框中显示计算结果。
具体如下图计算器界面设计示意图流程图如下:简易计算器↓计算器管理界面↓计算界面↓退出程序2.程序代码:Dim A, B As SingleDim Op As StringPrivate Sub Command1_Click()Text1.Text = Text1.Text + Command1.CaptionEnd SubPrivate Sub Command14_Click() ’定义减法If A = 0 ThenA = Text1.TextElseB = Text1.TextEnd IfText1.Text = ""Op = "-"End SubPrivate Sub Command2_Click()Text1.Text = Text1.Text + Command2.CaptionEnd SubPrivate Sub Command20_Click() ’定义平方A = Text1.TextB = A ^ 2Text1.Text = BEnd SubPrivate Sub Command3_Click()Text1.Text = Text1.Text + Command3.CaptionEnd SubPrivate Sub Command4_Click()Text1.Text = Text1.Text + Command4.CaptionEnd SubPrivate Sub Command13_Click() ’定义加法If A = 0 ThenA = Text1.TextElseB = Text1.TextEnd IfText1.Text = ""Op = "+"End SubPrivate Sub Command5_Click()Text1.Text = Text1.Text + Command5.CaptionEnd SubPrivate Sub Command6_Click()Text1.Text = Text1.Text + Command6.CaptionEnd SubPrivate Sub Command17_Click() ’清屏Text1.Text = ""A = 0:B = 0End SubPrivate Sub Command19_Click()EndEnd SubPrivate Sub Command16_Click() ’定义除法If A = 0 ThenA = Text1.TextElseB = Text1.TextEnd IfText1.Text = ""Op = "/"End SubPrivate Sub Command12_Click() ’通过四则运算,求出值B = Text1.TextSelect Case OpCase "+"A = A + BCase "-"A = A - BCase "*"A = A * BCase "/"A = A / BCase "1/x"A = 1 / AEnd SelectText1.Text = AEnd SubPrivate Sub Command7_Click()Text1.Text = Text1.Text + Command7.CaptionEnd SubPrivate Sub Command8_Click()Text1.Text = Text1.Text + Command8.CaptionEnd SubPrivate Sub Command15_Click() ’定义乘法If A = 0 ThenA = Text1.TextElseB = Text1.TextEnd IfText1.Text = ""Op = "*"End SubPrivate Sub Command9_Click()Text1.Text = Text1.Text + Command9.CaptionEnd SubPrivate Sub Command10_Click()Text1.Text = Text1.Text + Command10.CaptionEnd SubPrivate Sub Command11_Click()Text1.Text = Text1.Text + Command11.CaptionEnd SubPrivate Sub Command18_Click() ’求倒数值If A = 0 ThenA = Text1.TextElseB = Text1.TextEnd IfText1.Text = 1 / AOp = "1/x"End sub3.程序运行进入计算机运行界面:输入值:输入运算符:输入运算值:得结果:清屏:退出程序;4.结论:经过一学期的学习与编制等一系列的过程,完成了如题所示的简易计算器,包括数字0—9,+,-,*,/,=等按键,可实现基本+,-,*,/,平方等的运算,符合计算器的基本要求。
VB计算程序课程设计报告

计算机程序课程设计报告题目最小二乘法曲线拟合程序设计系别年级09 专业班级学号学生姓名指导教师职称讲师设计时间目录绪论 ---------------------------------------------------------------------------- 2 第一章功能需求分析 ----------------------------------------------------- 31) 课题的社会和技术背景-------------------------------------------- 32) 客户或功能需求分析----------------------------------------------- 33) 过分析确定系统运行的软、硬件环境-------------------------- 34) 通过分析确定系统具体的功能要求----------------------------- 3第二章系统设计 ----------------------------------------------------------- 31) 采用的软件及开发平台-------------------------------------------- 32) 项目的总体方案----------------------------------------------------- 33) 项目的详细设计----------------------------------------------------- 4第三章设计实现 ----------------------------------------------------------- 61) 主要功能模块的具体实现----------------------------------------- 62) 主要技术问题或难题的解决方法-------------------------------- 63) 亮点或创新点的实现----------------------------------------------- 7第四章结束语 -------------------------------------------------------------- 7 参考文献 -------------------------------------------------------------------------- 8 附录 ------------------------------------------------------------------------------- 11 成绩评定表:------------------------------------------------------------------ 16绪论维持一周的VB程序设计已经结束,本次我们设计的课程为“最小二乘法曲线拟合程序设计”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试与光电工程学院课程设计任务书测控技术与仪器系100813班学号10081329 姓名吴辉课程名称:用最小二乘法求拟合曲线课题要求:利用VB语言编程实现对给定离散点的拟合(不小于10个)的拟合用最小二乘法求数据的拟合曲线。
要求有良好的输入、输出界面,输出应包含直线方程并图形显示拟合效果。
完成软件的整体设计。
课题进程:1)熟悉VB编程语言、最小二乘法算法分析3天2)编写程序实现以上功能3天3)软件调试、测试2天4)撰写课程设计报告2天指导老师:杨琳瑜目录摘要---------------------------------------------------------------------------------------- 2 第一章最小二乘法 -------------------------------------------------------------------- 21) 理论依据 ----------------------------------------------- 错误!未定义书签。
2) 线性拟合分析 ----------------------------------------- 错误!未定义书签。
3) 非线性拟合分析 --------------------------------------------------------------- 5第二章系统设计 ----------------------------------------------------------------------- 51) 采用的软件及开发平台 ------------------------------------------------------ 52) 项目的总体方案 --------------------------------------------------------------- 53) 项目的详细设计 --------------------------------------------------------------- 6第三章设计实现 ---------------------------------------------------------------------- 101) 主要功能模块的具体实现 -------------------------------------------------- 102) 主要技术问题或难题的解决方法------------------------------------------ 103) 亮点或创新点的实现 -------------------------------------------------------- 11第四章结束语 ------------------------------------------------------------------------- 11 参考文献--------------------------------------------------------------------------------- 12 附录--------------------------------------------------------------------------------------- 13摘要最小二乘法最早是由高斯提出的,这是数据处理的一种很有效的统计方法。
高斯用这种方法解决了天文学方面的问题,特别是确定了某些行星和彗星的天体轨迹。
这类天体的椭圆轨迹由5个参数确定,原则上,只要对它的位置做5次测量就足以确定它的整个轨迹。
但由于存在测量误差,由5次测量所确定的运行轨迹极不可靠,相反,要进行多次测量,用最小二乘法消除测量误差,得到有关轨迹参数的更精确的值。
最小二乘法近似将几十次甚至上百次的观察所产生的高维空间问题降到了椭圆轨迹模型的五维参数空间。
最小二乘法普遍适用于各个科学领域,它在解决实际问题中发挥了重要的作用。
它在生产实践、科学实验及经济活动中均有广泛应用。
比如说,我们引入等效时间的概念,根据Arrhenius函数和指数函数研究水化热化学反应速率随温度的变化,最后采用最小二乘法回归分析试验数据,确定绝热温升和等效时间的关系式。
第一章 最小二乘法1) 理论依据最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小.这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小.对于回归模型y=S(x),若(i i y x ,)(i=1,2,3···m )为收集到的观测数据,则应该用来估计,这里是()(,i i x S x )(i=1,2,3···m )的估计值。
它们之间距离的平方和就是21])([i mi y x S -∑。
进而最小二乘估计量就是使22δ=∑=m i i02δ=2])(*[i mi i y x S -∑==21)(])([min 1imix S y x S i -∑=∈ϕ (1)达到最小值的参数。
2) 线性拟合分析给定一组测量数据{(i i y x ,),i=0,1,2,…,m},基于最小二乘原理,求得变量x 和y 之间的函数关系f(x,A),使它最佳地逼近已知数据。
其中A=(n a a a ,...,,10)是一些待定参数。
通常把最小二乘法中的22δ都考虑为加权平方和,即22δ=20))()((i i mi i y x f x -∑=ω其中,0)(>=i x ω是[a,b]上的权函数,它表示反应数据(i i y x ,)在实验中所占数据的比重。
选择参数A 使得加权平方和最小,即求满足0)(,))()((min ))(*)((202>=-=-∑∑==i i i mi i iimi ix y x f x y x f x ωωω (2)的f*(x)。
要使(2)最小,它转换为求多元函数∑∑==-=m i nj i i j j i n x f x a x a a a I 02010])()()[(),,(ϕω ,的极小点),(**1*0n a a a 问题。
由求多远函数极值的必要条件,有∑∑====-=∂∂m i i k nj i i j j i k n k x x f x a x a I00).,,1,0(0)(])()()[(2 ϕϕω 若记∑==mi i k i j i k j x x x 0)()()(),(ϕϕωϕϕ,则∑==≡=mi k i k i i k n k d x x f x f 0),,,1,0()()()(),( ϕωϕ可改写为∑===nj k j k jn k d a 0).,,1,0(),( ϕϕ(3)此方程成为法方程。
它也可以写成矩阵形式⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡====),(),(),(),(),(),(),(),(),(,),,,(,),,(,1011101010001010n n n n n n Tn T n G d d d d a a a a d Ga ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ ,其中由于0ϕ,1ϕn ϕ 线性无关,故0≠G ,方程组(3)存在唯一解aa kk*= (i=1,2,3···n ),从而得到函数f(x)的最小二乘法解为)()()()(**1*10*0x a x a x a x S n n ϕϕϕ+++=可以证明,这样得到的对于任何多项式形式的)(x S ,都有∑∑==-≤-mi i i i mi iiix f x S x x f x S x 0202)]()([*)()]()(*)[(ωω故)(*x S 确实所求最小二乘解。
摘自《数值分析》3) 非线性拟合分析我们可通过变数变换将其化为线性模型。
利用最小二乘线性拟合确定其系数,再利用逆变换给出原问题的曲线拟合函数。
第二章 系统设计1) 采用的软件及开发平台Microsoft Visual Basic 6.02) 项目的总体方案结束开始输入点坐标绘制点与坐标轴计算线性回归方程并绘制判断坐标点个数无法拟合增加坐标点YESNO3)项目的详细设计command1(生成点坐标):点击后按要求输入坐标点,在text1中输出command2(生成坐标系,绘点):将输入的点在picture1中绘制出坐标轴以及点command3(生成线性方程):计算输入坐标点的线性回归方程,在picture1中绘制线性方程,在picture2中输出线性方程command4 (清除):将text1,picture1,picture2中的内容清除command5(结束):结束程序对象属性名属性值Form1 Caption 最小二乘法Text1TextMultiLine True Alignment 2 Locked TrueCommand1 Caption 生成坐标点Command2 Caption 生成坐标系,绘点Command3 Caption 生成线性方程Command4 Caption 清除Command5 Caption 退出Picture1Picture2 Font 四号Label1 Caption 线性方程为:调试运行截图:第三章 设计实现1) 主要功能模块的具体实现这个VB 程序设计的主要功能模块在于怎样在图片框中画出线性图,然而,我们在这一模块采用了分步考虑,首先考虑的是:假如使用者只输入一个点,那么在图片框中无法生成线性图,顾我们把它设成“单点无法拟合,请重新输入”(当然是先求出对于输入点的线性方程中的a值、b值);其次就是分别在X轴,Y轴上的X值、Y值相等的情况,这样我们就认定为一条垂直于X轴或Y轴的直线,则在系统所确定的区域内画出线性图;最后就剩下没有共同点的额点了,对于这我们直接以图片框的边界作为X轴和Y轴(认为这样方便画图),然后根据算出的a值、b值和系统求出的线性方程,自动生成图像。
2)主要技术问题或难题的解决方法在这个程序设计的过程中,我们遇到了不少的问题,最主要的问题就在怎样画图,因为之前我们还没遇到过这样的问题,鉴于这个问题,我们尽量勤快点地去问问讲师的意见,并且不乏地去图书馆去借阅相关我们课题的书籍,而且我们还有自己的VB书(主要是line 语句),根据这几个方式,我们基本上解决了我们面对的问题。
3)亮点或创新点的实现本次所做的编程中,我们充分运用了所学的知识,比如“If语句”、“For语句”、“MsgBox 语句”和某些控件的有效性属性。