您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 《误差理论课程设计指导书》
《误差理论与测量平差基础课程设计》指导书编写:张建霞闽江学院地理科学系2015年3月适用专业:测绘工程(6、7)学时数:1周一、课程设计的性质、目的和任务《误差理论与测量平差课程设计》是完成测量平差基础课程教学后进行的综合应用该课程基本知识和技能的一个教学环节,通过课程设计培养学生解决生产实际问题的能力和所学基本知识的综合应用能力。二、课程设计的基本要求1.巩固和加深课堂所学理论知识,培养学生理论联系实际、实际动手能力;2.熟练掌握平差编程语言的使用;3.掌握利用条件平差和间接平差进行平差实例计算。三、课程设计主要内容与安排利用VB可视化编程软件并结合Matlab软件实现平差中条件平差和间接平差的程序编写,并通过水准测量实例验证所编写程序的正确性。基本内容与要求如下:1.条件平差原理与计算步骤;2.间接平差原理与计算步骤;3.条件平差的算法流程;4.间接平差的算法流程;5.条件平差与间接平差编程实现6.水准平差+GPS平差实例验证程序的正确性。四、进度安排序号设计主要内容学时分配1VB语言熟悉1天2Matlab编程熟悉1天3条件平差与间接平差理论与算法学习1天4水准网平差编程实现(条件平差与间接平差)+GPS平差1天5设计报告编写与成果制作1天五、课程设计所需的仪器设备1、具备容纳60人以上的实验机房2、每台电脑上需配备VB6.0软件以及Matlab软件六、课程设计考核方式成绩按百分制记载。评定学生成绩主要依据以下几项:1.平时成绩。主要包括:出勤率、态度、是否遵守学校及教师所规定的各项纪律等。该项总分为30分。2.报告成绩。主要包括:报告的编写格式和内容是否符合要求,分析问题、解决问题的能力及有无独特见解,是否工整清晰,数据计算是否正确等。该项总分为40分。3.考核成绩。使用软件的编程能力。主要包括:对理论知识的掌握程度,将所学理论用计算机编程语言加以编程实现。该项总分为30分。七、参考资料《误差理论与测量平差基础》,武汉大学出版社,2003附录一:平差课程设计主要操作内容一、vb编程学习1、启动VisualBasic6.0,创建一个“标准EXE”类型的应用程序,要求:在屏幕上显示“欢迎学习VisualBasic”,并在“请输入你的姓名”标签后的文本框Text1中输入姓名;单击“你输入的姓名是”按钮,在Label3标签显示在文本框Text1输入的姓名。程序运行效果如图示。程序以Sy1-1.frm和Sy1-1.vbp为文件名保存在外存上。属性设置:Label1的字体:隶书,字号:二号。Label2的字体:楷体,有下划线。Label3有边框线。其它参见图。2、创建一个工程,由3个窗体组成。Form1用于输入用户名和口令,当输入正确时单击“确定”按钮显示Form2,当输入出错时则显示Form3,单击“退出”按钮结束程序;Form2中用标签显示系统日期和时间(用now函数),单击“返回”按钮回到Form1;Form3为退出窗体,单击窗体则结束程序。3、设计一个窗体,输入两个数求它们的和、差、积、商。【1】上机验证并分析结果:1、设a=2,b=3,c=4,d=5,表达式abandc=dor2*ac的值是_____________。2、设a=2,b=3,c=4,d=5,表达式32*bora=candbcorcd的值是_______。3、设a=2,b=3,c=4,d=5,表达式nota=cor4*c=b^2andba+c的值是_____。4、执行语句Printchr$(65)输出结果是______。5、执行下列语句,a$=”Good”b$=”Morning”printa$+b$printa$&b$输出结果是__________、_________。6、执行下列语句,写出结果print“abcd”&“1234”,“abcd”+”1234”输出结果是__________。print“abcd”&1234,”abcd”+1234输出结果是__________。print“12”&34,”12”+34输出结果是__________。print12&34,12+34输出结果是__________。print“ab”&true,”ab”+true输出结果是__________。print“12”&false,”12”+false输出结果是__________。print12&false,12+false输出结果是__________。7、执行下列语句,s$=”ABCDEFGHIJK”printleft$(s$,4)printright$(s$,4)输出结果是__________、__________。8、执行下列语句,s$=”ABCDEFGHIJK”printmid$(s$,3,4)printlen(s$)输出结果是___________、__________。9、执行下列语句,s$=”ABCDEFGHIJK”printinstr(s$,”efg”)printlcase$(s$)输出结果是__________、__________。10、执行下列语句,printday(now)printmonth(now)printyear(now)printweekday(now)输出结果是_____、_____、_____、______。11、执行语句printint(12345.6789*100+0.5)/100的输出结果是__________。12、执行语句printint(-12345.6789*100+0.5)/100的输出结果是__________。13、执行语句printfix(12345.6789*100+0.5)/100的输出结果是__________。14、执行语句printfix(-12345.6789*100+0.5)/100的输出结果是_________。15、执行下列语句,写出输出结果:PrintAbs(-3.9),Fix(-3.9),Int(-3.9),Round(-3.9)输出结果:____、____、____、____。PrintExp(5),Log(5)输出结果:____、____。PrintSqr(256)输出结果:____。PrintAsc(”d”),Chr(100),Asc(“ASD”)输出结果:____、____、____。PrintUcase(“aBcDef”),Lcase(“aBcDef”)输出结果:____、____。PrintStr(12345),Val(“12.3AB45”),Str(-123.45),Val(“asd123.5”)输出结果:____、____、____、____。PrintLen(“12VB学习!”)输出结果:____。PrintReplace(“我是教师你是学生”,”教师”,”学生”)输出结果:____。PrintString(9,”我喜欢VB”)输出结果:____。【2】编写简单应用程序1、每单击窗体一次,就能产生1个100到200之间的随机整数,并在窗体上输出。2、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。通过inputbox函数输入数据,在窗体上显示和及平均值。3、通过键盘任意输入两个数,对调后输出。【3】数组与矩阵1、任意输入10个数,按从大到小排列。2、任意建立一个二维数组,求数组中最大元素值和所在下标。3、任意建立二维数组,求每行元素的和。4、任意建立二维数组,求各行最大值之和。5、输出4*4阶矩阵的主对角线元素之和。6、计算4*4阶矩阵的周边元素值之和。7、录入矩阵A(2*2)和矩阵B(2*3),求C=A*B二、平差编程1、求矩阵A(3×4)与矩阵B(4×6)的乘积。2、求矩阵A(5×5)的转置。3、以矩阵A(5×5)的下三角元素为基础,将矩阵A变为对称阵。4、编程实现教材(P78)例题5-2的条件平差结果,要求如下:(1)通过inputbox函数输入已知点A、B的高程值。(2)通过文本框(text)接收系数矩阵A和协因素阵Q,通过inputbox函数录入常数项矩阵W。(3)对方阵Naa求逆通过编程实现。(4)界面设计如下:矩阵求逆程序示例:Dimn%,a()PrivateSubForm_Load()Me.Top=800:Me.Left=800EndSubPrivateSubLabel1_Click()c=1Fori=1TonForj=1Tona(i,j)=Val(Text1(j+(i-1)*n))Nextj,iFori=1TonForj=n+1To2*nIfi+n=jThena(i,j)=1Elsea(i,j)=0EndIfNextj,iCalltxjz(a(),n,2*n)Callzjjz(a(),n,2*n)Fori=1TonForj=n+1To2*nText1(j+(i-1)*n-n)=Format(a(i,j),0.#####)Nextj,iEndSubPrivateSubLabel2_Click()ForEachxInText1Ifx.Index0ThenUnloadxNextxsta:n=Val(InputBox(请你输入方阵的介数))Ifn10.5Orn0.8ThenMsgBox(请你输入不大于十的正整数):GoTostaScale(0,0)-(n+2,n+2)ReDima(1Ton,1To2*n)Fori=1TonForj=1TonLoadText1(j+(i-1)*n)Text1(j+(i-1)*n).Visible=TrueText1(j+(i-1)*n).Top=iText1(j+(i-1)*n).Left=jNextj,iEndSubSubtxjz(a(),m%,n%)'将矩阵化为阶梯型矩阵i%=1:j%=1DoFork=iTomIfa(k,j)0ThenForl=jTonb=a(k,l)a(k,l)=a(i,l)a(i,l)=bNextlForl=j+1TonForh=i+1Toma(h,l)=a(h,l)-a(i,l)*a(h,j)/a(i,j)Nexth,lForl=i+1Toma(l,j)=0Nextli=i+1ExitForEndIfNextkj=j+1LoopUntili=mOrj=n+1EndSubSubzjjz(a(),m%,n%)'将梯形矩阵化为行最简型矩阵i%=1:j%=1DoFork=mToiStep-1Ifa(k,j)0Thenb=a(k,j)Forl=jTona(k,l)=a(k,l)/bNextlForl=j+1TonForh=1Tok-1a(h,l)=a(h,l)-a(h,j)*a(k,l)Nexth,lForl=1Tok-1a(l,j)=0Nextli=i+1ExitForEndIfNextkj=j+1LoopUntili=m+1Orj=n+1EndSubSubmain()DimciAsByte,cjAsByte,iAsByte,jAsByte,nAsByte'循环,统计变量Dima(2,2)AsSingle'矩阵数组Dimb(2,2)AsSingle'逆阵数组Dimt(3)AsSingle'余子式数组DimrValueAsSingle'矩阵值变量'初始矩阵a(0,0)=1:a(0,1)=-1:a(0,2)=3a(1,0)=2:a(1,1)=-1:a(1,2)=4a(2,0)=-1:a(2,1)=2:a(2,2)=-4Debug.Print原始矩阵为:Fori=0To2Forj=0To2Debug.Printa(i,j),NextjDebug.PrintNexti'求伴随阵Forci=0To2Forcj=0To2'求余子式n=0Fori=0To2Forj=0To2IficiAndjcjThent(n)=a(i,j):n=n+1NextjNextib(cj,ci)=((-1)^(ci+cj))*(t(0)*t(3)-t(1)*t(2))NextcjNextci'求矩阵的值rValue=0Fori=0To2rValue=rValue+a
本文标题:《误差理论课程设计指导书》
链接地址:https://www.777doc.com/doc-7238023 .html