第一篇:西南交大數(shù)值分析上機實習報告
數(shù)值分析上機實習報告要求
1.應提交一份完整的實習報告。具體要求如下:
(1)要有封面,封面上要標明姓名、學號、專業(yè)和聯(lián)系電話;
(2)要有序言,說明所用語言及簡要優(yōu)、特點,說明選用的考量;
(3)要有目錄,指明題目、程序、計算結果,圖標和分析等內(nèi)容所在位置,作到
信息簡明而完全;
(4)要有總結,全方位總結機編程計算的心得體會;
(5)盡量使報告清晰明了,一般可將計算結果、圖表及對比分析放在前面,程序
清單作為附錄放在后面,程序中關鍵部分要有中文說明或標注,指明該部分的功能和作用。
2.程序需完好保存到期末考試后的一個星期,以便老師索取用于驗證、詢問或質(zhì)疑部分內(nèi)容。
3.認真完成實驗內(nèi)容,可以達到既學習計算方法又提高計算能力的目的,還可以切身體會書本內(nèi)容之精妙所在,期間可以得到很多樂趣。
4.拷貝或抄襲他人結果是不良行為,將視為不合格。
5.報告打印后按要求的時間提交給任課老師。
數(shù)值分析上機試題 10(選擇其中兩個題目)
1. 給定三個n階線性方程組Ax=b,其中A的元素aij(i,j,=1,…,n)與階數(shù)分別為
(1)aij=(i+j-1)2, n=3,4,5,…,9;
(2)aij=(i+j)2, n=3,4,5
(3)aij=1/(i+j-1), n=3,4,5,6;
b的元素bi=ai1+ai2+…,ain,(i=1,2,…,n)
已知其準確解為x=(1,1,...,1)T, 用列主元素法分別求解上列方程組。輸出各步主元,解釋所遇到的現(xiàn)象。
2.用雅格比法與高斯-賽德爾迭代法解下列方程組Ax=b,研究其收斂性,上機驗證理論分析是否正確,比較它們的收斂速度,觀察右端項對迭代收斂有無影響。
(1)A行分別為A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4]; b1=[-3,2,4]T, b2=[100,-200,345]T,(2)A行分別為A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1] T, b2=[5,0,-10]T,1
(3)A行分別為A1=[1,3],A2=[-7,1];b=[4,6]T,3.松弛因子對SOR法收斂速度的影響。
用SOR法求解方程組Ax=b,其中
??41??-3?????1?41???-2????-2?...??,B??? ???.?...????1?41???-2???-3?1?4?????
要求程序中不存系數(shù)矩陣A,分別對不同的階數(shù)取w=1.1, 1.2,...,1.9進行迭代,記錄近似解x(k)達到||x(k)-x(k-1)||<10-6時所用的迭代次數(shù)k,觀察松弛因子對收斂速度的影響,并觀察當w?0或w?2會有什么影響?
4.某實際問題中兩次過程記錄測得(x,y)數(shù)據(jù)點如下:其中yi=f(xi),i=1,…,21
第一次的數(shù)據(jù)為:
x=[-5.0000-4.5000-4.0000-3.5000-3.0000-2.5000-2.0000
-1.5000-1.0000-0.500000.50001.00001.5000
2.00002.50003.00003.50004.00004.50005.0000];
y =[-0.0000-0.0001-0.0002-0.0003-0.0004-0.0048-0.0366
-0.1581-0.3679-0.389400.38940.36790.1581
0.03660.00480.00040.00030.00020.00010.0000]
第二次的數(shù)據(jù)為:
x=[-5.0000-4.7000-4.4000-4.1000-3.8000-3.5000-3.2000
-2.9000-2.6000-2.3000-2.0000-1.7000-1.4000-1.1000
-0.8000-0.5000-0.20000.10000.40000.70001.0000
1.30001.60001.90002.20002.50002.80003.1000
3.40003.70004.00004.30004.60004.9000]
y=[-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0001
-0.0006-0.0030-0.0116-0.0366-0.0945-0.1972-0.3280
-0.4218-0.3894-0.19220.09900.34090.42880.3679
0.23990.12370.05140.01740.00480.00110.0002
0.00000.00000.00000.00000.00000.0000]
現(xiàn)考慮分段低次或樣條插值,或直接插值,總之用不超過7次的分段或不分段插值多項式近似該過程的對應規(guī)律y=f(x),請給出一種解決方案使得誤差盡量小表示盡量簡單。
5.用Runge-Kutta 4階算法對初值問題y/=-20*y,y(0)=1按不同步長求解,用于觀察穩(wěn)定區(qū)間的作用,推薦兩種步長h=0.1,0.2。
注:此方程的精確解為:y=e-20x
第二篇:《數(shù)值分析》上機實習報告
數(shù)值分析上機實驗報告
姓 名:班 級:學 號:院 系:機械工程學院指導教師:C語言)
2006級 2006050349
(for(j=0;j } void guss(float a[N][N],float b[N])/* 子函數(shù)高斯消去法*/ { int i,j; { } printf(“Household變換的結果:”);/*輸出Household變換的結果*/ for(i=0;i for(j=0;j } if(j%N==0)printf(“n”);s=0.0;for(i=j+1;i } for(i=0;i } for(k=0,i=0;i q[i]=y[i]-k*u[i];for(i=0;i } x[N-1]=y[N-1]/u[N-1];for(i=N-1;i>=0;i--)x[i]=(y[i]-a[i][i+1]*x[i+1])/u[i];printf(“消去法的結果:n”);/*輸出消去法的結果*/ for(i=0;i } printf(“n”);} void sor(float a[N][N],float b[N])/*子函數(shù)超松馳法*/ { float a1[N][N];int i,j,k,m;float x[N],temp[N][N];float w=1.4,h=0,g=0;for(m=0;m { for(j=1;j<=N;j++){ if(j<=i-1)h+=temp[i-1][j-1]*x[j-1];else if(j==i)h+=0;else h+=temp[i-1][j-1]*x[j-1]; q[i]=a[i][i-1]/u[i-1];u[i]=a[i][i]-q[i]*a[i-1][i];y[i]=b[i]-q[i]*y[i-1];if(i==5)printf(“n”);printf(“x%d=%9.6f ”,i,x[i]); } g=(h+b[i-1])*w;x[i-1]=(1-w)*x[i-1]+g;h=0.0;g=0.0;} } printf(“超松弛法的結果:n”);/*輸出超松弛法的結果*/ for(i=0;i 四、運行結果 Household變換的結果: 12.3841-4.8931 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000-4.8931 25.3984 6.4941 0.0000-0.0000 0.0000-0.0000-0.0000-0.0000 0.0000 6.4941 20.6115 8.2439-0.0000-0.0000-0.0000 0.0000 0.0000 0.0000 0.0000 8.2439 23.4229-13.8801-0.0000 0.0000-0.0000 0.0000 0.0000-0.0000-0.0000-13.880129.6983 4.5345 0.0000 0.0000 0.0000 0.0000 0.0000-0.0000-0.0000 4.5345 16.0061 4.8814 0.0000-0.0000 0.0000-0.0000-0.0000 0.0000 0.0000 4.8814 26.0133-4.5036 0.0000 0.0000-0.0000 0.0000-0.0000 0.0000 0.0000-4.5036 21.2540 4.5045 0.0000-0.0000 0.0000 0.0000 0.0000-0.0000 0.0000 4.5045 14.5341 消去法的結果: x0= 1.075799 x1= 2.275744 x2=-2.855514 x3= 2.293097 x4= 2.112633 x5=-6.423833 x6= 1.357923 x7= 0.634245 x8=-0.587266 超松弛法的結果: x0= 1.073409 x1= 2.272580 x2=-2.856600 x3= 2.292511 x4= 2.112164 x5=-6.422582 x6= 1.357802 x7= 0.634259 x8=-0.587042 五、問題討論: 1.算法分析 SOR方法的矩陣形式為: X(m)=(E-ωL)-1((1-ω)E+ωR)x(m-1)+(E-ωL)-1ωg 若記 Lω=(E-ωL)-1((1-ω)E+ωR),SOR收斂的充要條件是S(Lω)<1.且若A為對稱正定陣,則當松弛因子ω滿足0<ω<2時,SOR方法收斂。此題中矩陣B是對稱正定陣,且是三對角的,所以選擇合適的松馳因子ω,收斂速度是很快的。2.上機出現(xiàn)情況 數(shù)組作為子函數(shù)參數(shù)時,實現(xiàn)的是地址傳遞,會改變原數(shù)組中元素的值,因此主函數(shù)調(diào)用housholder變換子函數(shù)后,原數(shù)組a[9][9]中的值已經(jīng)改變?yōu)槿龑顷?。以下的消去法、超松弛法子函?shù)調(diào)用的是已經(jīng)三對角化后的a[9][9]的值。 調(diào)用時由于沒有定義housholder變換子函數(shù)中數(shù)組a[][]的大小,運行時出現(xiàn)以下錯誤提示: error C2087: ' Xn1?? , Zk? mkmax(Xn)sa[0]=a[0][0]-x;if(sa[0]==0)sa[1]=a[0][1]*a[0][1];else sa[1]=a[1][1]-x-a[0][1]*a[0][1]/sa[0];for(i=2;i } float duifen(float a[N][N])/*對分法求取方程的解的子函數(shù)*/ { float ss1=0,ss2=23,ss=0,h=0,g=0;float l,ll;h=f(a,ss2);while(1){ ss1=ss;g=f(a,ss);ss=0.5*(ss+23);l=0.5*(ss1+23);if(g-h==1)break;{ if(sa[i-1]*sa[i-2]!=0)sa[i]=a[i][i]-x-a[i-1][i]*a[i-1][i]/sa[i-1];else if(sa[i-2]==0)sa[i]=a[i][i]-x;if(sa[i-1]==0)sa[i]=-1;} { if(sa[i]>=0)hh+=1;else hh+=0;} for(i=0;i float fanmi(float a[N][N])/*反冪法求解方程的解的子函數(shù)*/ { float mk=0,t,t1;float z[N],yy[N],a3[N][N];int i,j,k,m,tt;float h=0;float l[N]={0,};t1=duifen(a);/*調(diào)用對分法求取方程的解*/ for(i=0;i for(m=0;m } printf(“反冪法的解的特征向量是:n”);{if(m==5)printf(“n”);printf(“%-10.6f”,z[m]);} /*輸出反冪法的解的特征向量*/ return 0;for(m=0;m printf(“n”);main(){ float a[N][N]={{12.3841,-4.8931},{-4.8931,25.3984,6.4941},{0,6.4941,20.6115,8.2439}, {0,0,8.2439,23.4229,-13.8801},{0,0,0,-13.8801,29.6983,4.5345},{0,0,0,0,4.5345,16.0061,4.8814}, {0,0,0,0,0,4.8814,26.0133,-4.5036},{0,0,0,0,0,0,-4.5036,21.2540,4.5045},{0,0,0,0,0,0,0,4.5045,14.5341}}; printf(“對分法的結果是:n”);printf(“d=%f”,duifen(a));/*調(diào)用對分法并輸出對分法近似解*/ fanmi(a);/*調(diào)用反冪法求解*/ } 四、運行結果 對分法的結果是: d=21.916260 反冪法的結果是: d=21.928129 反冪法的解的特征向量是: 0.157066-0.306359 0.282201 0.285925 0.198640 0.533758 0.462842 1.000000 0.611843 五、問題討論 1.算法分析 1)對分法簡單可靠,數(shù)值穩(wěn)定性較高,對于求少量幾個特征值特別適宜.但收斂速度較慢.2)反冪法是結合對分法使用的,近似值較恰當,其收斂速度是很快.只要迭代兩次就可得到較滿意的結果.但在運用中需把一般矩陣化為Hessebberg陣才可計算.2.上機出現(xiàn)情況 當把對分法及反冪法全部寫在主函數(shù)中,實現(xiàn)題目全部要求時,主函數(shù)過于冗長,不利于糾錯,也不利于實現(xiàn)共享,通過修改對分法及反冪法為子函數(shù)調(diào)用,以便于調(diào)試,亦有利于共享。 for(j=0;j } b[0]=2*h*b[0];a[i][i-1]=1;a[i][i]=4;a[i][i+1]=1;b[N-1]=2*h*b[N-1];for(i=1;i u[0]=a[0][0];/*消去法求c[i]*/ y[0]=b[0];for(i=1;i } c[N-1]=y[N-1]/u[N-1];for(i=N-2;i>=0;i--) for(i=0;i } s=0.0;for(i=0;i b[N-1]=b[N-1]+b[N-2];q[i]=a[i][i-1]/u[i-1];u[i]=a[i][i]-q[i]*a[i-1][i];y[i]=b[i]-q[i]*y[i-1];c[i]=(y[i]-a[i][i+1]*c[i+1])/u[i];e=fabs(*x-i);if(e>=2) w[i]=0;w[i]=0.5*fabs(e*e*e)-e*e+2.0/3.0;w[i]=(-1.0/6.0)*fabs(e*e*e)+e*e-2*fabs(e)+4.0/3.0;else if(e<=1)else } *x=s;*x1=(c[(int)(m+1)]-c[(int)(m-1)])/2.0;void main(){ } 四、運行結果 三次樣條插值求得的結果是: f(4.563)=1.517932 f'(4.563)=0.249350 五、問題討論: 樣條插值效果比Lagrange插值好,由于樣條插值不必經(jīng)過所有點,所以沒有Runge現(xiàn)象.而且插值函數(shù)比較光滑。 其基本思想是對均勻分劃的插值函數(shù)的構造,三次樣條函數(shù)空間中不取1,x,x,x,(x-xj)+為基函數(shù),而取B樣條函數(shù)Ω3(x-xj/h)為基函數(shù).由于三次樣條函數(shù)空間是N+3維的,故我們把分點擴大到N?1X-1,XN+1,則任意三次樣條函數(shù)可用Ω3(x-xj/h)線性組合來表示 S(x)= 不同插值問題,若能確定cj由解的唯一性就能求得解S(x).2 33float b[N]={1,0,0.69314718,1.0986123,1.3862944,1.6094378,1.7917595, 1.9459101,2.079445,2.1972246,2.3025851,0.1};float x,x1;float h;h=1;x=4.563;scyt(&x,&x1,b,h);/*調(diào)用三次樣條插值子函數(shù)*/ printf(“f(4.563)=%.6fn”,x);printf(“f'(4.563)=%.6fn”,x1);printf(“三次樣條插值求得的結果是:n”); ?cjΩ3(x-xj/h)這樣對 j??1 7 4float z;z=pow(x,7)-28*pow(x,4)+14;return(z);float z;z=7*pow(x,6)-112*pow(x,3);return(z);x=fabs(f1(a))>fabs(f1(b))?a:b;/*初始值的選擇*/ } main(){ float a,b; /*變量定義及賦初值*/ float min;float result;a=0.1;b=1.9;min=1e-5;result=ndf(a,b,min);/*調(diào)用牛頓法子函數(shù)*/ printf(“用牛頓法求方程在取初值為(0.1,1.9)區(qū)間端點時的近似根為:n”);printf(“x=%.6fn”,result);} 四、運行結果 用牛頓法求方程在取初值為(0.1,1.9)區(qū)間端點時的近似根為: x=0.845497 五、問題討論 1.Newton法收斂速度比較快,是平方收斂,但它是局部收斂。2.采用newton法求方程平方收斂,較為精確。但需求函數(shù)導數(shù)。 3.初始值取為區(qū)間端點xo時,取使f(xo)f′′(xo)>0的一個,本例中取為xo=1.9。 (k) (0) (0) 3x1.42float z;z=pow(3,y)*pow(y,1.4)*(5*y+7)*sin(y*y);return(z);s=0;for(i=1;i<=(pow(2,j-1));i++)s+=(b-a)*(*f)(a+(2*i-1)*(b-a)/pow(2,j))/pow(2,j-1);t[1][j]=(t[1][j-1]+s)/2; } { } z=t[i+1][0];return(z);for(j=1;j<=N-i+1;j++)t[i+1][j-1]=(pow(4,i)*t[i][j]-t[i][j-1])/(pow(4,i)-1);break;if(fabs(t[i][0]-t[i+1][0])<=min)main(){ } 四、運行結果 用Romberg算法求積分的結果(允許誤差為0.00001): I=440.536011 五、問題討論: 1.算法分析 1)Romberge算法的優(yōu)點是: 把積分化為代數(shù)運算,而實際上只需求T1,以后用遞推可得.算法簡單且收斂速度快,一般4或5次即能達到要求.2)Romberge算法的缺點是: 對函數(shù)的光滑性要求較高,計算新分點的值時,這些數(shù)值的個數(shù)成倍增加。 2.上機出現(xiàn)問題 本程序一開始編寫時,是利用函數(shù)的遞歸調(diào)用來實現(xiàn),編譯正常通過,但運行時出現(xiàn)異常,經(jīng)分析可能是多次遞歸產(chǎn)生誤差,改用數(shù)組代替遞歸來存放Tij的值時,運行正常。 (i)float a,b;/*變量定義及初始化*/ float min;float result;float(*p)(float);a=1;b=3;min=1e-5;p=f;result=lbg(a,b,min,p);/*調(diào)用龍貝格法求積分子函數(shù)*/ printf(“用Romberg算法求積分的結果(允許誤差為0.00001):n”);printf(“I=%.6fn”,result); } } for(i=0;i<4;i++){ } fkt(work1,work2);*t=ttemp+temp[i];for(j=0;j } } 四、運行結果 定步長四階Runge-Kutta法求微分方程組解的結果: T Y1 Y2 Y3 0.025000| 0.025000| 0.151579| 8.346120 0.045000| 0.045000| 0.312984| 7.538067 0.085000| 0.085000| 0.560777| 4.944312 0.100000| 0.100001| 0.629078| 4.178828 五、問題討論: 1.算法分析 1)Runge_Kutta方法的優(yōu)點: 精度高,不必用別的方法求開始幾點的函數(shù)值。 可根據(jù)f'(t,y)變化的情況與需要的精度自動修改步長。程序簡單,存儲量少。方法穩(wěn)定。 rgkt(n,&t,step,&y,work1,work2,work3);/*調(diào)用Runge-Kutta算法求解*/ if(i==49||i==89||i==169||i==199)printf(“%9.6f|%9.6f|%9.6f|%9.6fn”,t,y[0],y[1],y[2]);2)Runge_Kutta方法的缺點: 每步要計算函數(shù)值f(t,y)四次,在f(t,y)較復雜時,工作量大, 且每一步缺乏可靠的檢查。 2.上機出現(xiàn)情況 當用主函數(shù)實現(xiàn)題目全部要求時,主函數(shù)過于冗長,不利于修改和糾錯,也不利于實現(xiàn)共享,通過修改Runge_Kutta法及函數(shù)表達式為子函數(shù)調(diào)用,并把一些條件語句放進子函數(shù)中,主函數(shù)只控制初始值及結果精度要求,經(jīng)如此修改后便于閱讀和調(diào)試。 數(shù)值分析第二次大作業(yè)(1)用Lagrange插值法 程序: function f=Lang(x,y,x0)symst;f=0;n=length(x);for(i=1:n) l=y(i);for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j));end;for(j=i+1:n) l=l*(t-x(j))/(x(i)-x(j));end f=f+l;simplify(f); if(i==n)if(nargin==3) f=subs(f,'t',x0);else f=collect(f); f=vpa(f,6);end end end x=[1,2,3,-4,5];y=[2,48,272,1182,2262];t=[-1];disp('插值結果')yt=Lang(x,y,t)disp('插值多項式')yt=Lang(x,y)ezplot(yt,[-1,5]);運行結果: 插值結果: Yt= 12.0000 插值多項式: yt =4.0*t^43.0*t + 2.0 (2)構造arctan x在[1,6]基于等距節(jié)點的10次插值多項式 程序: function f=New(x,y,x0)symst;if(length(x)==length(y)) n=length(x);c(1:n)=0.0;else disp('xoíy??êy2?μè£?');return;end f=y(1);y1=0;xx=linspace(x(1),x(n),(x(2)-x(1)));for(i=1:n-1)for(j=1:n-i)y1(j)=y(j+1)-y(j);end c(i)=y1(1); l=t;for(k=1:i-1) l=l*(t-k);end; f=f+c(i)*l/factorial(i);simplify(f); y=y1; if(i==n-1)if(nargin==3) f=subs(f,'t',(x0-x(1))/(x(2)-x(1)));else f=collect(f); f=vpa(f,6);end end end >>x=[1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6];y=[atan(1),atan(1.5),atan(2),atan(2.5),atan(3),atan(3.5),atan(4),atan(4.5),atan(5),atan(5.5),atan(6)];disp('插值多項式')yt=New(x,y)ezplot(yt,[1,6]);hold on ezplot('atan(t)',[1,6])grid on 運行結果: 插值多項式 yt = 1.34684*10^(-10)*t^100.00000104758*t^70.00176296*t^4 + 0.0125826*t^3-0.0640379*t^2 + 0.250468*t + 0.785398(1)用MATLAB自帶spline函數(shù)用于進行三次樣條插值 程序: >>x=[-5,-4,-3,-2,-1,0,1,2,3,4,5];y=[0.03846,0.05882,0.10000,0.20000,0.50000,1.00000,0.50000,0.20000,0.10000,0.05882,0.03846];xi=linspace(-5,5)yi=spline(x,y,xi);plot(x,y,'rp',xi,yi);hold on;syms x fx=1/(1+x^2);ezplot(fx);grid on 運行結果: 由圖可知,三次樣條插值多項式圖像與原函數(shù)圖像基本一致。(2)取第一類邊界條件,用三彎矩法編寫MATLAB程序 程序 functionyi=cubic_spline(x,y,ydot,xi)n=length(x);ny=length(y);h=zeros(1,n);lambda=ones(1,n);mu=ones(1,n);M=zeros(n,1);d=zeros(n,1);for k=2:n h(k)=x(k)-x(k-1);end for k=2:n-1 lambda(k)=h(k+1)/(h(k)+h(k+1));mu(k)=1-lambda(k);d(k)=6/(h(k)+h(k+1))...*((y(k+1)-y(k))/h(k+1)-(y(k)-y(k-1))/h(k));end d(1)=6/h(2)*((y(2)-y(1))/h(2)-ydot(1));d(n)=6/h(n)*(ydot(2)-(y(n)-y(n-1))/h(n));A=diag(2*ones(1,n));for i=1:n-1 A(i,i+1)=lambda(i);A(i+1,i)=mu(i+1);end M=Ad;for k=2:n if x(k-1)<=xi & xi<=x(k)yi=M(k-1)/6/h(k)*(x(k)-xi)^3...+M(k)/6/h(k)*(xi-x(k-1))^3...+1/h(k)*(y(k)-M(k)*h(k)^2/6)*(xi-x(k-1))...+1/h(k)*(y(k-1)-M(k-1)*h(k)^2/6)*(x(k)-xi);return;end end >>a =-5;b = 5;n = 10;h =(b-a)/n;x=a:h:b;y=1./(1+x.^2);ydot=[-5/338,5/338]; xx=a:0.01:b;yy=1./(1+xx.^2);m = length(xx);z = zeros(1,m);for i=1:m z(i)=cubic_spline(x,y,ydot,xx(i));end plot(x,y,'o',xx,yy,'k:',xx,z,'k-');運行結果: 本題直接利用MATLAB自帶的cftool曲線擬合工具箱完成。擬合結果: (1)用多項式擬合: Linear model Poly1: f(x)= p1*x + p2 Coefficients(with 95% confidence bounds): p1 = -0.8685(-0.8815,-0.8556) p2 = 30.61(30.48, 30.73) Goodness of fit: SSE: 0.1733 R-square: 0.9993 Adjusted R-square: 0.9993 RMSE: 0.1112(2)最小二乘法插值: Linear interpolant: f(x)= piecewise polynomial computed from p Coefficients: p = coefficient structure Goodness of fit: SSE: 0 R-square: 1 Adjusted R-square: NaN RMSE: NaN R-square(確定系數(shù))SSR:Sum of squares of the regression,即預測數(shù)據(jù)與原始數(shù)據(jù)均值之差的平方和,公式為: SST:Total sum of squares,即原始數(shù)據(jù)和均值之差的平方和,公式為: “確定系數(shù)”是定義為SSR和SST的比值,故 其實“確定系數(shù)”是通過數(shù)據(jù)的變化來表征一個擬合的好壞。由上面的表達式可以知道“確定系數(shù)”的正常取值范圍為[0 1],越接近1,表明方程的變量對y的解釋能力越強,這個模型對數(shù)據(jù)擬合的也較好 4.(1)16點復合梯形公式: 程序: function I =T_quad(x,y)n=length(x);m=length(y);h=(x(n)-x(1))/(n-1);a=[1 2*ones(1,n-2)1];I=h/2*sum(a.*y);End 運行結果: (1)x=0:0.0625:1 y=exp(x)I=T_quad(x,y)x = Columns 1 through 7 0 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 Columns 8 through 14 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 Columns 15 through 17 0.8750 0.9375 1.0000 y = Columns 1 through 7 1.0000 1.0645 1.1331 1.2062 1.2840 1.3668 1.4550 Columns 8 through 14 1.5488 1.6487 1.7551 1.8682 1.9887 2.1170 2.2535 Columns 15 through 17 2.3989 2.5536 2.7183 I = 1.7188 (2)x=1:0.0625:2 y=sin(x)/x I=T_quad(x,y)x = Columns 1 through 7 1.0000 1.0625 1.1250 1.1875 1.2500 1.3125 1.3750 Columns 8 through 14 1.4375 1.5000 1.5625 1.6250 Columns 15 through 17 1.8750 1.9375 2.0000 y = 0.6116 I = 0.6116(2)8點的復合simpson公式: 程序: function I=S_quad(x,y)n=length(x);m=length(y)N=(n-1)/2;h=(x(n)-x(1))/N;a=zeros(1,n);for k=1:N a(2*k-1)=a(2*k-1)+1;a(2*k)=a(2*k)+4;a(2*k+1)=a(2*k+1)+1 end I= h/6*sum(a.*y)end 運行結果: (1)x=0:0.0625:1 y=exp(x)I=S_quad(x,y)I = 1.7183 (2)x=1:0.0625:2 y=sin(x)/x I=S_quad(x,y)I = 1.6875 1.7500 1.8125 0.6116 (3)三點的Gauss-Legendre積分公式 程序: function I=G_quad(fun,a,b,N)h=(b-a)/N;I=0;for k=1:N t=[-sqrt(3/5)0 sqrt(3/5)];A=[5/9 8/9 5/9]; F=feval(fun,h/2*t+a+(k-1/2)*h); I=I+sum(A.*F)end I=h/2*I;end 運行結果: (1)fun=inline('exp(x)')I=G_quad(fun,0,1,4)I = 2.2722 I = 5.1898 I = 8.9360 I = 13.7463 I = 1.7183(2)fun=inline('sin(x)/x')I=G_quad(fun,1,2,4)I = 1.5954 I = 3.0143 I = 4.2363 I = 5.2479 I = 0.6560 5、給定初值問題y’=-1000(y-x^2)+2x,與y(0)=0,請分別用Euler和預測-矯正Euler算法按步長h=0.1,0.01,0.001,0.0001計算其數(shù)值,分析其中遇到的現(xiàn)象及問題 解:首先根據(jù)可計算出原函數(shù)為:y=Ce(-1000x)+x2,其中C為常量,為簡便計算取C=1,計算初值x0=0,y0=0。(1)Euler算法 程序: function[x,y]=Euler_f(ydot_fun,x0,y0,h,N)x=zeros(1,N+1);x(1)=x0;y(1)=y0;for n=1:N x(n+1)=x(n)+h;y(n+1)=y(n)+h*feval(ydot_fun,x(n),y(n));end format short e ydot_fun=inline('-1000*(y-x*x)+2*x','x','y')[x,y]=Euler_f(ydot_fun,0,0,0.1,10)xx=0:0.1:1 yy=exp(-1000*xx)+xx.*xx d=abs(y-yy)plot(xx,d)title('Eular方法誤差趨勢圖 h=0.1')運行結果: h=0.1 x = Columns 1 through 6 0 1.0000e-001 2.0000e-001 3.0000e-001 4.0000e-001 5.0000e-001 Columns 7 through 11 6.0000e-001 7.0000e-001 8.0000e-001 9.0000e-001 1.0000e+000 y = Columns 1 through 6 0 0 1.0200e+000-9.6940e+001 9.6061e+003-9.5099e+005 Columns 7 through 11 9.4148e+007-9.3207e+009 9.2274e+011-9.1352e+013 9.0438e+015 yy = Columns 1 through 6 1.0000e+000 1.0000e-002 4.0000e-002 9.0000e-002 1.6000e-001 2.5000e-001 Columns 7 through 11 3.6000e-001 4.9000e-001 6.4000e-001 8.1000e-001 1.0000e+000 d = Columns 1 through 6 1.0000e+000 1.0000e-002 9.8000e-001 9.7030e+001 9.6060e+003 9.5099e+005 Columns 7 through 11 9.4148e+007 9.3207e+009 9.2274e+011 9.1352e+013 9.0438e+015 h=0.01 x = Columns 1 through 6 0 1.0000e-002 2.0000e-002 3.0000e-002 4.0000e-002 5.0000e-002 Columns 7 through 11 6.0000e-002 7.0000e-002 8.0000e-002 9.0000e-002 1.0000e-001 y = Columns 1 through 6 0 0 1.2000e-003-6.4000e-003 6.7200e-002-5.8800e-001 Columns 7 through 11 5.3180e+000-4.7825e+001 4.3047e+002-3.8742e+003 3.4868e+004 xx = Columns 1 through 6 0 1.0000e-002 2.0000e-002 3.0000e-002 4.0000e-002 5.0000e-002 Columns 7 through 11 6.0000e-002 7.0000e-002 8.0000e-002 9.0000e-002 1.0000e-001 yy = Columns 1 through 6 1.0000e+000 1.4540e-004 4.0000e-004 9.0000e-004 1.6000e-003 2.5000e-003 Columns 7 through 11 3.6000e-003 4.9000e-003 6.4000e-003 8.1000e-003 1.0000e-002 d = Columns 1 through 6 1.0000e+000 1.4540e-004 8.0000e-004 7.3000e-003 6.5600e-002 5.9050e-001 Columns 7 through 11 5.3144e+000 4.7830e+001 4.3047e+002 3.8742e+003 3.4868e+004 4.9580e+000 4.8315e+001 4.2983e+002 3.8750e+003 3.4867e+004 h=0.001 x = Columns 1 through 6 0 1.0000e-003 2.0000e-003 3.0000e-003 4.0000e-003 5.0000e-003 Columns 7 through 11 6.0000e-003 7.0000e-003 8.0000e-003 9.0000e-003 1.0000e-002 y = Columns 1 through 6 0 0 3.0000e-006 8.0000e-006 1.5000e-005 2.4000e-005 Columns 7 through 11 3.5000e-005 4.8000e-005 6.3000e-005 8.0000e-005 9.9000e-005 xx = Columns 1 through 6 0 1.0000e-003 2.0000e-003 3.0000e-003 4.0000e-003 5.0000e-003 Columns 7 through 11 6.0000e-003 7.0000e-003 8.0000e-003 9.0000e-003 1.0000e-002 yy = Columns 1 through 6 1.0000e+000 3.6788e-001 1.3534e-001 4.9796e-002 1.8332e-002 6.7629e-003 Columns 7 through 11 2.5148e-003 9.6088e-004 3.9946e-004 2.0441e-004 1.4540e-004 d = Columns 1 through 6 1.0000e+000 3.6788e-001 1.3534e-001 4.9788e-002 1.8317e-002 6.7389e-003 Columns 7 through 11 2.4798e-003 9.1288e-004 3.3646e-004 1.2441e-004 4.6400e-005 h=0.0001 x = Columns 1 through 6 0 1.0000e-003 2.0000e-003 3.0000e-003 4.0000e-003 5.0000e-003 Columns 7 through 11 6.0000e-003 7.0000e-003 8.0000e-003 9.0000e-003 1.0000e-002 y = Columns 1 through 6 0 0 3.0000e-006 8.0000e-006 1.5000e-005 2.4000e-005 Columns 7 through 11 3.5000e-005 4.8000e-005 6.3000e-005 8.0000e-005 9.9000e-005 xx = Columns 1 through 6 0 1.0000e-004 2.0000e-004 3.0000e-004 4.0000e-004 5.0000e-004 Columns 7 through 11 6.0000e-004 7.0000e-004 8.0000e-004 9.0000e-004 1.0000e-003 yy = Columns 1 through 6 1.0000e+000 9.0484e-001 8.1873e-001 7.4082e-001 6.7032e-001 6.0653e-001 Columns 7 through 11 5.4881e-001 4.9659e-001 4.4933e-001 4.0657e-001 3.6788e-001 d = Columns 1 through 6 1.0000e+000 9.0484e-001 8.1873e-001 7.4081e-001 6.7031e-001 6.0651e-001 Columns 7 through 11 5.4878e-001 4.9654e-001 4.4927e-001 4.0649e-001 3.6778e-001 (2)預測-矯正Euler算法 程序: function[x,y]=Euler_r(ydot_fun,x0,y0,h,N)x=zeros(1,N+1);y=zeros(1,N+1);x(1)=x0;y(1)=y0;for n=1:N x(n+1)=x(n)+h;ybar=y(n)+ h*feval(ydot_fun,x(n),y(n))y(n+1)=y(n)+h/2*feval(ydot_fun,x(n),y(n))+ feval(ydot_fun,x(n+1),ybar)end format short e ydot_fun=inline('-1000*(y-x*x)+2*x','x','y')[x,y]=Euler_r(ydot_fun,0,0,0.001,10)xx=0:0.0001:0.001 yy=exp(-1000*xx)+xx.*xx d=abs(y-yy)plot(xx,d)title('Eular矯正方法誤差趨勢圖 h=0.001')運行結果: h=0.1 x = Columns 1 through 6 0 1.0000e-001 2.0000e-001 3.0000e-001 4.0000e-001 5.0000e-001 Columns 7 through 11 6.0000e-001 7.0000e-001 8.0000e-001 9.0000e-001 1.0000e+000 y = Columns 1 through 6 0 1.0200e+001 1.0083e+006 9.9774e+010 9.8728e+015 9.7692e+020 Columns 7 through 11 9.6667e+025 9.5653e+030 9.4650e+035 9.3657e+040 9.2675e+045 xx = Columns 1 through 6 0 1.0000e-001 2.0000e-001 3.0000e-001 4.0000e-001 5.0000e-001 Columns 7 through 11 6.0000e-001 7.0000e-001 8.0000e-001 9.0000e-001 1.0000e+000 yy = Columns 1 through 6 1.0000e+000 1.0000e-002 4.0000e-002 9.0000e-002 1.6000e-001 2.5000e-001 Columns 7 through 11 3.6000e-001 4.9000e-001 6.4000e-001 8.1000e-001 1.0000e+000 d = Columns 1 through 6 1.0000e+000 1.0190e+001 1.0083e+006 9.9774e+010 9.8728e+015 9.7692e+020 Columns 7 through 11 9.6667e+025 9.5653e+030 9.4650e+035 9.3657e+040 9.2675e+045 h=0.01 x = Columns 1 through 6 0 1.0000e-002 2.0000e-002 3.0000e-002 4.0000e-002 5.0000e-002 Columns 7 through 11 6.0000e-002 7.0000e-002 8.0000e-002 9.0000e-002 1.0000e-001 y = Columns 1 through 6 0 1.2000e-001 1.0788e+003 9.7045e+006 8.7302e+010 7.8537e+014 Columns 7 through 11 7.0652e+018 6.3558e+022 5.7177e+026 5.1436e+030 4.6272e+034 xx = Columns 1 through 6 0 1.0000e-002 2.0000e-002 3.0000e-002 4.0000e-002 5.0000e-002 Columns 7 through 11 6.0000e-002 7.0000e-002 8.0000e-002 9.0000e-002 1.0000e-001 yy = Columns 1 through 6 1.0000e+000 1.4540e-004 4.0000e-004 9.0000e-004 1.6000e-003 2.5000e-003 Columns 7 through 11 3.6000e-003 4.9000e-003 6.4000e-003 8.1000e-003 1.0000e-002 d = Columns 1 through 6 1.0000e+000 1.1985e-001 1.0788e+003 9.7045e+006 8.7302e+010 7.8537e+014 Columns 7 through 11 7.0652e+018 6.3558e+022 5.7177e+026 5.1436e+030 4.6272e+034 h=0.001 x = Columns 1 through 6 0 1.0000e-003 2.0000e-003 3.0000e-003 4.0000e-003 5.0000e-003 Columns 7 through 11 6.0000e-003 7.0000e-003 8.0000e-003 9.0000e-003 1.0000e-002 y = Columns 1 through 6 0 3.0000e-003 6.5015e-003 1.0255e-002 1.4135e-002 1.8079e-002 Columns 7 through 11 2.2057e-002 2.6053e-002 3.0058e-002 3.4069e-002 3.8084e-002 xx = Columns 1 through 6 0 1.0000e-003 2.0000e-003 3.0000e-003 4.0000e-003 5.0000e-003 Columns 7 through 11 6.0000e-003 7.0000e-003 8.0000e-003 9.0000e-003 1.0000e-002 yy = Columns 1 through 6 1.0000e+000 3.6788e-001 1.3534e-001 4.9796e-002 1.8332e-002 6.7629e-003 Columns 7 through 11 2.5148e-003 9.6088e-004 3.9946e-004 2.0441e-004 1.4540e-004 d = Columns 1 through 6 1.0000e+000 3.6488e-001 1.2884e-001 3.9541e-002 4.1968e-003 1.1316e-002 Columns 7 through 11 1.9542e-002 2.5092e-002 2.9658e-002 3.3864e-002 3.7939e-002 h=0.0001 x = Columns 1 through 6 0 1.0000e-004 2.0000e-004 3.0000e-004 4.0000e-004 5.0000e-004 Columns 7 through 11 6.0000e-004 7.0000e-004 8.0000e-004 9.0000e-004 1.0000e-003 y = Columns 1 through 6 0 2.1000e-004-1.8838e-001 1.6937e+002-1.5227e+005 1.3690e+008 Columns 7 through 11-1.2308e+011 1.1065e+014-9.9482e+016 8.9439e+019-8.0410e+022 xx = Columns 1 through 6 0 1.0000e-004 2.0000e-004 3.0000e-004 4.0000e-004 5.0000e-004 Columns 7 through 11 6.0000e-004 7.0000e-004 8.0000e-004 9.0000e-004 1.0000e-003 yy = Columns 1 through 6 1.0000e+000 9.0484e-001 8.1873e-001 7.4082e-001 6.7032e-001 6.0653e-001 Columns 7 through 11 5.4881e-001 4.9659e-001 4.4933e-001 4.0657e-001 3.6788e-001 d = Columns 1 through 6 1.0000e+000 9.0463e-001 1.0071e+000 1.6862e+002 1.5227e+005 1.3690e+008 Columns 7 through 11 1.2308e+011 1.1065e+014 9.9482e+016 8.9439e+019 8.0410e+022 現(xiàn)象和結論 1.對于兩種方法,計算步長對計算結果穩(wěn)定性有較大影響,步長選取不當時計算誤差會很大; 2.在一定范圍內(nèi),計算步長越小,計算結果越穩(wěn)定,結果誤差越小; 3.但是并不是計算步長越小越好,計算步長取值越小計算次數(shù)就會增大,初始數(shù)據(jù)誤差積累越嚴重,也會導致結果失真。 一、畢業(yè)實習是我們畢業(yè)前的重要環(huán)節(jié)之一,是學生對以后社會生活的適應起著決定性的作用。具有較強的實踐性、社會性,其目的是通過實習更好的實現(xiàn)理論與實踐相結合,使學生畢業(yè)前鞏固和校驗學過的理論知識、鍛煉和提高學生的實踐技能、提高分析和解決實際問題的能力,提高學生對專業(yè)現(xiàn)狀及未來的認識,增強個人在社會上的生存能力,為畢業(yè)后參加工作,能更好的完成各項實際工作,實現(xiàn)自我價值,打下一個良好的基礎。 二、2014年1月1日至今,我在重慶城建控股(集團)有限責任公司市政部門做預算員。這是第一次正式接觸預算工作,每天在規(guī)定的時間上下班,上班期間要認真準時地完成自己的工作任務,不能草率敷衍了事。我們的肩上開始扛著責任,凡事得謹慎小心,否則隨時可能要為一個小小的錯誤承擔嚴重的后果付出巨大的代價,再也不是一句對不起和一紙道歉書所能解決。 三、實習期間我也下工地進行了實踐,看了開挖溝槽土方時當開挖溝槽深度大于5m時施工單位必須向監(jiān)理單位及建設單位重新提出專項施工方案,同時在施工過程中放坡系數(shù)也與溝槽深度小于5m的段落不同。管道安裝、溝槽回填、檢查井鋼筋綁扎、檢查井模板安裝、檢查井砼的澆筑、道路路基和路面施工。對道路工程的施工順序和施工工藝有了一定的了解后,在計算工程量的時候有很大的幫助。 四、綁扎鋼筋專門看了一下,以前只是老師說鋼筋在一個工程中占據(jù)的費用很大?,F(xiàn)在親眼所見,果不其然,在施工現(xiàn)場,放 眼望去整條道路上的檢查井基本都在施工鋼筋,工人們正在忙碌的綁鋼筋,大家分工明確,都很認真。我也前去綁扎了點點鋼筋,加工處理了一些箍筋,但是最后還是有很多不合格,最后還是現(xiàn)場的師傅給我講解了一些原理后我才自己動手加工出來看幾個合格箍筋。其實我覺得我們能動手操作就是我們最大的進步,在學校我根本就不能把書本上的東西用于實踐中去,這次我就好好的實踐了一番,可以說是受益匪淺。 五、我們在學校里學的不是知識,而是一種叫做自學的能力。參加工作后才能深刻體會這句話的含義。我實習的是預算員,隨著新的定額的推出、新價目的推出、新計算建筑面積規(guī)則的出現(xiàn)等,自己所學的專業(yè)知識用上的并不多,讓我不得不重新學習新的計算方法。在這個現(xiàn)代化的時代,知識更新的速度太快了,靠原有的一點知識肯定是不行的。我們必須時時刻刻在工作中勤于動手慢慢琢磨,不斷學習不斷積累。遇到不懂的地方,自己先想方設法解決,實在不行可以虛心請教他人,而沒有自學能力的人遲早要被企業(yè)和社會所淘汰。 六、在畢業(yè)實習這五個月時間里,對我來講是一個理論與實際相結合的過程,在各個老師的指導下,以及自己的努力積極參與工作,讓自己對造價軟件有了更熟練的操作。而且對整個預算工作的各個流程也有了深刻的了解和認識,并且鞏固了課本上的知識,將理論運用到實際中去,從實際實習中豐富自己的理論知識。整個實習過程時間雖不長,但讓自己知道了如何當一名好的預算員。整個實習過程也讓自己發(fā)現(xiàn)了自己理論上的不足。我鞏固和充實自己在學校學的理論知識,加深了對相關內(nèi)容和知識的理解,同時還接觸了課堂以外的實踐知識,加深解了對工程造價這個專業(yè)現(xiàn)在或者以后市場的需要。培養(yǎng)了我獨立進行資料收集和解決問題的能力,拓寬了視野,增長了見識,體驗到社會競爭的殘酷,而更多的是希望自己在工作中積累各方面的經(jīng)驗,為將來自己走創(chuàng)業(yè)之路做準備。我的實習工作結束了,這又是一個新的開始。我嘗到了實習給我?guī)淼奶痤^,也嘗到了建筑行業(yè)的辛苦。 橋梁暑期生產(chǎn)實習 實習報告 姓 名: 學 號: 學 院: 班 級: 指導教師: 生產(chǎn)實習報告 目 錄 一、實習目的........................................................................................二、實習時間........................................................................................三、實習方式........................................................................................四、實習內(nèi)容........................................................................................一、參觀混凝土預應力梁的施工工藝.........................................二、參觀裝配式簡支梁橋施工.....................................................三、參觀三臺縣涪江大橋.............................................................四、參觀青義涪江大橋.................................................................五、參觀圣水涪江大橋.................................................................五、實習心得......................................................................................生產(chǎn)實習報告 一、實習目的 生產(chǎn)實習是土木工程專業(yè)大學三年級學生所進行的專業(yè)基本技能的實習。生產(chǎn)實習是建筑工程專業(yè)教學計劃中重要的實踐性教學環(huán)節(jié),是進行工程師基本訓練的有機組成部分。實習過程中,使我們深入施工現(xiàn)場,接觸實際工程,進一步了解和掌握橋梁施工工藝過程及工長和技術員的業(yè)務工作,鞏固和加深所學有關課程,做到理論聯(lián)系實際。 二、實習時間 2014年7月9號,參觀德陽華西綠舍預制構件有限公司生產(chǎn)車間。 2014年7月10號—2014年7月11號,參觀綿陽三臺縣涪江大橋、青義涪江大橋和圣水涪江大橋施工現(xiàn)場。 三、實習方式 在實踐中學生參觀施工現(xiàn)場的生產(chǎn)活動,指導老師現(xiàn)場講解橋梁施工工藝,同學結合現(xiàn)場施工情況提出問題,并能運用所學專業(yè)知識解決問題,進一步樹立勞動觀點和專業(yè)思想,提高分析問題和解決問題的能力。 生產(chǎn)實習報告 2、后張法混凝土預應力梁施工工藝 后張法是先澆筑構件混凝土,待混凝土硬結后,再張拉預應力束的方法。主要施工流程:先澆筑預應力混凝土,并在其中預留穿束孔道(或設套管),待混凝土達到要求強度后,將筋束穿入預留孔道內(nèi),安裝錨具,將千斤頂支撐于混凝土構件端部,張拉筋束,使構件也同時受到壓縮。待張拉到控制預應力后,即用錨具將筋束錨固在混凝土構件上,使混凝土獲得并保持其壓應力。最后,在預留孔道內(nèi)壓注水泥漿,以保護預應力筋束不致銹蝕,并使筋束與混凝土黏結成為整體。 圖2 后張法筋束錨固 生產(chǎn)實習報告 二、參觀裝配式簡支梁橋施工 簡支梁橋?qū)儆趩慰嘴o定結構,受力明確;構造簡單,易于設計成系列化標準化,組織大規(guī)模預制生產(chǎn);施工方便,裝配式的施工方法,可以大量節(jié)約模板支架,降低勞動強度,縮短工期,顯著加快架橋速度。為中小跨徑橋梁中應用最廣泛的橋型。 預制梁的安裝是裝配式橋梁施工中的關鍵工作,應結合施工現(xiàn)場條件、橋梁跨徑大小、設備能力等具體情況,從節(jié)約造價、加快施工速度和充分保證施工安全等方面來合理選擇架橋方法。主要有起吊、縱移、橫移、落梁等工序,施工工藝主要有陸地架設、浮吊架設和高空架設等。 圖5裝配式簡支梁橋施工圖 生產(chǎn)實習報告 四、參觀青義涪江大橋 青義涪江大橋為五跨(78+3×138+78)現(xiàn)澆連續(xù)梁橋。連續(xù)梁橋支點處承受負彎矩作用,跨中受正彎矩作用,同等跨度下跨中正彎矩比簡支梁橋小,跨越能力更大,行車條件好。 連續(xù)梁橋常用施工方法有滿堂支架法、移動支架法、懸臂法、頂推法等,其中懸臂法又分為懸臂澆筑法和懸臂拼裝法,該橋采用懸臂澆筑法施工。主要施工藝為:移動掛籃,裝底模和側模,裝底板和肋板鋼筋并預留管道,裝內(nèi)模,裝頂板鋼筋并預留管道,澆筑混凝土,養(yǎng)生混凝土,穿頂預應力筋并張拉錨固,最后在預留孔道內(nèi)壓注水泥漿。 圖七 青義涪江大橋 生產(chǎn)實習報告 五、參觀圣水涪江大橋 圣水涪江大橋西起濱江西路,跨濱江西路、涪江,東與科技城二號隧道連接,全長472米,寬23米,為雙向4車道。該橋為預制混凝土連續(xù)梁橋,連續(xù)梁橋支點處承受負彎矩作用,跨中受正彎矩作用,因此支座處頂板需布置預應力筋束,跨中則在底板布置預應力筋束。 圖九 箱梁鋼筋布置第三篇:西南交大數(shù)值分析第二次大作業(yè)(可以運行)
第四篇:工程造價實習報告(西南交大)
第五篇:西南交大大三橋梁實習報告