計(jì)算方法重要算法_第1頁(yè)
計(jì)算方法重要算法_第2頁(yè)
計(jì)算方法重要算法_第3頁(yè)
計(jì)算方法重要算法_第4頁(yè)
計(jì)算方法重要算法_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

1、#include#include#include#include#include#includeusing namespace std;void main()( int n;char c;void sub11(),sub22(),sub33(),sub44(),sub55(),sub66(),sub77();do(system(cls);coutnnn;coutn 1.數(shù)的合法輸入并相加;coutn 2.線性插值之拉格朗日法”;coutn 3.二次插值(拋物線插值)之牛頓插值法”;coutn 4.n次插值之拉格朗日法;coutn 5.分段線性插值;coutn 6.最小二乘;coutn 7.高斯

2、消去;coutn 8. 退出”;coutn Please Input your choice!(1-8)n;scanf(%d,&n);switch (n)case 1: sub11( ); break;case 2: sub22( ); break;case 3: sub33( ); break;case 4: sub44( ); break;case 5: sub55( ); break;case 6: sub66( ); break;case 7: sub77( ); break;case 8: goto end;default : coutn 輸入有誤n;coutc;c=getchar(

3、); while(n!=8);end:;int is_number(const char *p)int flag0=0;int flag1=0;int flag3=0;while(*p)if (*p9)if (*p!=. & *p!=-) return -1;if (*p=.) flag0+;if (*p=-)if (flag30) return -1;else flag1+;if (flag0 1 | flag11 ) return -1;p+;flag3+;if (flag0=1)return 1; /floatelsereturn 0 ;/integervoid sub11()char

4、s110,s210;char *p1,*p2;cout s1;cout s2;p1=s1;p2=s2;if (is_number(p1)=0 & is_number(p2)=0) coutnatof(p1)+atof(p2); elsecouts1s2;void sub22()float x0,y0,x1,y1,xm,x,ym;float s;coutplease input two points:(x0,y0),(x1,y1) and (x0!=x1)”x0y0 x1y1;ym=y0*(x-x1)/(x0-x1)+y1*(x-x0)/(x1-x0);s=(y1-y0)/(x1-x0);cou

5、tplease input xm:xm;coutym=(y0*(xm-x1)/(x0-x1)+y1*(xm-x0)/(x1-x0)endl;cout方程是:y-”y1”=”s”(x-”x1”)”endl;void sub33()float x0,y0,x1,y1,x2,y2,xm,x,ym;float y01,y12,y012;coutplease input two points:(x0,y0),(x1,y1),(x2,y2)and (x0!=x1!=x2)”x0y0 x1y1x2y2;y01=(y0-y1)/(x0-x1);y12=(y1-y2)/(x1-x2);y012=(y01-y12

6、)/(x0-x2);ym=y0+(x-x0)*y01+(x-x0)*(x-x1)*y012;coutplease input xm:xm;coutym= y0+(xm-x0)*y01+(xm-x0)*(xm-x1)*y012endl;void sub44()int n,i,j;double xm,ym=0;double x200,y200, l200;cout n;cout endl;cout xm;cout endl;for(i=0;i=n;i+)cout x i xi;cout endl;for(i=0;i=n;i+)cout y i yi;cout endl;for(i=0;i=n;i+

7、)double b=1,c=1;for(j=0;j=n;j+)if(i!=j)b=b*(xm-xj);for(j=0;j=n;j+)if(i!=j)c=c*(xi-xj);li=b/c;for(i=0;i=n;i+)ym=ym+yi*li;cout ymendl;void sub55()int i,n;double xm,ym;cout xm;cout endl;cout n;cout endl;cout ”那么你現(xiàn)在一一輸入這些坐標(biāo)n”;double x200,y200;for(i=0;in;i+)cout x i xi;cout endl;for(i=0;in;i+)cout y i yi

8、;cout endl;for (i = 0; in; i+)if (xi = xm & xm=xi+1)ym=(yi*(xm-xi+1)/(xi-xi+1)+yi+1*(xm-xi)/(xi+1-xi);coutym=ymendl;double s=(yi+1-yi)/(xi+1-xi);cout該段對(duì)應(yīng)的方程是:y-”yi+1”=”s”(x-”xi+1”)”endl;cout其中 x 的區(qū)間為【”xi”,”xi+1”】 ”顯然 xm=xm 在這一區(qū)間內(nèi)endl;break;void sub66()int n,i;float a,b,xsum=0,ysum=0,squaresum=0,xy=0

9、,x25,y25,D;coutn;cout請(qǐng)輸入所有點(diǎn)坐標(biāo):n;for(i=0;ixiyi;xsum+=xi;ysum+=yi;squaresum+=xi*xi;xy+=xi*yi;D=n*squaresum-xsum*xsum;if(D=0)cout原方程無(wú)解或有多組解!n; elsea=(squaresum*ysum-xsum*xy)/D;b=(n*xy-xsum*ysum)/D;couty=a+bxn”;void sub77() cout測(cè)試?yán)樱篹ndl;couta11 = 4a12 = 1a13 = 1a14 = 1endl;couta21 = 1a22 = -1a23 = 2a24

10、 = -2endl;couta31 = 2a32 = 2coutvv”此方程組的解為:vvendl;a33 = -1a34 = 2endl;coutx1 = 1x=-1x3 = -2 endl;coutendl;int n;cout n;cout endl;cout ”請(qǐng)輸入n行”n+1”列數(shù)據(jù):endl;cout 注:其中每一行的最后一個(gè)值代表b1b2.bnendl;float *a ;a=new float*n+1;int i,j;for(i=1;i=n;i+)ai=new floatn+l;for(j=l;jv=n+l;j+)(cout a i j= cin aij;cout endl; 輸入數(shù)據(jù)for(i=l ;iv=n;i+)(if(aii=0)(cout無(wú)解! endl;goto end;float t;for(i=l ;iv=n;i+)(t=l/aii;for(int 1= 1 ;lv=n+1;1+) ail=t*ail;for(int m=i+1 ;mt*aij-amj; 轉(zhuǎn)化過(guò)程coutendl轉(zhuǎn)化為上三角矩陣:endl;for( i=l;iv=n;i+)(for(j=l;jv

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論