北航碩士數(shù)值分析大作業(yè)第三題_第1頁
北航碩士數(shù)值分析大作業(yè)第三題_第2頁
北航碩士數(shù)值分析大作業(yè)第三題_第3頁
北航碩士數(shù)值分析大作業(yè)第三題_第4頁
北航碩士數(shù)值分析大作業(yè)第三題_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)值分析A計(jì)算實(shí)習(xí)題目第三題一、 算法設(shè)計(jì)方案題目分析如下:若要進(jìn)行達(dá)到一定精度的曲面擬合,則要得到在各點(diǎn)的函數(shù)值,其中;如果得到各點(diǎn)的函數(shù)值,需要根據(jù)給出的二維數(shù)表進(jìn)行二次插值;如果進(jìn)行二次插值,則需要根據(jù)通過題中給出的非線性方程組解出插值點(diǎn)出對應(yīng)的值,因此要解決整個(gè)問題,需要從解非線性方程組開始。1.1 Newton法解非線性方程組Newton法求方程組的解(對應(yīng)未知數(shù)為),可采用如下的算法:1 在附近選取初值,給定精度水平;2 計(jì)算和,其中有3 通過Doolittle法求解如下的線性方程組4 若,則取,并停止計(jì)算,否則進(jìn)入下一步;5 計(jì)算,并回到第(2)步。如此反復(fù)迭代,即可得到滿足精度

2、的非線性方程組的解,即得到各個(gè)的值。(其中)1.2 分片二次插值根據(jù)得到的各個(gè)值和給出的二維數(shù)表,即可進(jìn)行分片二次插值,得到插值點(diǎn)出的值。具體算法如下:對,若滿足則應(yīng)選擇為插值節(jié)點(diǎn),相應(yīng)的插值多項(xiàng)式為其中如果或,則在的表達(dá)式中取或;如果或,則取或。在此題中,對應(yīng)于,對應(yīng)于,由上述算法即可得到插值點(diǎn)出的的值。1.3 曲面擬合此處擬合時(shí)候,采用的插值基函數(shù)形式最簡單的冪函數(shù),具體表達(dá)式為:其中為需要程序自動(dòng)確定的值,使得最小的值滿足插值精度可見要計(jì)算擬合表達(dá)式,需要確定矩陣和擬合次數(shù),對于給定的,矩陣的計(jì)算表達(dá)式為:其中矩陣為,其中,B的維數(shù)為;矩陣G為,其中,G的維數(shù)為,U為二次分片插值得到各個(gè)

3、,U的維數(shù)為。計(jì)算上述表達(dá)式的算法如下:令,則進(jìn)而可得,從而,計(jì)算矩陣和矩陣的方法相同,這里僅僅給出計(jì)算A的過程:,其中為矩陣的各列,為矩陣的各列,因此解一組線性方程組即可得到整個(gè)矩陣的解;同時(shí)值得注意的是,這一組方程中系數(shù)矩陣是相同的,因此可以只進(jìn)行一次Doolittle分解,然后每次都是用分解好的系數(shù)求解即可。程序自動(dòng)確定值的算法如下:預(yù)留矩陣和矩陣的維數(shù)分別為和(即預(yù)留最大的為10);先從1開始進(jìn)行擬合,此時(shí)有、,在進(jìn)行求解矩陣的過程中,對應(yīng)的未知數(shù)為10(此時(shí)矩陣為),但是真正要求解的未知數(shù)為;此時(shí)為的,具體表達(dá)式為,為解出需要的未知數(shù),可修改為系數(shù)矩陣表達(dá)式為,右側(cè)的向量為,此時(shí)即可

4、得到維所要求的解,而整個(gè)過程只需要一次固定維數(shù)的Doolittle分解即可。最后得到的矩陣為,即左上角的維方陣即為此時(shí)的矩陣。通過矩陣進(jìn)而可計(jì)算擬合精度,如果不滿足題目要求,則,重復(fù)以上計(jì)算,直至滿足擬合精度。1.4 計(jì)算逼近效果計(jì)算逼近效果較為簡單,首先通過同樣的解非線性方程組和分片二次插值,計(jì)算出的函數(shù)值,進(jìn)而通過滿足精度的和矩陣,計(jì)算出的值,比較二者,即可觀察到逼近的效果。二、 全部源程序#include #include #define M 4 /非線性方程組對應(yīng)的階數(shù)void printmatc(double a10,int k/打印矩陣Cint i,j;printf(矩陣C為n;f

