计算机辅助建筑设计--方程求解

上传人:zhan****gclb 文档编号:131440058 上传时间:2022-08-06 格式:PPTX 页数:61 大小:389.94KB
收藏 版权申诉 举报 下载
计算机辅助建筑设计--方程求解_第1页
第1页 / 共61页
计算机辅助建筑设计--方程求解_第2页
第2页 / 共61页
计算机辅助建筑设计--方程求解_第3页
第3页 / 共61页
资源描述:

《计算机辅助建筑设计--方程求解》由会员分享,可在线阅读,更多相关《计算机辅助建筑设计--方程求解(61页珍藏版)》请在装配图网上搜索。

1、计算机辅助支挡建筑设计计算机辅助支挡建筑设计高次方程求解高次方程求解计算机辅助支挡建筑设计计算机辅助支挡建筑设计1 1、通用函数的程序编写通用函数的程序编写v问题:如何求一个函数的解,而函数是可以随时问题:如何求一个函数的解,而函数是可以随时替换的。替换的。v例如:例如:vF(xF(x)=x)=x3 3+4x+4x2 2+5+5vF(xF(x)=e)=ex x-5-5计算机辅助支挡建筑设计计算机辅助支挡建筑设计实现步骤:实现步骤:v1 1在窗体上加一个在窗体上加一个ScriptcontrolScriptcontrol控件控件v2 2 在工程中添加一个类模块在工程中添加一个类模块class1.c

2、lass1.v 类模块中的代码:类模块中的代码:v Public K1 As DoublePublic K1 As Double1 1、通用函数的程序编写通用函数的程序编写计算机辅助支挡建筑设计计算机辅助支挡建筑设计v Private Function Private Function Hanshu(XHanshu(X As Double,Str1 As As Double,Str1 As String)As DoubleString)As Doublev On Error Resume Next On Error Resume Next v Dim Dim sharshar As New C

