數(shù)值分析在生活中應(yīng)用舉例及Matlab實(shí)現(xiàn)_第1頁(yè)
數(shù)值分析在生活中應(yīng)用舉例及Matlab實(shí)現(xiàn)_第2頁(yè)
數(shù)值分析在生活中應(yīng)用舉例及Matlab實(shí)現(xiàn)_第3頁(yè)
數(shù)值分析在生活中應(yīng)用舉例及Matlab實(shí)現(xiàn)_第4頁(yè)
數(shù)值分析在生活中應(yīng)用舉例及Matlab實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

個(gè)人收集整理 僅供參考學(xué)習(xí)個(gè)人收集整理 僅供參考學(xué)習(xí)#/10a1=polyfit(x,y,3)a2=polyfit(x,y,9)a3=polyfit(x,y,15)b1=polyval(a1,x)b2=polyval(a2,x)b3=polyval(a3,x)r1=sum((y-b1).a1=polyfit(x,y,3)a2=polyfit(x,y,9)a3=polyfit(x,y,15)b1=polyval(a1,x)b2=polyval(a2,x)b3=polyval(a3,x)r1=sum((y-b1).A2)r2=sum((y-b2).A2)r3=sum((y-b3).A2)plot(x,y,'*')holdonplot(x,b1,'r')holdonplot(x,b2,'g')holdonplot(x,b3,'b:o')一、 最小二乘法,用MATLAB實(shí)現(xiàn)1.數(shù)值實(shí)例下面給定地是烏魯木齊最近1個(gè)月早晨7:00左右(新疆時(shí)間)地天氣預(yù)報(bào)所得到地溫度按照數(shù)據(jù)找出任意次曲線擬合方程和它地圖像 .下面用MATLAB編程對(duì)上述數(shù)據(jù)進(jìn)行最小二乘擬合.b5E2RGbCAP2008年10月26~11月26天數(shù)12345678910溫度910111213141312119天數(shù)11121314151617181920溫度101112131412111098天數(shù)21222324252627282930溫度78911976531卜面用MATLAB編程對(duì)上述數(shù)據(jù)進(jìn)行最小二乘擬合2、程序代碼x=[1:1:30];y=[9,10,11,12,13,14,13,12,11,9,10,11,12,13,14,12,11,10,9,878,9,11,9,7,6,531];piEanqFDPw%三次多項(xiàng)式擬合%%九次多項(xiàng)式擬合%%十五次多項(xiàng)式擬合%%三次多項(xiàng)式誤差平方和 %%九次次多項(xiàng)式誤差平方和 %%十五次多項(xiàng)式誤差平方和 %%用*畫出x,y圖像%%用紅色線畫出x,b1圖像%%用綠色線畫出x,b2圖像%%用藍(lán)色o線畫出x,b3圖像%3、數(shù)值結(jié)果不同次數(shù)多項(xiàng)式擬合誤差平方和為:r1=67.6659r2=20.1060r3=3.7952r1、r2、r3分別表示三次、九次、十五次多項(xiàng)式誤差平方和4、擬合曲線如下圖

