數(shù)值分析數(shù)學(xué)實驗上機實驗編程matlab源代碼_第1頁
數(shù)值分析數(shù)學(xué)實驗上機實驗編程matlab源代碼_第2頁
數(shù)值分析數(shù)學(xué)實驗上機實驗編程matlab源代碼_第3頁
數(shù)值分析數(shù)學(xué)實驗上機實驗編程matlab源代碼_第4頁
數(shù)值分析數(shù)學(xué)實驗上機實驗編程matlab源代碼_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Newton法及改進的Newton法源程序:clear% 輸入函數(shù)f=input(請輸入需要求解函數(shù),s)%求解f(x)的導(dǎo)數(shù)df=diff(f);%改進常數(shù)或重根數(shù)miu=2;%初始值x0x0=input(input initial value x0);k=0;%迭代次數(shù)max=100;%最大迭代次數(shù)R=eval(subs(f,x0,x);%求解f(x0),以確定初值x0時否就是解while (abs(R)1e-8) x1=x0-miu*eval(subs(f,x0,x)/eval(subs(df,x0,x); R=x1-x0; x0=x1; k=k+1;if (eval(subs(f,x0

2、,x)max;%如果迭代次數(shù)大于給定值,認為迭代不收斂,重新輸入初值 ss=input(maybe result is error,choose a new x0,y/n?,s); if strcmp(ss,y) x0=input(input initial value x0); k=0; else break end endendk;%給出迭代次數(shù)x=x0;%給出解Gauss消元法源程序:cleara=input(輸入系數(shù)陣:n)b=input(輸入列陣b:n)n=length(b);A=a bx=zeros(n,1);%函數(shù)主體Yipusilong-1;for k=1:n-1;%是否進行主

3、元選取if abs(A(k,k)abs(t) p=r; else p=k; end end %交換元素 if p=k; for q=k:n+1; s=A(k,q); A(k,q)=A(p,q); A(p,q)=s; end end end %判斷系數(shù)矩陣是否奇異或病態(tài)非常嚴重if abs(A(k,k) yipusilongdisp(矩陣奇異,解可能不正確)end %計算消元,得三角陣 for r=k+1:n; m=A(r,k)/A(k,k); for q=k:n+1; A(r,q)=A(r,q)-A(k,q)*m; end endend %求解x x(n)=A(n,n+1)/A(n,n); f

4、or k=n-1:-1:1; s=0; for r=k+1:n; s=s+A(k,r)*x(r); end t=(A(k,n+1)-s) x(k)=(A(k,n+1)-s)/A(k,k)endLagrange插值源程序:n=input(將區(qū)間分為的等份數(shù)輸入:n);s=-1+2/n*0:n;%給定的定點,Rf為給定的函數(shù)x=-1:0.01:1;f=0;for q=1:n+1; l=1;%求插值基函數(shù) for k=1:n+1; if k=q; l=l.*(x-s(k)./(s(q)-s(k); else l=l; end end f=f+Rf(s(q)*l;%求插值函數(shù)endplot(x,f,r

5、)%作出插值函數(shù)曲線grid on hold on分段線性插值源程序clearn=input(將區(qū)間分為的等份數(shù)輸入:n);s=-1+2/n*0:n;%給定的定點,Rf為給定的函數(shù)m=0;hh=0.001;for x=-1:hh:1; ff=0; for k=1:n+1;%求插值基函數(shù) switch k case 1 if xs(n); l=(x-s(n)./(s(n+1)-s(n); else l=0; end otherwise if x=s(k-1)&x=s(k)&x=s(k+1); l=(x-s(k+1)./(s(k)-s(k+1); else l=0; end end end ff=

6、ff+Rf(s(k)*l;%求插值函數(shù)值 end m=m+1; f(m)=ff;end %作出曲線x=-1:hh:1;plot(x,f,r);grid onhold on 三次樣條插值源程序:(采用第一邊界條件)clearn=input(將區(qū)間分為的等份數(shù)輸入:n);%插值區(qū)間a=-1;b=1;hh=0.001;%畫圖的步長s=a+(b-a)/n*0:n;%給定的定點,Rf為給定的函數(shù)%第一邊界條件Rf(-1),Rf(1)v=5000*1/(1+25*a*a)3-50/(1+25*a*a)4;for k=1:n;%取出節(jié)點間距 h(k)=s(k+1)-s(k);endfor k=1:n-1;%

7、求出系數(shù)向量lamuda,miu la(k)=h(k+1)/(h(k+1)+h(k); miu(k)=1-la(k);end%賦值系數(shù)矩陣Afor k=1:n-1; for p=1:n-1; switch p case k A(k,p)=2; case k-1 A(k,p)=miu(p+1); case k+1 A(k,p)=la(p-1); otherwise A(k,p)=0; end endend%求出d陣for k=1:n-1; switch k case 1 d(k)=6*f2c(s(k) s(k+1) s(k+2)-miu(k)*v; case n-1 d(k)=6*f2c(s(k

8、) s(k+1) s(k+2)-la(k)*v; otherwise d(k)=6*f2c(s(k) s(k+1) s(k+2); endend%求解M陣M=Ad;M=v;M;v;%m=0;f=0;for x=a:hh:b; if x=a; p=1; else p=ceil(x-s(1)/(b-a)/n); end ff1=0; ff2=0; ff3=0; ff4=0; m=m+1; ff1=1/h(p)*(s(p+1)-x)3*M(p)/6; ff2=1/h(p)*(x-s(p)3*M(p+1)/6; ff3=(Rf(s(p+1)-Rf(s(p)/h(p)-h(p)*(M(p+1)-M(p)

9、/6)*(x-s(p); ff4=Rf(s(p)-M(p)*h(p)*h(p)/6; f(m)=ff1+ff2+ff3+ff4 ; end %作出插值圖形x=a:hh:b;plot(x,f,k)hold ongrid on多項式最小二乘法源程序clear%給定測量數(shù)據(jù)點(s,f)s=3 4 5 6 7 8 9;f=2.01 2.98 3.50 5.02 5.47 6.02 7.05;%計算給定的數(shù)據(jù)點的數(shù)目n=length(f);%給定需要擬合的數(shù)據(jù)的最高次多項式的次數(shù)m=10;%程序主體for k=0:m; g=zeros(1,m+1); for j=0:m; t=0; for i=1:n;

10、%計算內(nèi)積(fai(si),fai(si) t=t+fai(s(i),j)*fai(s(i),k); end g(j+1)=t; end A(k+1,:)=g;%法方程的系數(shù)矩陣 t=0; for i=1:n;%計算內(nèi)積(f(si),fai(si) t=t+f(i)*fai(s(i),k); end b(k+1,1)=t;end a=Ab%求出多項式系數(shù)x=s(1):0.01:s(n);y=0;for i=0:m; y=y+a(i+1)*fai(x,i);endplot(x,y)%作出擬合成的多項式的曲線grid onhold on plot(s,f,rx) %在上圖中標(biāo)記給定的點表中,L10

11、(x)為Lagrange插值的10次多項式,S10(x),S40(x)分別代表n=10,40的三次樣條插值函數(shù),X10(x),X40(x)分別代表n=10,40的線性分段插值函數(shù)。x f(x) L10(x) S10(x) S40(x) X10(x) X40(x)-1.000 0.154 0.154 0.154 0.154 0.154 0.154-0.000 0.239 1.920 0.040 0.239 0.910 0.239-0.000 0.941 1.926 0.458 0.941 0.665 0.941-0.000 0.344 0.982 0.979 0.344 0.421 0.344-

12、0.000 0.176 0.176 0.176 0.176 0.176 0.176-0.000 0.378 -0.674 0.744 0.378 0.882 0.378-0.000 0.321 -0.250 0.866 0.321 0.588 0.321-0.000 0.649 -0.418 0.849 0.649 0.294 0.649-0.000 0.000 0.000 0.000 0.000 0.000 0.000-0.000 0.788 0.257 0.713 0.788 0.000 0.788-0.000 0.276 0.103 0.730 0.276 0.000 0.276-0.0

13、00 0.825 0.267 0.883 0.825 0.000 0.825-0.000 0.000 0.000 0.000 0.000 0.000 0.000-0.000 0.385 0.376 0.464 0.385 0.000 0.385-0.000 0.231 0.080 0.860 0.231 0.000 0.231-0.000 0.902 0.789 0.327 0.902 0.000 0.902-0.000 0.000 0.000 0.000 0.000 0.000 0.000-0.000 0.000 0.340 0.431 0.000 0.000 0.000-0.000 0.0

14、00 0.890 0.828 0.000 0.000 0.000-0.000 0.824 0.073 0.810 0.824 0.000 0.8240 1.000 1.000 1.000 1.000 1.000 1.0000.000 0.824 0.073 0.810 0.824 0.000 0.8240.000 0.000 0.890 0.828 0.000 0.000 0.0000.000 0.000 0.340 0.431 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.000 0.0000.000 0.902 0.789 0.327 0

15、.902 0.000 0.9020.000 0.231 0.080 0.860 0.231 0.000 0.2310.000 0.385 0.376 0.464 0.385 0.000 0.3850.000 0.000 0.000 0.000 0.000 0.000 0.0000.000 0.825 0.267 0.883 0.825 0.000 0.8250.000 0.276 0.103 0.730 0.276 0.000 0.2760.000 0.788 0.257 0.713 0.788 0.000 0.7880.000 0.000 0.000 0.000 0.000 0.000 0.0000.000 0.649 -0.418 0.849 0.649 0.294 0.6490.000 0.321 -0.250 0.866 0.321 0.588 0.3210.000 0.378 -0.674 0.744 0.378

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論