3、lass1 As New Class1v ScriptControl1.AddObject ScriptControl1.AddObject shsh,sharsharv ScriptControl1.AddCode Function ScriptControl1.AddCode Function F(xF(x)&vbCrLfvbCrLf&kkkk=&Str1&=&Str1&vbCrLfvbCrLf&sh.k1 =&sh.k1 =kkkk&vbCrLfvbCrLf&End Function&End Functionv v ScriptControl1.Run ScriptControl1.Ru

4、n“F,XF,Xv HanshuHanshu=shar.K1=shar.K1v ScriptControl1.Reset ScriptControl1.Reset v End FunctionEnd Function1 1、通用函数的程序编写通用函数的程序编写计算机辅助支挡建筑设计计算机辅助支挡建筑设计作业作业1 1:试设计一个工程,可以计算函数的值。试设计一个工程,可以计算函数的值。2 2 分别输出分别输出x x1,2,3101,2,310函数的值。函数的值。3 3 测试替换了函数表达式后,你编写测试替换了函数表达式后,你编写的程序是否有效。的程序是否有效。1 1、通用函数的程序编写通用函数

5、的程序编写计算机辅助支挡建筑设计计算机辅助支挡建筑设计课题课题2 2:高次方程求解:高次方程求解:v 在解决科学研究和工程领域中的实际问题时,往在解决科学研究和工程领域中的实际问题时,往往涉及到高次方程。高次方程解的个数和方程的往涉及到高次方程。高次方程解的个数和方程的次数相对应,即使只在实数范围内考虑,大多也次数相对应,即使只在实数范围内考虑,大多也有几个解。但是,对于从解决土木工程问题归纳有几个解。但是,对于从解决土木工程问题归纳得到的高次方程,其有意义的解大多仅有一个,得到的高次方程,其有意义的解大多仅有一个,并且是正数解。并且是正数解。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.1

6、 2.1 高次方程求解原理高次方程求解原理v计算机解高次方程的基本过程大致如计算机解高次方程的基本过程大致如下下:v以以x x2 2-2=0-2=0为例,令为例,令y=xy=x2 2-2-2v其函数图像如图。其函数图像如图。y=0y=0时的时的x x值值(x=(x=土土2 20.50.5)即为原方程的解。在即为原方程的解。在x=2x=20.50.5附近附近y y值由负变正。由于函数是连续的,所值由负变正。由于函数是连续的,所以必定存在以必定存在y=0y=0对应的点,该点即为原对应的点,该点即为原方程的一个解。其他方程也是如此,方程的一个解。其他方程也是如此,如果知道了一个解的区间,就可以通如果

7、知道了一个解的区间,就可以通过代人不同的过代人不同的x x值观察值观察y y的变化,从而的变化,从而逐次逼近该解。逐次逼近该解。计算机辅助支挡建筑设计计算机辅助支挡建筑设计高次方程求解常用方法高次方程求解常用方法v高次方程的常用解法有扫描法、对分法、优选法、高次方程的常用解法有扫描法、对分法、优选法、迭代法、牛顿法等。迭代法、牛顿法等。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.2 2.2 扫描法求解方程的根扫描法求解方程的根v 扫描法的主要过程是扫描法的主要过程是:v 1.1.寻找方程解所在的区域寻找方程解所在的区域 a,ba,b。由初始点。由初始点a a出发,根据步长出发,根据步长h

8、h逐次迭代找到逐次迭代找到b b点,使点,使f(a)X f(a)X (b)=0,(b)=0,前一点即为前一点即为a,f(aa,f(a)与与f(bf(b)的值为一正一的值为一正一负。由于从实际土木问题中提炼出的函数负。由于从实际土木问题中提炼出的函数f(xf(x)在在 a,ba,b 连续,所以在连续,所以在 a,ba,b 内必有一解内必有一解x0 x0,使,使f(x0)=0f(x0)=0。该过程也可固定。该过程也可固定a a点不变,单纯扩大区点不变,单纯扩大区域找域找b b点点.计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.2 2.2 扫描法求解方程的根扫描法求解方程的根 2.2.缩小解所在的

9、区域缩小解所在的区域 a,ba,b。十等分。十等分 a,ba,b,逐点求,逐点求f(xif(xi)值,直至相邻两点的值符号相反,这两点即值,直至相邻两点的值符号相反,这两点即为新的区域为新的区域 a,ba,b。3.3.重复上述过程直至收敛,达到一定精度为止。重复上述过程直至收敛,达到一定精度为止。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.2 2.2 扫描法求解方程的根扫描法求解方程的根v 注意,求实际土木工程问题的解时,起始点注意,求实际土木工程问题的解时,起始点a a应应取足够小取足够小(小于解小于解)或干脆取或干脆取a=0a=0。由于其有意义。由于其有意义的解是一个正数解,搜索方向只

10、要向正向进行,的解是一个正数解,搜索方向只要向正向进行,甚至根据实际情况,直接选取适当区域甚至根据实际情况,直接选取适当区域 a,ba,b,然,然后从步骤后从步骤2 2开始求解。而一般的高次方程则要复杂开始求解。而一般的高次方程则要复杂些,解不一定比些,解不一定比a a值大,因此解的区域也可能在初值大,因此解的区域也可能在初始点的另一边,搜索方向需先判别。始点的另一边,搜索方向需先判别。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.2 2.2 扫描法求解方程的根扫描法求解方程的根v扫描法程序流程图见图扫描法程序流程图见图2-22-2,图中,图中h h为步长,为步长,e e为要为要求的精度。求

11、的精度。v扫描法程序中,因为要判断的是两函数的符号,扫描法程序中,因为要判断的是两函数的符号,而不是它们的大小,利用符号函数可使计算量减而不是它们的大小,利用符号函数可使计算量减少,即用少,即用m msgn(f(a),nsgn(f(a),n=sgn(f(bsgn(f(b)替代原来的替代原来的计算更合理。计算更合理。计算机辅助支挡建筑设计计算机辅助支挡建筑设计扫描法求方程根的流程图扫描法求方程根的流程图2.2 2.2 扫描法求解方程的根扫描法求解方程的根计算机辅助支挡建筑设计计算机辅助支挡建筑设计用扫描法求方程用扫描法求方程x2-2=0 x2-2=0的正数解,的正数解,其计算结果见表其计算结果见

12、表2-12-12.2 2.2 扫描法求解方程的根扫描法求解方程的根计算机辅助支挡建筑设计计算机辅助支挡建筑设计v由计算结果知,方程由计算结果知,方程x x2 2-2=0-2=0的一个解在的一个解在1.4141.414至至1.1.415415之间,只要进一步缩小步长之间,只要进一步缩小步长.重复上述过程,重复上述过程,可获得更高精度。可获得更高精度。2.2 2.2 扫描法求解方程的根扫描法求解方程的根计算机辅助支挡建筑设计计算机辅助支挡建筑设计v Dim M%,N%,i As DoubleDim M%,N%,i As Doublev Dim A#,B#,H#,E#,X#,Str2$Dim A#,

13、B#,H#,E#,X#,Str2$v Dim Str1$Dim Str1$v i=1 i=1v Str1=Str1=“计算次数计算次数 a=b=a=b=m mn n&vbCrLfvbCrLfv A=Val(Text2)A=Val(Text2)初始值初始值v H=Val(Text3)H=Val(Text3)求解步长求解步长v E=Val(Text4)E=Val(Text4)求解精度求解精度v Str2=Text1.TextStr2=Text1.Text函数表达式函数表达式v M=M=Sgn(Hanshu(ASgn(Hanshu(A,Str2),Str2)2.2 2.2 扫描法求解方程的根扫描法求

14、解方程的根计算机辅助支挡建筑设计计算机辅助支挡建筑设计v DoDov B=A+H B=A+Hv N=N=Sgn(Hanshu(BSgn(Hanshu(B,Str2),Str2)v Str1=Str1=Str1Str1&i&Space(3)&i&Space(3)&A&Space(3)&B&Space(3)&A&Space(3)&B&Space(3)&M&M*N&N&vbCrLfvbCrLfv If M If M*N 0 Then N 0 Thenv A=B A=Bv M=N M=Nv i=i+1 i=i+1v ElseIfElseIf M=0 Then M=0 Thenv X=A X=Av Ex

15、it Do Exit Dov ElseIfElseIf N=0 Then N=0 Thenv X=B X=Bv Exit Do Exit Dov v ElseIfElseIf H=E Then H 5000 Then If i 5000 Thenv GoToGoTo err1:err1:v End If End Ifv v Loop Until H=E Loop Until H 0 Then 0 Thenv Text4=Text4=“方程根不方程根不在你规定的区间在你规定的区间 v Exit Sub Exit Subv End If End Ifv If(If(FaFa=0 Or =0 Or

16、FbFb=0)Then =0)Then 如果如果FaFa,FbFb0,0,则就是方程则就是方程的根的根v If(If(FaFa=0)Then=0)Thenv X=A X=Av GoToGoTo 20 20v Else Elsev X=B X=Bv GoToGoTo 20 20结束程序结束程序v End IfEnd Ifv End IfEnd If2.3 2.3 对分法优选法求解对分法优选法求解计算机辅助支挡建筑设计计算机辅助支挡建筑设计v Strtmp=“计算次数I=A=B=中点X=函数值&vbCrLfv i=1v Do Until Abs(A-B)=Epsv v X=(A+B)/2v v I

17、f Abs(Hanshu(X,Str1)=0 Then GoTo 20 如果Hanshu(X,Str1)=0,说明此时的x已经是方程的解v If Hanshu(X,Str1)*Hanshu(A,Str1)0 Thenv B=(A+B)/2v ElseIf Hanshu(X,Str1)*Hanshu(B,Str1)5000 Then If i 5000 Thenv Text4=Text4=“达不到你达不到你所要求的精度,已经累加所要求的精度,已经累加计算了计算了50005000次次 v Exit Do Exit Dov End If End Ifv LoopLoop2.3.4 2.3.4 对分法

18、关键程序对分法关键程序2.3 2.3 对分法优选法求解对分法优选法求解计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.3.5 2.3.5 程序界面程序界面2.3 2.3 对分法优选法求对分法优选法求解解计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.3.6 2.3.6 作业作业3 3:v本节已经给出了对分的调用程序,请编写程序界本节已经给出了对分的调用程序,请编写程序界面,完成输入和输出。面,完成输入和输出。v要求求解时,列出每次求解时的中间过程。要求求解时,列出每次求解时的中间过程。2.3 2.3 对分法优选法求解对分法优选法求解计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.4 2.4 优

19、选法优选法v 优选法又叫优选法又叫 0.6180.618法,与对分法流程基本相同,法,与对分法流程基本相同,但每次插人点。不是区域的中点,而是在区域的但每次插人点。不是区域的中点,而是在区域的0.0.618618处,即处,即c=a+0.618(b-a)c=a+0.618(b-a)或或c=b-0.618(b-a),c=b-0.618(b-a),一一般收敛速率更快。般收敛速率更快。v用对分法求解方程用对分法求解方程x x2 2-2=0-2=0时的计算结果见表时的计算结果见表2 22 2计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.4.1 2.4.1 优选法计算表优选法计算表2.4 2.4 优选法

20、优选法计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.4.2 2.4.2 作业作业v按照对分法求解方法,编写优化法求解方程根的按照对分法求解方法,编写优化法求解方程根的程序,程序,v要求:每一个循环中间步骤要输出。要求:每一个循环中间步骤要输出。2.4 2.4 优选法优选法计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.5 2.5 迭代法迭代法v 高次方程也可利用迭代方法求解。把原方程高次方程也可利用迭代方法求解。把原方程f(xf(x)0 0。进行适当变换,建立迭代方程进行适当变换,建立迭代方程xixi1=1=G(xG(x)依次迭代,依次迭代,直至收敛。直至收敛。v 例例2-12-1求方程求方

21、程x x3 3-x-1=0-x-1=0在在x=1.5x=1.5附近的根。附近的根。v 方程由方程由f(xf(x)=0)=0形式改写成迭代方程形式改写成迭代方程:311iixx计算机辅助支挡建筑设计计算机辅助支挡建筑设计v 以以1.51.5作作x x的初值的初值x x0 0,代入上式求出代入上式求出x x1 11.3572,1.3572,再以再以x x1 1代入,进一步求出代入,进一步求出x x2 2.,直到,直到v 计算结果见下表计算结果见下表(0.00001)0.00001)iiixxx12.5 2.5 迭代法迭代法(原理)原理)计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.5 2.5 迭

22、代法迭代法(原理)原理)计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.5.1 2.5.1 注意事项注意事项v迭代法的关键在于选定合适的迭代方程,要求迭迭代法的关键在于选定合适的迭代方程,要求迭代方程收敛,否则,因发散而得不到方程的解。代方程收敛,否则,因发散而得不到方程的解。如上例,若用如上例,若用x=xx=x3 3-1-1为迭代方程,同样取为迭代方程,同样取x0=1.5x0=1.5,则则x1=2.375x1=2.375,x2=12.3965.x2=12.3965.显然显然xkxk的值越来的值越来越大,即迭代方程发散,正因为迭代法有此缺陷越大,即迭代方程发散,正因为迭代法有此缺陷而限制了它的

23、使用。确定迭代方程是否收敛,可而限制了它的使用。确定迭代方程是否收敛,可以用以用|G(xG(x)|1)|1进行判别,当进行判别,当x x满足此式时一般收满足此式时一般收敛,否则发散。敛,否则发散。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.6 2.6 牛顿法牛顿法v 牛顿法又称弦切法,也是迭代法的一种。牛顿法又称弦切法,也是迭代法的一种。v 求求f(xf(x)=0)=0的解,即求曲线的解,即求曲线f(xf(x)与横坐标的交与横坐标的交点点a(a(如图如图2-52-5所示所示),在,在a a点附近点附近x x0 0处的斜率处的斜率0100)(0)(xxxfxydxdyxf所以所以)()(00

24、01xfxfxx)()(111iiiixfxfxx所以迭代方程为:所以迭代方程为:计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.62.6牛顿法牛顿法v结束条件:结束条件:v直到直到f(xf(xi i)=0,)=0,即即x xi i+1=x+1=xi i或或|x|xi+1i+1-x-xi i|为止。为止。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.6.1 2.6.1 牛顿法举例牛顿法举例v思考题思考题1 1:v用牛顿迭代法求解用牛顿迭代法求解x x2 2-25=0-25=0的正数解。的正数解。v自己用笔先计算。自己用笔先计算。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.6.1 2.6.

25、1 牛顿法举例牛顿法举例v 牛顿迭代收敛快,尤其是土木方程,总有一实数牛顿迭代收敛快,尤其是土木方程,总有一实数解,且知道解的基本范围,故使用很方便。解,且知道解的基本范围,故使用很方便。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.6.3 2.6.3 牛顿迭代法的近似解法牛顿迭代法的近似解法v有时,有时,f(xf(x)的表达式很复杂或无法求时的表达式很复杂或无法求时v怎么办呢?怎么办呢?计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.6.3 2.6.3 牛顿迭代法的近似解法牛顿迭代法的近似解法可用数值近似法替代可用数值近似法替代:式中,式中,为远小于为远小于xixi的一个小数。的一个小数。

26、)()()(iiixfxfxf计算机辅助支挡建筑设计计算机辅助支挡建筑设计本节本节 上机作业上机作业v 4.4.写出用写出用0.6180.618法求解一元三次方程的程序框图。法求解一元三次方程的程序框图。按流程求出方程按流程求出方程2 2x3 3+3+3x2 2-17-17x-30=0-30=0在在1,101,10区域的区域的解,精度为解,精度为0.01.0.01.v5 5,用迭代法解方程,用迭代法解方程f(x)x-sinx-0.5=0。精度。精度0.0.001001v6.6.用牛顿近似迭代法求用牛顿近似迭代法求x2 2+10cos+10cosx=0=0的根的根要求能够输出每一步计算的结果。要

27、求能够输出每一步计算的结果。计算机辅助支挡建筑设计计算机辅助支挡建筑设计本节本节 上机作业上机作业v牛顿迭代法求解时应注意:作业牛顿迭代法求解时应注意:作业7 7v给的初值不同时,求解的解并不同,这时因为如给的初值不同时,求解的解并不同,这时因为如果方程有多个解,它是趋于最近的解。例如作业果方程有多个解,它是趋于最近的解。例如作业中中2 2x3 3+3+3x2 2-17-17x-30=0-30=0,分别初值代入,分别初值代入-4,-3,-4,-3,-2,0.1,22,0.1,2分别代入,找到方程的解。分别代入,找到方程的解。计算机辅助支挡建筑设计计算机辅助支挡建筑设计思考题思考题v本节讲的扫描

28、法,对分法,优选法及迭代法,当本节讲的扫描法,对分法,优选法及迭代法,当求到一个合适的解后,程序就自动完成了,求到一个合适的解后,程序就自动完成了,v问题提出,如何求出方程所有的解:问题提出,如何求出方程所有的解:计算机辅助支挡建筑设计计算机辅助支挡建筑设计数值积分数值积分计算机辅助支挡建筑设计计算机辅助支挡建筑设计1 1 定积分的求解定积分的求解v在高等数学中,对一个定积分在高等数学中,对一个定积分v的求解,可以利用牛顿一莱布尼兹的求解,可以利用牛顿一莱布尼兹(Newton-(Newton-Leibniz)Leibniz)公式,即公式,即v这里这里F(xF(x)是是f(xf(x)的一个原函数

29、。的一个原函数。badxxfI)()()()()(aFbFxFdxxfIbaba计算机辅助支挡建筑设计计算机辅助支挡建筑设计v 但是,在科学研究和工程技术中常会遇到下述几种情况,但是,在科学研究和工程技术中常会遇到下述几种情况,v 如:如:v 1.1.被积函数的结构复杂,求原函数困难被积函数的结构复杂,求原函数困难v 2.2.原函数不能用初等函数表示原函数不能用初等函数表示;v 3.3.被积函数不存在原函数。被积函数不存在原函数。v 这时用牛顿一莱布尼兹公式精确计算积分值相当困难,需这时用牛顿一莱布尼兹公式精确计算积分值相当困难,需要建立积分的近似计算方法。数值积分就是一种常用的近要建立积分的

30、近似计算方法。数值积分就是一种常用的近似计算方法。数值积分不受被积函数有无解析解的限制,似计算方法。数值积分不受被积函数有无解析解的限制,土木工程中都可用数值积分解决。土木工程中都可用数值积分解决。v 本章介绍最基本的数值积分法,它们是矩形法、梯形法、本章介绍最基本的数值积分法,它们是矩形法、梯形法、辛普森法。辛普森法。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2 2 矩形积分法矩形积分法v4-14-1矩形矩形v在满足一定精度的范围内在满足一定精度的范围内.数值积分可以只利用被数值积分可以只利用被积函数来求得积分值,为什么可以这样进行呢积函数来求得积分值,为什么可以这样进行呢?v我们知道,函

31、数我们知道,函数f(xf(x)在区间在区间 a,ba,b 之间求积,就是之间求积,就是求图求图4-14-1中的中的f(xf(x)曲线与曲线与x x轴以及两直线轴以及两直线x=a,x x=a,x =b=b所围成的几何图形的面积。所围成的几何图形的面积。计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.1 2.1 基本原理基本原理v如图如图4-24-2所示,我们把区间所示,我们把区间 a,ba,b 分为分为n n个等分,每个等分,每等分长为等分长为x x,那么其面积,那么其面积10)(niixxfS计算机辅助支挡建筑设计计算机辅助支挡建筑设计v作业作业1 1:v试编程实现上述矩形积分试编程实现上述矩

32、形积分v要求是个通用程序要求是个通用程序v通过传递参数计算通过传递参数计算计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.2 2.2 关键程序代码关键程序代码v Public Function Public Function JuxingJifen(Str1 As String,JuxingJifen(Str1 As String,A As Double,B As Double,A As Double,B As Double,DengFenDengFen As Integer)As As Integer)As DoubleDoublev Dim Sum1 As Double,i Dim Sum

33、1 As Double,i As Long,H As Double As Long,H As Double v H=H=Abs(BAbs(B-A)/-A)/DengFenDengFenv Sum1=0 Sum1=0v For i=1 To For i=1 To DengFenDengFenv Sum1=Sum1=Sum1Sum1+Hanshu(AHanshu(A+i +i*H,Str1)H,Str1)*H H v Next Nextv JuxingJifenJuxingJifen=Sum1 =Sum1 v End FunctionEnd FunctionvStr1 Str1 函数表达式,但函数

34、表达式,但必须符合必须符合VBVB的表示方的表示方法。法。vA A,B B 积分的上下限积分的上下限vDengfenDengfen积分区间的等积分区间的等分份数分份数计算机辅助支挡建筑设计计算机辅助支挡建筑设计2.3 2.3 精度控制精度控制v在计算时,曲线以下、矩形以上形如三角形的面在计算时,曲线以下、矩形以上形如三角形的面积都未被考虑,故有一定的误差。当然,若将积都未被考虑,故有一定的误差。当然,若将x x取得小一些,误差就可减小,不过计算量却要大取得小一些,误差就可减小,不过计算量却要大大增加,从而也增大了误差的积累。大增加,从而也增大了误差的积累。计算机辅助支挡建筑设计计算机辅助支挡建

35、筑设计3 3 梯形积分法梯形积分法v减少误差的一种方法是,将每个等分用梯形代替减少误差的一种方法是,将每个等分用梯形代替矩形,如图矩形,如图4 4 3 3所示。计算方法相应地改为:所示。计算方法相应地改为:xxxfxfSniii02)()(计算机辅助支挡建筑设计计算机辅助支挡建筑设计3.1 3.1 梯形积分法举例梯形积分法举例v 例例4-14-1利用梯形法求积分利用梯形法求积分的近似解。102dxxv 解解:该积分的解析解是该积分的解析解是0.333.0.333.。按梯形法,将。按梯形法,将积分区间二等分(积分区间二等分(n=2),n=2),5.0201x375.02)1()21(212)21

36、()0(21ffffS计算机辅助支挡建筑设计计算机辅助支挡建筑设计3.1 3.1 梯形积分法举例梯形积分法举例v随随n n增大,增大,x x减小,近似结果趋近于解析解,见减小,近似结果趋近于解析解,见表表xSxS40.250.344160.06250.33480.1260.334640.01560.333计算机辅助支挡建筑设计计算机辅助支挡建筑设计3.2 3.2 程序关键代码程序关键代码v但是梯形法以直线但是梯形法以直线来代替曲线仍有误来代替曲线仍有误差,如果用某种曲差,如果用某种曲线来代替,就能进线来代替,就能进一步减少误差,为一步减少误差,为此而发展了辛普森此而发展了辛普森求积方法。求积方

37、法。v Public Function Public Function TixingJifen(Str1 As String,TixingJifen(Str1 As String,A As Double,B As Double,A As Double,B As Double,DengFenDengFen As Integer)As As Integer)As DoubleDoublev Dim Sum1 As Double,i Dim Sum1 As Double,i As Long,H As Double As Long,H As Double v H=H=Abs(BAbs(B-A)/-A)

38、/DengFenDengFenv Sum1=0 Sum1=0v For i=1 To For i=1 To DengFenDengFen v Sum1=Sum1=Sum1Sum1+(Hanshu(AHanshu(A+(i-1)+(i-1)*H,H,Str1)+Str1)+Hanshu(AHanshu(A+i +i*H,H,Str1)/2 Str1)/2*H Hv Next Nextv TixingJifenTixingJifen=Sum1 =Sum1 v End FunctionEnd Function计算机辅助支挡建筑设计计算机辅助支挡建筑设计4 4辛普森法求积辛普森法求积 v辛普森求积公式

39、又叫做三点求积公式,或叫做抛辛普森求积公式又叫做三点求积公式,或叫做抛物线求积公式。如图所示,将曲线物线求积公式。如图所示,将曲线f(xf(x)视为抛物视为抛物线,表示为线,表示为rqxpxxf2)()()22(.)4()2(2)12(.)5()3()(4)(3bfhnafhafhafhnafhafhafhafafhS总nabh2计算机辅助支挡建筑设计计算机辅助支挡建筑设计4.1 4.1 举例说明举例说明v利用辛普森方法求下式积分的近似值。利用辛普森方法求下式积分的近似值。dxx10211计算机辅助支挡建筑设计计算机辅助支挡建筑设计4.1 4.1 举例说明举例说明v 解解:将积分区间将积分区间

40、0,10,1四等分,用辛普森公式得四等分,用辛普森公式得 814201h141593.3)1()86()42()41(2)87(.)83()81(4)0(31814ffffffffS计算机辅助支挡建筑设计计算机辅助支挡建筑设计4.2 4.2 关键代码关键代码v Public Function Public Function XinPuJifen(Str1 As String,XinPuJifen(Str1 As String,A As Double,B As Double,A As Double,B As Double,DengFenDengFen As Integer)As As Integ

41、er)As DoubleDoublev Dim Sum1 As Double,i Dim Sum1 As Double,i As Long,H As Double As Long,H As Double v H=H=Abs(BAbs(B-A)/-A)/DengFenDengFen/2/2v Sum1=0 Sum1=0v Sum1=Sum1=Hanshu(AHanshu(A,Str1),Str1)v For i=1 To For i=1 To DengFenDengFen *2 Step 2 2 Step 2 v Sum1=Sum1=Sum1Sum1+4 +4*(Hanshu(a+iHanshu

42、(a+i *H,Str1)H,Str1)v Next Next v v For i=1 To For i=1 To DengFenDengFen-1-1v Sum1=Sum1=Sum1Sum1+2 +2*Hanshu(AHanshu(A+2 +2*i i*H,Str1)H,Str1)v Next Nextv Sum1=Sum1=Sum1Sum1+Hanshu(BHanshu(B,Str1)Str1)v Sum1=Sum1=Sum1Sum1 *H/3 H/3v XinPuJifenXinPuJifen=Sum1 =Sum1 v End FunctionEnd Function计算机辅助支挡建筑设

43、计计算机辅助支挡建筑设计5 5 作业作业 v1.1.编写程序,用矩形积分法求解下式积分值:编写程序,用矩形积分法求解下式积分值:v分别打印分成分别打印分成4 4份,份,1010份,份,2020份的值,并估计误差。份的值,并估计误差。100102dxx计算机辅助支挡建筑设计计算机辅助支挡建筑设计5 5 作业作业v2.2.用梯形积分法求解上题,并估计分成相等份时用梯形积分法求解上题,并估计分成相等份时与解析解的差别。与解析解的差别。v3.3.用辛普森法求解上式,试估误差,并与解析解用辛普森法求解上式,试估误差,并与解析解对比。对比。v比较上述三种方法,哪一种方法更容易逼近精确比较上述三种方法,哪一种方法更容易逼近精确解。解。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!