![计算机辅助建筑设计-方程求解_第1页](http://file4.renrendoc.com/view/e46c59d10bd1d5a340a6c1f93fce214d/e46c59d10bd1d5a340a6c1f93fce214d1.gif)
![计算机辅助建筑设计-方程求解_第2页](http://file4.renrendoc.com/view/e46c59d10bd1d5a340a6c1f93fce214d/e46c59d10bd1d5a340a6c1f93fce214d2.gif)
![计算机辅助建筑设计-方程求解_第3页](http://file4.renrendoc.com/view/e46c59d10bd1d5a340a6c1f93fce214d/e46c59d10bd1d5a340a6c1f93fce214d3.gif)
![计算机辅助建筑设计-方程求解_第4页](http://file4.renrendoc.com/view/e46c59d10bd1d5a340a6c1f93fce214d/e46c59d10bd1d5a340a6c1f93fce214d4.gif)
![计算机辅助建筑设计-方程求解_第5页](http://file4.renrendoc.com/view/e46c59d10bd1d5a340a6c1f93fce214d/e46c59d10bd1d5a340a6c1f93fce214d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机辅助建筑设计--方程求解计算机辅助建筑设计--方程求解全文共60页,当前为第1页。1、通用函数的程序编写问题:如何求一个函数的解,而函数是可以随时替换的。例如:F(x)=x3+4x2+5F(x)=ex-5计算机辅助建筑设计--方程求解全文共60页,当前为第2页。实现步骤:1在窗体上加一个Scriptcontrol控件2在工程中添加一个类模块class1.类模块中的代码:PublicK1AsDouble1、通用函数的程序编写计算机辅助建筑设计--方程求解全文共60页,当前为第3页。PrivateFunctionHanshu(XAsDouble,Str1AsString)AsDoubleOnErrorResumeNextDimsharAsNewClass1ScriptControl1.AddObject"sh",sharScriptControl1.AddCode"FunctionF(x)"&vbCrLf&"kk="&Str1&vbCrLf&"sh.k1=kk"&vbCrLf&"EndFunction"
ScriptControl1.Run“F",XHanshu=shar.K1ScriptControl1.ResetEndFunction1、通用函数的程序编写计算机辅助建筑设计--方程求解全文共60页,当前为第4页。作业1:试设计一个工程,可以计算函数的值。2分别输出x=1,2,3……10函数的值。3测试替换了函数表达式后,你编写的程序是否有效。1、通用函数的程序编写计算机辅助建筑设计--方程求解全文共60页,当前为第5页。课题2:高次方程求解:在解决科学研究和工程领域中的实际问题时,往往涉及到高次方程。高次方程解的个数和方程的次数相对应,即使只在实数范围内考虑,大多也有几个解。但是,对于从解决土木工程问题归纳得到的高次方程,其有意义的解大多仅有一个,并且是正数解。计算机辅助建筑设计--方程求解全文共60页,当前为第6页。2.1高次方程求解原理计算机解高次方程的基本过程大致如下:以x2-2=0为例,令y=x2-2其函数图像如图。y=0时的x值(x=土20.5)即为原方程的解。在x=20.5附近y值由负变正。由于函数是连续的,所以必定存在y=0对应的点,该点即为原方程的一个解。其他方程也是如此,如果知道了一个解的区间,就可以通过代人不同的x值观察y的变化,从而逐次逼近该解。计算机辅助建筑设计--方程求解全文共60页,当前为第7页。高次方程求解常用方法高次方程的常用解法有扫描法、对分法、优选法、迭代法、牛顿法等。计算机辅助建筑设计--方程求解全文共60页,当前为第8页。2.2扫描法求解方程的根扫描法的主要过程是:1.寻找方程解所在的区域[a,b]。由初始点a出发,根据步长h逐次迭代找到b点,使f(a)X(b)=0,前一点即为a,f(a)与f(b)的值为一正一负。由于从实际土木问题中提炼出的函数f(x)在[a,b]连续,所以在[a,b]内必有一解x0,使f(x0)=0。该过程也可固定a点不变,单纯扩大区域找b点.....计算机辅助建筑设计--方程求解全文共60页,当前为第9页。2.2扫描法求解方程的根2.缩小解所在的区域[a,b]。十等分[a,b],逐点求f(xi)值,直至相邻两点的值符号相反,这两点即为新的区域[a,b]。3.重复上述过程直至收敛,达到一定精度为止。计算机辅助建筑设计--方程求解全文共60页,当前为第10页。2.2扫描法求解方程的根注意,求实际土木工程问题的解时,起始点a应取足够小(小于解)或干脆取a=0。由于其有意义的解是一个正数解,搜索方向只要向正向进行,甚至根据实际情况,直接选取适当区域[a,b],然后从步骤2开始求解。而一般的高次方程则要复杂些,解不一定比a值大,因此解的区域也可能在初始点的另一边,搜索方向需先判别。计算机辅助建筑设计--方程求解全文共60页,当前为第11页。2.2扫描法求解方程的根扫描法程序流程图见图2-2,图中h为步长,e为要求的精度。扫描法程序中,因为要判断的是两函数的符号,而不是它们的大小,利用符号函数可使计算量减少,即用m=sgn(f(a)),n=sgn(f(b))替代原来的计算更合理。计算机辅助建筑设计--方程求解全文共60页,当前为第12页。扫描法求方程根的流程图2.2扫描法求解方程的根计算机辅助建筑设计--方程求解全文共60页,当前为第13页。用扫描法求方程x2-2=0的正数解,其计算结果见表2-12.2扫描法求解方程的根计算机辅助建筑设计--方程求解全文共60页,当前为第14页。由计算结果知,方程x2-2=0的一个解在1.414至1.415之间,只要进一步缩小步长.重复上述过程,可获得更高精度。2.2扫描法求解方程的根计算机辅助建筑设计--方程求解全文共60页,当前为第15页。DimM%,N%,iAsDoubleDimA#,B#,H#,E#,X#,Str2$DimStr1$i=1Str1=“计算次数a=b=m×n="&vbCrLfA=Val(Text2)’初始值H=Val(Text3)’求解步长E=Val(Text4)’求解精度Str2=Text1.Text’函数表达式M=Sgn(Hanshu(A,Str2))2.2扫描法求解方程的根计算机辅助建筑设计--方程求解全文共60页,当前为第16页。DoB=A+HN=Sgn(Hanshu(B,Str2))Str1=Str1&i&Space(3)&A&Space(3)&B&Space(3)&M*N&vbCrLfIfM*N>0ThenA=BM=Ni=i+1ElseIfM=0ThenX=AExitDoElseIfN=0ThenX=BExitDo
ElseIfH<=EThenX=BExitDoElseH=0.1*H
EndIf
Ifi>5000ThenGoToerr1:EndIf
Loop'UntilH<=E2.2扫描法求解方程的根计算机辅助建筑设计--方程求解全文共60页,当前为第17页。Text5=“方程的解为:x="&X&vbCrLf&Str1
ExitSuberr1:MsgBox“找不到方程的根,计算次数已经超过了5000次,请确认输入的函数是否正确”,vbInformation,“找不到方程的根"2.2扫描法求解方程的根计算机辅助建筑设计--方程求解全文共60页,当前为第18页。2.2作业2:根据以上的基本步骤与程序流程图:(1)编写扫描法求解高次方程的根(2)程序能够通用化,即扫描法要用过程或函数来完成,供VB调用。(3)高次方程可以任意改变。计算机辅助建筑设计--方程求解全文共60页,当前为第19页。2.3对分法求解对分法扫描法运算量大,为减少工作量可用对分法或优选法,其基本思想和扫描法相同,即逐次缩小解的区域范围。计算机辅助建筑设计--方程求解全文共60页,当前为第20页。2.3对分法优选法求解实际操作时,初始区域可取足够大,使解被包含在内,这在解与实际化学问题相关的方程时很容易确定。在缩小区域[a,b]时则有所不同:在「a,b]取中点c。(即对分点),求f(c)值。并与f(a)或f(b))比较,舍弃符号相同的点,保留符号相反的点在新的区域内重复上述过程,直至达到要求的精度。用对分法求一元高次方程解的程序流程图见图2-32.3.1对分法计算机辅助建筑设计--方程求解全文共60页,当前为第21页。2.3.2对分法流程图2.3对分法优选法求解计算机辅助建筑设计--方程求解全文共60页,当前为第22页。2.3对分法优选法求解2.3.3示例计算机辅助建筑设计--方程求解全文共60页,当前为第23页。2.3.4对分法关键程序PrivateSubErfenfa(Str1AsString,AAsDouble,BAsDouble,EpsAsDouble)DimFxAsDouble,FaAsDouble,FbAsDouble,XAsDouble,iAsIntegerDimStrtmpAsStringFa=Hanshu(A,Str1):Fb=Hanshu(B,Str1)IfFa*Fb>0ThenText4=“方程根不在你规定的区间"ExitSubEndIfIf(Fa=0OrFb=0)Then‘如果Fa,Fb=0,则就是方程的根If(Fa=0)ThenX=AGoTo20ElseX=BGoTo20‘结束程序EndIfEndIf2.3对分法优选法求解计算机辅助建筑设计--方程求解全文共60页,当前为第24页。Strtmp=“计算次数I=A=B=中点X=函数值"&vbCrLfi=1DoUntilAbs(A-B)<=Eps
X=(A+B)/2
IfAbs(Hanshu(X,Str1))=0ThenGoTo20‘如果’Hanshu(X,Str1)=0,说明此时的x已经是方程的解IfHanshu(X,Str1)*Hanshu(A,Str1)<0ThenB=(A+B)/2ElseIfHanshu(X,Str1)*Hanshu(B,Str1)<0ThenA=(A+B)/2EndIfStrtmp=Strtmp&i&Space(3)&A&Space(3)&B&Space(3)&(A+B)/2&Space(3)&Hanshu(X,Str1)&vbCrLfi=i+1Ifi>5000ThenText4=“达不到你所要求的精度,已经累加计算了5000次"ExitDoEndIfLoop2.3.4对分法关键程序2.3对分法优选法求解计算机辅助建筑设计--方程求解全文共60页,当前为第25页。2.3.5程序界面2.3对分法优选法求解计算机辅助建筑设计--方程求解全文共60页,当前为第26页。2.3.6作业3:本节已经给出了对分的调用程序,请编写程序界面,完成输入和输出。要求求解时,列出每次求解时的中间过程。2.3对分法优选法求解计算机辅助建筑设计--方程求解全文共60页,当前为第27页。2.4优选法优选法又叫0.618法,与对分法流程基本相同,但每次插人点。不是区域的中点,而是在区域的0.618处,即c=a+0.618(b-a)或c=b-0.618(b-a),一般收敛速率更快。用对分法求解方程x2-2=0时的计算结果见表2-2计算机辅助建筑设计--方程求解全文共60页,当前为第28页。2.4.1优选法计算表2.4优选法计算机辅助建筑设计--方程求解全文共60页,当前为第29页。2.4.2作业按照对分法求解方法,编写优化法求解方程根的程序,要求:每一个循环中间步骤要输出。2.4优选法计算机辅助建筑设计--方程求解全文共60页,当前为第30页。2.5迭代法高次方程也可利用迭代方法求解。把原方程f(x)=0。进行适当变换,建立迭代方程xi+1=G(x)依次迭代,直至收敛。例2-1求方程x3-x-1=0在x=1.5附近的根。方程由f(x)=0形式改写成迭代方程:计算机辅助建筑设计--方程求解全文共60页,当前为第31页。以1.5作x的初值x0,代入上式求出x1=1.3572,再以x1代入,进一步求出x2…..,直到计算结果见下表(ε=0.00001)2.5迭代法(原理)计算机辅助建筑设计--方程求解全文共60页,当前为第32页。2.5迭代法(原理)计算机辅助建筑设计--方程求解全文共60页,当前为第33页。2.5.1注意事项迭代法的关键在于选定合适的迭代方程,要求迭代方程收敛,否则,因发散而得不到方程的解。如上例,若用x=x3-1为迭代方程,同样取x0=1.5,则x1=2.375,x2=12.3965..…显然xk的值越来越大,即迭代方程发散,正因为迭代法有此缺陷而限制了它的使用。确定迭代方程是否收敛,可以用|G'(x)|<1进行判别,当x满足此式时一般收敛,否则发散。计算机辅助建筑设计--方程求解全文共60页,当前为第34页。2.6牛顿法牛顿法又称弦切法,也是迭代法的一种。求f(x)=0的解,即求曲线f(x)与横坐标的交点a(如图2-5所示),在a点附近x0处的斜率所以所以迭代方程为:计算机辅助建筑设计--方程求解全文共60页,当前为第35页。2.6牛顿法结束条件:直到f(xi)=0,即xi+1=xi或|xi+1-xi|<ε为止。计算机辅助建筑设计--方程求解全文共60页,当前为第36页。2.6.1牛顿法举例思考题1:用牛顿迭代法求解x2-25=0的正数解。自己用笔先计算。计算机辅助建筑设计--方程求解全文共60页,当前为第37页。2.6.1牛顿法举例牛顿迭代收敛快,尤其是土木方程,总有一实数解,且知道解的基本范围,故使用很方便。计算机辅助建筑设计--方程求解全文共60页,当前为第38页。2.6.3牛顿迭代法的近似解法有时,f'(x)的表达式很复杂或无法求时怎么办呢?计算机辅助建筑设计--方程求解全文共60页,当前为第39页。2.6.3牛顿迭代法的近似解法可用数值近似法替代:式中,δ为远小于xi的一个小数。计算机辅助建筑设计--方程求解全文共60页,当前为第40页。本节上机作业4.写出用0.618法求解一元三次方程的程序框图。按流程求出方程2x3+3x2-17x-30=0在[1,10]区域的解,精度为0.01.5,用迭代法解方程f(x)=x-sinx-0.5=0。精度0.0016.用牛顿近似迭代法求x2+10cosx=0的根要求能够输出每一步计算的结果。计算机辅助建筑设计--方程求解全文共60页,当前为第41页。本节上机作业牛顿迭代法求解时应注意:作业7给的初值不同时,求解的解并不同,这时因为如果方程有多个解,它是趋于最近的解。例如作业中2x3+3x2-17x-30=0,分别初值代入-4,-3,-2,0.1,2分别代入,找到方程的解。计算机辅助建筑设计--方程求解全文共60页,当前为第42页。思考题本节讲的扫描法,对分法,优选法及迭代法,当求到一个合适的解后,程序就自动完成了,问题提出,如何求出方程所有的解:计算机辅助建筑设计--方程求解全文共60页,当前为第43页。数值积分计算机辅助建筑设计--方程求解全文共60页,当前为第44页。1定积分的求解在高等数学中,对一个定积分的求解,可以利用牛顿一莱布尼兹(Newton-Leibniz)公式,即这里F(x)是f(x)的一个原函数。计算机辅助建筑设计--方程求解全文共60页,当前为第45页。但是,在科学研究和工程技术中常会遇到下述几种情况,如:1.被积函数的结构复杂,求原函数困难2.原函数不能用初等函数表示;3.被积函数不存在原函数。这时用牛顿一莱布尼兹公式精确计算积分值相当困难,需要建立积分的近似计算方法。数值积分就是一种常用的近似计算方法。数值积分不受被积函数有无解析解的限制,土木工程中都可用数值积分解决。本章介绍最基本的数值积分法,它们是矩形法、梯形法、辛普森法。计算机辅助建筑设计--方程求解全文共60页,当前为第46页。2矩形积分法4-1矩形在满足一定精度的范围内.数值积分可以只利用被积函数来求得积分值,为什么可以这样进行呢?我们知道,函数f(x)在区间[a,b]之间求积,就是求图4-1中的f(x)曲线与x轴以及两直线x=a,x=b所围成的几何图形的面积。计算机辅助建筑设计--方程求解全文共60页,当前为第47页。2.1基本原理如图4-2所示,我们把区间[a,b]分为n个等分,每等分长为△x,那么其面积计算机辅助建筑设计--方程求解全文共60页,当前为第48页。作业1:试编程实现上述矩形积分要求是个通用程序通过传递参数计算计算机辅助建筑设计--方程求解全文共60页,当前为第49页。2.2关键程序代码PublicFunctionJuxingJifen(Str1AsString,AAsDouble,BAsDouble,DengFenAsInteger)AsDoubleDimSum1AsDouble,iAsLong,HAsDoubleH=Abs(B-A)/DengFenSum1=0Fori=1ToDengFenSum1=Sum1+Hanshu(A+i*H,Str1)*HNextJuxingJifen=Sum1EndFunctionStr1函数表达式,但必须符合VB的表示方法。A,B积分的上下限Dengfen积分区间的等分份数计算机辅助建筑设计--方程求解全文共60页,当前为第50页。2.3精度控制在计算时,曲线以下、矩形以上形如三角形的面积都未被考虑,故有一定的误差。当然,若将△x取得小一些,误差就可减小,不过计算量却要大大增加,从而也增大了误差的积累。计算机辅助建筑设计--方程求解全文共60页,当前为第51页。3梯形积分法减少误差的一种方法是,将每个等分用梯形代替矩形,如图4-3所示。计算方法相应地改为:计算机辅助建筑设计--方程求解全文共60页,当前为第52页。3.1梯形积分法举例例4-1利用梯形法求积分的近似解。解:该积分的解析解是0.333.....。按梯形法,将积分区间二等分(n=2),计算机辅助建筑设计--方程求解全文共60页,当前为第53页。3.1梯形积分法举例随n增大,△x减小,近似结果趋近于解析解,见表π△xSπ△xS40.250.344160.06250.33480.1260.334640.01560.333计算机辅助建筑设计--方程求解全文共60页,当前为第54页。3.2程序关键代码但是梯形法以直线来代替曲线仍有误差,如果用某种曲线来代替,就能进一步减少误差,为此而发展了辛普森求积方法。PublicFunctionTixingJifen(Str1AsString,AAsDouble,BAsDouble,DengFenAsInteger)AsDoubleDimSum1AsDouble,iAsLong,HAsDoubleH=Abs(B-A)/DengFenSum1=0Fori=1ToDengFenSum1=Sum1+(Hanshu(A+(i-1)*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智研咨询发布:2025年中国IT服务管理(ITSM)行业市场现状、发展概况、未来前景分析报告
- 2025年中国渗滤液行业市场发展趋势预测报告-智研咨询重磅发布
- 2025年01月内蒙古工业大学数据科学与应用学院(网络空间安全学院)高层次人才引进笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025版民间借款合同范本下载打印与金融科技风险控制
- 2024年12月贵州省贵定县公证处公开招聘公证员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 烹饪工艺学(第2版) 课件 单元14 装盘与装饰工艺
- 金科大联考2025届高三下学期2月质量检测试题 英语 含答案
- 高考热点作文素材【知识精研】《哪吒2》电影导演“饺子”+课件
- 第二单元、20以内的退位减法(单元复习课件)一年级数学下册同步高效课堂(人教版·2024)
- 《时尚北京》杂志2023年第7期
- 2024年云南省公务员考试【申论县乡卷、行测、事业单位招聘】3套 真题及答案
- 300亩文冠果树栽培基地建设项目可行性研究报告
- 数字媒体艺术专业行业分析报告
- 2025年度企业安全生产与环保管理服务协议范本3篇
- 全国职业院校技能大赛高职组(市政管线(道)数字化施工赛项)考试题库(含答案)
- 湖南省长沙市长郡教育集团2024-2025学年七年级上学期期末考试英语试题(含答案)
- 春季开学教职工安全培训
- (正式版)JTT 1497-2024 公路桥梁塔柱施工平台及通道安全技术要求
- 【班级管理表格】学生检讨反思承诺书
- 社会保险职工增减表
- 安全生产培训课件:烟花爆竹生产安全及防范措施
评论
0/150
提交评论