5、or(i=0;i for(j=0;j if(aij=0printf( %.12e ,aij;elseprintf(%.12e ,aij;printf(n;void printmatu(double matu1121/打印矩陣Uint i,j;double xx11;double yy21;for(i=0;i11;i+xxi=0.08*i;for(i=0;i21;i+yyi=0.5+0.05*i;for(i=0;i11;i+for(j=0;j21;j+printf( x%d=%lft,i,xxi;printf(y%d=%lft,j,yyj;printf(f(x%d,y%d=%lfn,i,j,ma

6、tuij;void printlast(double f85,double p85/打印最后的逼近效果,f(x*,y*和p(x*,y*int i,j;double xx8;double yy5;for(i=0;i8;i+xxi=0.1*(i+1;for(i=0;i5;i+yyi=0.5+0.2*(i+1;for(i=0;i8;i+for(j=0;j=0printf( f(x%d*,y%d*= %.12et,i+1,j+1,fij;elseprintf( f(x%d*,y%d*=%.12et,i+1,j+1,fij;if(pij=0printf(p(x%d*,y%d*= %.12en,i+1,j

7、+1,pij;elseprintf(p(x%d*,y%d*=%.12en,i+1,j+1,pij;double norm2(double a/4維向量的二范數(shù)int i;double temp=0.0;double b;for(i=0;i temp=temp+ai*ai;b=sqrt(temp;return b;void addvect(double a,double b,double c/4維向量相加c=a+bint i;for(i=0;i ci=ai+bi;void mulmat(double aMM,double bM,double cM/計(jì)算矩陣與向量相乘int i,j;double

8、temp;for(i=0;i temp=0.0;for(j=0;j temp=temp+aij*bj;ci=temp; void mulmatbtb(double tempb1010,double matb1110/tempb=b*bint i,j,k;double temp;for(i=0;i10;i+for(j=0;j10;j+temp=0.0;for(k=0;k11;k+temp+=matbki*matbkj;tempbij=temp;void mulmatgtg(double tempg1010,double matg2110/tempg=g*gint i,j,k;double tem

9、p;for(i=0;i10;i+for(j=0;j10;j+temp=0.0;for(k=0;k21;k+temp+=matgki*matgkj;tempgij=temp;void mulmatbtu(double tempy1021,double matb1110,double matu1121/y=b*uint i,j,k;double temp;for(i=0;i10;i+for(j=0;j21;j+temp=0.0;for(k=0;k11;k+temp+=matbki*matukj;tempyij=temp; void mulmatlast(double matc1010,double

10、 mata1021,double matd1021/最后一步c=a*dint i,j,k;double temp;for(i=0;i10;i+for(j=0;j10;j+temp=0.0;for(k=0;k=0;i-for(t=i+1;t temp2=temp2+ait*xt;xi=(yi-temp2/aii;temp2=0.0;void doodecom(double a1010,int k/doolitttle分解double temp1=0.0;double temp2=0.0;int i,j,p,t;for(i=k;i10;i+aii=1;for(p=0;p10;p+for(j=p;j

11、10;j+for(t=0;t temp1=temp1+apt*atj;apj=apj-temp1;temp1=0.0;for(i=p+1;i10;i+for(t=0;t temp2=temp2+ait*atp;aip=(aip-temp2/app;temp2=0.0;void doosolve(double a1010,double b10,double x10,int k/解方程組int i,t;double y10;double temp1=0.0;double temp2=0.0;for(i=k;i10;i+bi=0;y0=b0;for(i=1;i=0;i-for(t=i+1;t10;t

12、+temp2=temp2+ait*xt;xi=(yi-temp2/aii;temp2=0.0;void matsolve(double mata1021,double matx1010,double maty1021,int k/解出矩陣(A和D)XA=Yint i,j;double temp110,temp210;doodecom(matx,k;for(i=0;i21;i+for(j=0;j10;j+temp2j=matyji;doosolve(matx,temp2,temp1,k;for(j=0;j10;j+mataji=temp1j;void romatgt(double matg211

13、0,double matgt1021/對矩陣G轉(zhuǎn)置int i,j;for(i=0;i10;i+for(j=0;j21;j+matgtij=matgji;void nonlinearsolve(double t1121,double u1121/牛頓迭代解非線性方程組int i,j;double fM,fdotMM,xdotM,xM;double xx,yy;/ double t21*11,u21*11;for(i=0;i11;i+for(j=0;j1e-12calminF(f,x0,x1,x2,x3,xx,yy;calFdot(fdot,x0,x1,x2,x3;doolittle(fdot,f

14、,xdot;addvect(x,xdot,x;tij=x0;uij=x1;double inter2(double t,double u/分片二次插值int i,j,k,r;double lt3,lu3;double p=0.0;double vecttN=0,0.2,0.4,0.6,0.8,1.0;double vectuN=0,0.4,0.8,1.2,1.6,2.0;double matzNN=-0.5,-0.34,0.14,0.94,2.06,3.5,-0.42,-0.5,-0.26,0.3,1.18,2.38,-0.18,-0.5,-0.5,-0.18,0.46,1.42,0.22,-

15、0.34,-0.58,-0.5,-0.1,0.62,0.78,-0.02,-0.5,-0.66,-0.5,-0.02,1.5,0.46,-0.26,-0.66,-0.74,-0.5;r=(intfabs(t/0.2+0.5;k=(intfabs(u/0.4+0.5;if(r=0 r=1;if(r=5 r=4;if(k=0 k=1;if(k=5 k=4;lt0=(t-vecttr*(t-vecttr+1/(vecttr-1-vecttr/(vecttr-1-vecttr+1;lt1=(t-vecttr-1*(t-vecttr+1/(vecttr-vecttr-1/(vecttr-vecttr+1

16、;lt2=(t-vecttr-1*(t-vecttr/(vecttr+1-vecttr-1/(vecttr+1-vecttr;lu0=(u-vectuk*(u-vectuk+1/(vectuk-1-vectuk/(vectuk-1-vectuk+1;lu1=(u-vectuk-1*(u-vectuk+1/(vectuk-vectuk-1/(vectuk-vectuk+1;“鑾”按部首查字法,先查_部,再查_“嘎”字按音序查字法,先查大寫字母_,再查音節(jié)_“凸”字按數(shù)筆畫查字法,共_畫。二、改病句。(10分1我們召開了中隊(duì)委員會,大家一起琢磨了中隊(duì)計(jì)劃。_2王琳眼睛里流著激動(dòng)的淚花。C的各個(gè)元素

17、,k是擬合次數(shù),預(yù)留3大家都講究衛(wèi)生,健康和疾病就有了保障。_4 double matg2110=0;double mata1021,matd1021;double matgt1021;張延雖然學(xué)習(xí)成績好,而且他一點(diǎn)也不驕傲。_三、把下面的成語補(bǔ)充完整。(10分水落石( 風(fēng)調(diào)雨( ) 自( )自( )好高( )遠(yuǎn) ()計(jì) 萬丈深( 奄奄一( 五( )四( ) 夸夸其( ) C=inv(B*B*B*UG*inv(G*G千( mulmatgtg(tempg,matg;mulmatbtu(tempy,matb,matu;四、用三組不同的關(guān)聯(lián)詞,把下面兩個(gè)分句連接起來。(3分matsolve(matd

18、,tempg,matgt,k;mulmatlast(matc,mata,matd;_計(jì)算擬合函數(shù)p在五、讀下面的例句,注意每組里三個(gè)句子的關(guān)系,并仿照例子,把一個(gè)句子分解成兩個(gè)小句子。(10分int i,j;例句:魯班請師傅教手藝。魯班請師傅。師傅教手藝。1學(xué)校組織同學(xué)去參觀。_2 _3同學(xué)們請“五一”勞動(dòng)模范做報(bào)告。_計(jì)算矩陣P的元素_double yy21;for(i=0;i11;i+_六、寫一段話,注意用上你學(xué)過的標(biāo)點(diǎn)符號。(不少于5種)(5分_七、默寫古詩前出塞,并且說說這首詩表達(dá)了作者怎樣的思想感情。(6分_ _ _八、閱讀短文,想想可以分幾段,用“”在段尾標(biāo)出。再概括段意。(15分

19、 1 吃過早飯,小東端起臉盆叫上同院的小偉就往外跑。2 奶奶說:“你們倆干什么去?”3 int i,j;4 奶奶覺得奇怪,這兩個(gè)孩子的臉不是挺干凈的嗎?再說,洗臉怎么往外跑?。? 6 他們又來到公共汽車站牌下,小偉說:“該給這個(gè)大個(gè)子洗了。”小東說:“來,我托著你?!闭九粕细采w著一層土擦掉了,站牌換了一身新衣裳。7 9 奶奶看了看他們手中的抹布、臉盆,說:“??!我明白了,你們是洗凈別人的臉,臟了自己的臉。你們都是奶奶的好孩子?!比朔Q_寫作提綱凸 字共(5畫。二、13去掉“和疾病”好高(騖)遠(yuǎn) (陰)謀(詭)計(jì) 奄奄一(息) 五(湖)四(海)千(言)萬(語)四、只有才能 只要就能如果就能五、同學(xué)

20、們請“五一”勞動(dòng)模范?!拔逡弧眲趧?dòng)模范做報(bào)告。x0=0.5;x1=1.5;x2=-0.5;x3=1.5;八、第一段第二段(57節(jié)小東和小偉把街上的路牌、站牌、路邊的郵筒、垃圾箱都擦洗了一遍。 第三段(89節(jié) 十、作文(略)小學(xué)畢業(yè)語文模擬試卷(5)( )許 ( )馬 ( ) 抵( )( )笑 ( )云( )布“瑞雪兆豐年”中的“兆”讀音是( int i,j; )。double yy5;for(i=0;i8;i+xxi=0.1*(i+1;for(i=0;i5;i+yyi=0.5+0.2*(i+1;for(i=0;i8;i+for(j=0;j5;j+matpij=calpij(matc,xxi,yyj,k;2老師代我們?nèi)バв?。?)深:顏色重;久,時(shí)間長;從上到下從外到里距離大;程度高。完:完成;消耗盡,沒剩的;完整;完備,好,沒缺點(diǎn)。nonlinearsolve(t,u;calmatu(matu,t,u;七、用橫線畫出句中不恰當(dāng)?shù)脑~,把正確的寫在括號里。(3分2printlast(f,p;3.13.2擬合次數(shù)如下:矩陣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論