線性方程組地求解( 高斯-塞德爾迭代算法)1、實(shí)例:求解線性方程組(見書P233頁(yè))8X-3X22X3=204X111X2-X3^336X13x212x3=36記Ax=b,其中一201b=33:36一一201b=33:36一A=411-16 3 12_任取初始值x0=000T,進(jìn)行迭代.2、用C語(yǔ)言實(shí)現(xiàn),源程序如下:#include<stdio.h>#include<stdlib.h>structNode{doublevalue;//矩陣非零元素值intindex;//元素地索引(序號(hào)或列標(biāo))};structMatrix{structNode*data;〃記錄元素?cái)?shù)據(jù)inttotal_elem;//矩陣非零元素個(gè)數(shù)inttotal_ln;//矩陣地總行數(shù)inttotal_col;//矩陣地總列數(shù)};//采用MSR法實(shí)現(xiàn)系數(shù)矩陣地存儲(chǔ)voidCreate_Matrix(structMatrix&matrix){intindex=0,i=0;doublevalue=0.0;printf("請(qǐng)輸入線性方程組系數(shù)矩陣地非零元素個(gè)數(shù)及總行數(shù)、總列數(shù):”);scanf("%d%d%d",&matrix.total_elem,&matrix.total_ln,&matrix.total_col);DXDiTa9E3dmatrix.data =(struct Node*)malloc( sizeof(structNode)*(matrix.total_elem+1));RTCrpUDGiTprintf("請(qǐng)依次輸入矩陣地主對(duì)角線元素及每行地非零非對(duì)角線元素 (行優(yōu)先)\n");for(i=0;i<=matrix.total_elem;i++){if(i==matrix.total_ln)value=0;elsescanf("%lf",&value);matrix.data[i].value=value;}printf("\n系數(shù)矩陣地信息相關(guān)如下(Quote為添加項(xiàng),表示序列號(hào)):");printf("\nValue:");for(i=0;i<matrix.total_elem+1;i++)printf("%3.0lf",matrix.data[i].value);printf("\nQuote:");for(i=0;i<matrix.total_elem+1;i++)printf("%3d",i);printf("\n\n");for(i=0;i<=matrix.total_elem;i++){if(i==0)printf("請(qǐng)參照上表輸入第每行第一個(gè)非零非主對(duì)角元素地序號(hào) \n");if(i==matrix.total_ln)matrix.data[i].index=matrix.total_elem+1;elseif(i==matrix.total_ln+1)printf("請(qǐng)依次輸入非零非對(duì)角元素地列標(biāo) \n");if(i!=matrix.total_ln)scanf("%d",&matrix.data[i].index);}}//顯示系數(shù)矩陣地相關(guān)信息voidDisplay_Matrix(structMatrixmatrix){inti=0;printf("系數(shù)矩陣采用MSR存儲(chǔ)法地相關(guān)信息如下(Quote為添加項(xiàng),表示序列號(hào)):");printf("\nQuote:");for(i=0;i<=matrix.total_elem;i++)printf("%3d",i);printf("\nvalue:");for(i=0;i<=matrix.total_elem;i++)printf("%3.0lf",matrix.data[i].value);printf("\nIndex:");for(i=0;i<=matrix.total_elem;i++)printf("%3d",matrix.data[i].index);printf("\n");}//初始化向量,使之分量全為 0voidInit_X(double*X,intn){inti=0;for(i=0;i<n;i++)X[i]=0;}//初始化右端向量voidInit_b(double*b,intn){inti=0;Init_X(b,n);printf("\n請(qǐng)輸入%d個(gè)數(shù)(方程組地右端項(xiàng)):",n);for(i=0;i<n;i++)scanf("%lf",&b[i]);}//初始化未知向量,得到初始值voidInit_temp_X(double*temp,intn){inti=0;Init_X(temp,n);printf("請(qǐng)輸入X向量地初始值:");for(i=0;i<n;i++)scanf("%lf",&temp[i]);}//采用高斯-塞德爾GS迭代法求值intCalculate_X_GS(structMatrixA,double*X,double*b)5PCzVD7HxA{inti=0,j=0,sum=0;doubletemp=0.0,temp_1=0.0,*temp_X=0,judge=0.0;jLBHrnAILgtemp_X=(double*)newdouble[A.total_ln];Init_temp_X(temp_X,A.total_ln);for(i=0;i<A.total_ln;i++)X[i]=temp_X[i];sum=0;do{judge=0.0;for(i=0;i<A.total_ln;i++)temp_X[i]=X[i];for(i=0;i<A.total_ln;i++){temp=0.0;temp_1=0.0;for(j=A.data[i].index;A.data[j].index<i&&j<=A.total_elem;j++)xHAQX74J0Xtemp_1+=A.data[j].value*X[A.data[j].index];for(;j<A.data[i+1].index&&j<=A.total_elem;j++) LDAYtRyKfEtemp+=A.data[j].value*temp_X[A.data[j].index];X[i]=(b[i]-temp_1-temp)/A.data[i].value;}for(i=0;i<A.total_ln;i++){if(X[i]-temp_X[i]<0)judge=temp_X[i]-X[i]>judge?temp_X[i]-X[i]:judge;Zzz6ZB2Ltkelsejudge=X[i]-temp_X[i]>judge?X[i]-temp_X[i]:judge;dvzfvkwMIi}sum++;printf("\n\n第%d次迭代地結(jié)果:",sum);for(i=0;i<A.total_ln;i++)printf("\nX[%d]=%g",i,X[i]);printf("\njudge=%g",judge);}while(judge>0.000001);returnsum;}voidmain(){structMatrixA;//實(shí)現(xiàn)系數(shù)矩陣地存儲(chǔ)及顯示Create_Matrix(A);Display_Matrix(A);double*X=0,*b=0;X=(double*)newdouble[A.total_ln];b=(double*)newdouble[A.total_ln];Init_X(X,A.total_ln);Init_b(b,A.total_ln);inti=0,sum=0;sum=Calculate_X_GS(A,X,b);printf("\n\n線性方程組地解為:");for(i=0;i<A.total_ln;i++)printf("\nX[%d]=%g",i,X[i]);printf("\n總共迭代了 %d次\n\n",sum);

