董浩,孫成飛,周震昊,王雨龍,丁應(yīng)章
(中建三局集團(tuán)有限公司,湖北 武漢 430000)
隨著人們對(duì)美好生活的不斷追求,出現(xiàn)了各色各異的建筑結(jié)構(gòu),我國(guó)現(xiàn)行《混凝土結(jié)構(gòu)設(shè)計(jì)規(guī)范》(GB50010-2010),經(jīng)過多次改進(jìn)其理論更為科學(xué)合理,更趨于國(guó)際化。但在應(yīng)對(duì)形形色色的建筑結(jié)構(gòu)時(shí),為使結(jié)果更好地與實(shí)際相符,規(guī)范中的某些計(jì)算公式會(huì)較為麻煩。例如計(jì)算對(duì)稱配筋矩形截面小偏心受壓構(gòu)件時(shí),求解相對(duì)受壓區(qū)高度ζ需解的三次方程,用于設(shè)計(jì)很不方便,故“規(guī)范”給出了求ζ的近似公式,但按此式計(jì)算在準(zhǔn)確度上有待商榷。因此,可以使用“牛頓法[4]”對(duì)高次方程進(jìn)行求解,由于需要應(yīng)用到工程計(jì)算之中求解過程不能繁瑣,且要求能夠快速收斂,以及運(yùn)用一種改進(jìn)牛頓法的方法:“牛頓—秦九韶法”[1]。根據(jù)數(shù)值分析[4]牛頓法與牛頓—秦九韶法的求解,需要對(duì)初值有準(zhǔn)確的估計(jì),在這種情況下本文列舉了另一種解法“黃金分割法”[7],利用黃金分割法收斂快且不需要定義初值的優(yōu)勢(shì),可以更快速地求解高次方程。
下面作者簡(jiǎn)述“規(guī)范”中采用簡(jiǎn)化公式的過程,以便分析其不足。對(duì)于對(duì)稱配筋的小偏心受壓柱,根據(jù)基本公式和對(duì)稱配筋的特點(diǎn),可以導(dǎo)出以下公式:
式(1)為ζ的三次方程,求解很麻煩,故“規(guī)范”基于以下理由做出了簡(jiǎn)化:
由式(2)知y也是ζ的三次函數(shù)。但因?yàn)樵谛∑氖軌悍秶鷥?nèi),y與ζ的關(guān)系是趨近于線性關(guān)系。小偏心受壓構(gòu)件ζ常見范圍為:ζb<ζ< 1.6-ζb其中ζb為相對(duì)界限受壓區(qū)高度,對(duì)于常用的Ⅰ、Ⅱ和Ⅲ級(jí)鋼筋,ζb值分別為0.614、0.544及0.528,則 ζ(1-0.5ζ)的值在 0.39~0.50之間,故“規(guī)范”取ζ(1-0.5ζ)=0.43,將其代入式(1)即得求ζ的近似公式:
則配筋公式:
可以總結(jié)兩點(diǎn)。
①在計(jì)算矩形截面對(duì)稱配筋小偏心受壓構(gòu)件時(shí)關(guān)鍵是需求解ζ。
②用上述規(guī)范所訴的近似算法進(jìn)行設(shè)計(jì)時(shí),產(chǎn)生誤差的原因在于:在小偏心受壓范圍內(nèi),雖然ζ的三次式(2)趨近于直線,但對(duì)不同材料其直線回歸方程是不一樣。若不分情況,一律將 ζ(1-0.5ζ)的結(jié)果取為常數(shù)0.43,即把采用不同材料時(shí)的直線回歸方程全都視為y=0.43(ζb-ζ)/(ζb-0.8),顯然與實(shí)際不完全相符,導(dǎo)致一定誤差[3]。
牛頓法也稱牛頓—拉佛森法,是迭代法的一種,其收斂速度通常比一般的迭代法都快,下面簡(jiǎn)述一下牛頓法的原理[4]:
牛頓法是用泰勒公式展開的一種迭代方法,設(shè)方程f(x)==0的根x*的近似值為將函數(shù)f(x)在點(diǎn)xk展開:
舍去高階項(xiàng)上式可近似表達(dá):
整理上式可得到迭代式:
根據(jù)以上迭代式選取初值x然后反復(fù)迭代就可以得到滿足精度的x值,利用此原理可以求解公式(1)的三次方程,根據(jù)上述迭代式可知求解f(x)的函數(shù)值與一階導(dǎo)數(shù)值即可,因此,可以發(fā)現(xiàn)由公式(1)得到的三次方程組多項(xiàng)式需要求解平方乘法然后再加法,在計(jì)算步驟中雖然較解三次方程組簡(jiǎn)單一點(diǎn),但計(jì)算量太大,不適合手算。基于此,李汝庚[1]提出了改進(jìn)后的牛頓—秦九韶法。
上一節(jié)的“牛頓法”,雖然思路清晰,方法易懂,但有函數(shù)值及一階導(dǎo)數(shù)的求解,計(jì)算量大了。早在我國(guó)古代就有秦九韶法來解決有關(guān)于多項(xiàng)式f(x)在任意x的泰勒展開式前面系數(shù)的問題。牛頓—秦九韶法[5]由我國(guó)古代的秦九韶法與西方近代的牛頓迭代法相結(jié)合,本方法適用于解決建筑結(jié)構(gòu)中的高次方程。例如本文所述的矩形截面對(duì)稱配筋小偏心受壓構(gòu)件的計(jì)算求解,相對(duì)受壓區(qū)高度ζ的三次方程問題,若用牛頓—秦九韶法求解則頗簡(jiǎn)便。下面以一個(gè)三次多項(xiàng)式為例,說明該法的數(shù)學(xué)原理及算法步驟。
關(guān)于f(x)在任意點(diǎn)x0處的泰勒展開式:
按如下格式計(jì)算:
格式中第一行是式8的各項(xiàng)系數(shù),然后以下各行數(shù)均按式10計(jì)算:
例如第二行的計(jì)算如下:(因?yàn)閎0左邊沒有數(shù)字所以b0=a0
由此可得按式(9)表示的f(x)在x0處的泰勒展開式:
上述方法就是秦九韶法[7],此法利用乘法和加法代替求導(dǎo)計(jì)算,大大簡(jiǎn)化了計(jì)算過程,對(duì)于求任意高次多項(xiàng)式在任意點(diǎn)x0處的展開式系數(shù)非常簡(jiǎn)便適用。而牛頓法的迭代公式(7)首先需求解一階導(dǎo)數(shù)和函數(shù)值,再應(yīng)用迭代公式反復(fù)迭代才能得到數(shù)值解,對(duì)比而言計(jì)算量過大。
根據(jù)以上分析,無論是迭代法還是改進(jìn)后的迭代法,對(duì)于方程的求解都依賴于初值的選取,對(duì)于對(duì)稱配筋小偏心受壓構(gòu)件ζ的常遇范圍為ζb<ζ<1.6-ζb,因此,ζ比較好的初始值ζb便可在此范圍內(nèi)擬定,可取ζb與(1.6-ζb)的平均值,近似為0.8左右[5]。但建筑結(jié)構(gòu)中高次方程多樣,并不都像對(duì)稱配筋小偏心受壓構(gòu)件中的ζ可以選取出初值。例如分析高層建筑的固有振動(dòng)時(shí),設(shè)自振頻率為ω,特征值λ=1/ω2,經(jīng)推導(dǎo)可得高層建筑確定頻率的高次方程為另外,當(dāng)高次方程中存在多解時(shí),上述迭代法會(huì)出現(xiàn)收斂速度慢的缺點(diǎn)。
黃金分割法[6]求高次方程的數(shù)值解,能克服上述兩大缺點(diǎn)。黃金分割法的算法思想為對(duì)于連續(xù)函數(shù)F(x),在閉區(qū)間[a,b]內(nèi)有且僅有一個(gè)實(shí)數(shù)根x,令x1=a,x2=b。若F(x1)=0或F(x2)=0,則x=x1或x=x2即為所求實(shí)數(shù)根;否則求取新的區(qū)間利用①=a+(b-a)×0.618(設(shè)a<b)求取第一個(gè)點(diǎn);再利用②=(a+b)-①=(大+小)-中求取第二個(gè)點(diǎn),比較F(①)與F(②)的大小,得到新的區(qū)間在新區(qū)間內(nèi)重復(fù)以上過程,直到所求有根區(qū)間在精度范圍內(nèi)為止,即可得到實(shí)數(shù)根x[6]。
用黃金分割律求高次方程的數(shù)值解主要用到下面兩個(gè)公式:
①=a+(b-a)×0.618(設(shè)a<b)
②=(a+b)-①=(大+小)-中
由于黃金分割法需要提前知道根的區(qū)間,可以利用以下兩種方式確定:a.利用連續(xù)函數(shù)根的存在性定理(二分法確定根所在的區(qū)間)2)根據(jù)建筑結(jié)構(gòu)的理論大致確定根的區(qū)間如小偏心受壓構(gòu)件ζ,可以明確知道它的根在[0,1]區(qū)間。
例1已知:軸向力設(shè)計(jì)值N=3500kN,彎矩M1=0.88M2,M2=360kN·M,截面尺寸b=400mm,h=700mm,混 凝 土 強(qiáng) 度 等 級(jí) 為C40,鋼筋用HRB400鋼筋,構(gòu)件計(jì)算長(zhǎng)度Ic=I0=3.3m,對(duì)稱配筋[3]。
經(jīng)判斷為小偏心受壓,使用規(guī)范近似公式計(jì)算得ζ=0.6826:由(1)式化簡(jiǎn)得到以下高次多項(xiàng)式:
用解三次方程的方法算得的精確解為ζ=0.6975。
a.F(0)=-0.841<0;F(1)=0.1163>0
則ζ的解在[0,1]之間;
第一個(gè)點(diǎn):
①=0+(1-0)×0.618=0.618
第二個(gè)點(diǎn):
②=(1+0)-0.618=0.382
比較F(0.618)與F(0.382)大小
b.得到區(qū)間[0.618,1]
第一個(gè)點(diǎn):①=0.618+(1-0.618)×0.618=0.854076
第 二 個(gè) 點(diǎn) :② =(1+0.618)-0.854076=0.763924
比較F(0.763924)與F(0.854076)大小
c.得到區(qū)間[0.618,0.763924]
第一個(gè)點(diǎn):①=0.618+(0.763924-0.618)×0.618=0.708181
第 二 個(gè) 點(diǎn) :② =(0.763924+0.618)-0.708181=0.673743
比較F(0.673743)與F(0.708181)大小
d.得到區(qū)間[0.673743,0.708181]
第 一 個(gè) 點(diǎn) :① =0.673743+(0.708181-0.673743)×0.618=0.9650
第 二 個(gè) 點(diǎn) :② =(0.708181+0.673743)-0.6950=0.686924
e.F(0.6950)=-0.001221075;
F(0.686924)=-0.0046769
此時(shí)可以看到F(0.6950)已經(jīng)很接近0,說明0.6950接近真實(shí)解;
利用精確度是1%此時(shí)F(0.6950)=-0.001221075精確度0.1%可以停止迭代。
f.取ζ=0.6950,精確值為0.6975
對(duì)實(shí)際的建筑結(jié)構(gòu),其數(shù)學(xué)模型難以用數(shù)學(xué)分析得出解析解,須按數(shù)值計(jì)算方法尋求近似解,迭代法是數(shù)值計(jì)算中最常用的方法。本文僅介紹了建筑結(jié)構(gòu)中對(duì)稱配筋矩形截面小偏心受壓構(gòu)件有效又有特色的數(shù)值解法。此法同樣可用于求解建筑結(jié)構(gòu)中其他有關(guān)高次方程的問題。通過對(duì)比三種計(jì)算方法及分析算例可以得到以下結(jié)論。
①利用改進(jìn)的牛頓法與黃金分割法對(duì)小偏心構(gòu)件相對(duì)受壓區(qū)高度的計(jì)算,可以得到簡(jiǎn)化公式更加精確的解。
②對(duì)于小偏心構(gòu)件的計(jì)算,改進(jìn)的牛頓迭代法雖然求解速度較快且較精確,但是其對(duì)于第一次迭代的初值要求嚴(yán)苛,然而不是所有建筑結(jié)構(gòu)中的高次方程都有比較準(zhǔn)確的估值。因此,相比之下黃金分割法更適合應(yīng)用于特殊情況。
③黃金分割法更適用于計(jì)算機(jī)編程,通過計(jì)算機(jī)并行計(jì)算,可以對(duì)已有進(jìn)行算法優(yōu)化。