3、運(yùn)行結(jié)果如下81112—324T63:VDocuBentsand5£上6!1名51入小11115"301"\桌面,辦公學(xué)習(xí)\1)£1)81112—324T63總行數(shù)、總列數(shù):933非時(shí)角線元素工行優(yōu)先、系數(shù)矩陣的信息相關(guān)如下Sun館為添加項(xiàng),表示序列號(hào)〉:Ualue:R1112ft-324-163Quote:0123456789而蓼照上表輸入第每行第一個(gè)非零非主對(duì)角元素的序號(hào)468請(qǐng)依次輸入非零非對(duì)角元素的列標(biāo)120201系數(shù)矩陣采用假R存儲(chǔ)法的相關(guān)信息如下《Quote為添加項(xiàng),表示序列號(hào)):Quote:0123456789ualue:81112 0-3 2 4-1 6 3Index:46810120201請(qǐng)輸入3個(gè)數(shù)《方程組的右端項(xiàng)〉:2日3336請(qǐng)輸入X向量的初始值:nonB1次迭代的結(jié)果;乂⑻-2.5XC1J=2.09091XC2J=1.22727Judge=2.5第2次迭代的結(jié)果:H[0]-2.9772?XC1J=2.02893X[2]=1.UU413judge=0.477273第3次迭代的結(jié)果:X[0]-3.00981XC1J=1.99681X[2]=0.995891judge=U.U325413第4次迭代的結(jié)果:X[0]-2.99983H[l]-1.99969X[2]=1.00016judge=LLLHJ998427*C:VDocuentsandSetting^'Adaiiii.qtratur\豆面上羿父學(xué)吝00第5次迭代的結(jié)果;XC0]-2.99984X[l]=2.00007XC2]=1.UUUM6Judge=0.(1(10383758第6次迭代的結(jié)果:X[0]-3.00001XC1]=2XC2]=0.999994judge=0.00016947第7次迭代的結(jié)果;XE0]-3XC1]-2X[2]=0.999999judge=9.?4387e-(JM6ks次迭代的結(jié)果:X[0]-3X[l]-2X[2]-1judge=2.32938e-006第9次迭代的結(jié)果:X[0]=3Xtll-2N[2]-1judge=3.00145e-007線性方程組的解為:X[0]=3XC1]-2X[2]-1總共迭代了9次Pressanykeytocontinue版權(quán)申明本文部分內(nèi)容,包括文字、圖片、以及設(shè)計(jì)等在網(wǎng)上搜集整理.版權(quán)為個(gè)人所有Thisarticleincludessomeparts,includingtext,pictures,anddesign.Copyrightispersonalownership.rqyni4ZNxi用戶可將本文地內(nèi)容或服務(wù)用于個(gè)人學(xué)習(xí)、 研究或欣賞,以及其他非商業(yè)性或非盈利性用途,但同時(shí)應(yīng)遵守著作權(quán)法及其他相關(guān)法律地規(guī)定,不得侵犯本網(wǎng)站及相關(guān)權(quán)利人地合法權(quán)利.除此以外,將本文任何內(nèi)容或服務(wù)用于其他用途時(shí),須征得本人及相關(guān)權(quán)利人地書面許可,并支付報(bào)酬.EmxvxOtOco|Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlaw

溫馨提示

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

評(píng)論

0/150

提交評(píng)論