版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1. LU分解:L U=lu(A);2. 追趕法function x=zhuiganfa(A,b)n,n=size(A); for i=1:n if(i=1) l(i)=A(i,i); y(i)=b(i)/l(i); else l(i)=A(i,i)-A(i,i-1)*u(i-1); y(i)=(b(i)-y(i-1)*A(i,i-1)/l(i); end if(in=101;c1=ones(1,n-1);a1=diag(c1,-1); 這個(gè)-1說明行位置-1c2=12*ones(1,n);a2=diag(c2); c3=ones(1,n-1);a3=diag(c3,1); a=a1+a2+a
2、3;3. 拉格朗日插值function yh=lage(x,y,xh)n=length(x);m=length(xh);yh=zeros(1,m);c1=ones(n-1,1);c2=ones(1,m);for i=1:n xp=x(1:i-1 i+1:n); yh=yh+y(i)*prod(c1*xh-xp*c2)./(x(i)-xp*c2);endend x=11,12; y=2,4; xh=11.75; lage(x,y,xh)ans =3.50004 最小二乘法1. 最小二乘的xi和yi為:xi19531964198219902000yi5.826.9510.0811.3412.66要
3、擬合的函數(shù)為:y=a+bx-cxy 注意不是多項(xiàng)式2. 編程函數(shù)為:function z = erchen(x,y)x1=ones(5,1); A=x1,x,-x.*y; 注意點(diǎn)乘z=Ay; 注意左除a=z(1);b=z(2);c=z(3);end 輸入: x=1953 1964 1982 1990 2000; y=5.82 6.95 10.08 11.34 12.66; erchen(x,y)ans = 2.9456 =a -0.0014 =b -0.0005 =c1. 最小二乘的xi和yi為:xi00.250.50.751yi11.2841.64872.11702.7183要擬合的函數(shù)為:
4、y=a+bx+cx2 是多項(xiàng)式2. 編程函數(shù)為:function z = erchen2(x,y)x1=ones(5,1); A=x1,x,x.2;z=Ay;a=z(1);b=z(2);c=z(3);end輸入: x=0 0.25 0.5 0.75 1.00; y=1.00 1.284 1.6487 2.1170 2.7183; erchen2(x,y)ans = 1.0051 0.8642 0.8437最小二乘多項(xiàng)式擬合的簡單函數(shù)方法: x=0 0.25 0.5 0.75 1.00; y=1.00 1.284 1.6487 2.1170 2.7183; P=polyfit(x,y,2) 要擬
5、合成4次,則2改成4就可以了P =0.8437 0.8642 1.0051 注意此內(nèi)置函數(shù)輸出的結(jié)果c,b,a是反的5 復(fù)合辛普森公式求解積分先定義函數(shù):function v=f(x) v=sin(x); “若定義有除數(shù)要點(diǎn)除,分母有0時(shí)要特殊定義”end定義程序:function I=fsps(f,a,b,n)h=(b-a)/n;x=linspace(a,b,2*n+1);y=feval(f,x);I=(h/6)*(y(1)+2*sum(y(3:2:2*n-1)+4*sum(y(2:2:2*n)+y(2*n+1);end fsps(f ,0,1,4)ans = 0.45976.不動(dòng)點(diǎn)迭代思路
6、不動(dòng)點(diǎn)迭代常常有好幾個(gè)迭代的不動(dòng)點(diǎn)函數(shù),所以要分別定義這些函數(shù)是很困難的,如是乎使用SWITCH內(nèi)置函數(shù)進(jìn)行切換,叫切換函數(shù).1.先定義函數(shù)后進(jìn)行編程的方法先需要定義不動(dòng)點(diǎn)函數(shù):function v=f(x)v=x3-x-1;end再定義編程:function it,x=fixpnt1(f,a,maxit,tol)it=0;x=feval(f,a);while ittol, it=it+1; a=x; x=feval(f,a);end此函數(shù)的調(diào)用: fixpnt1(f,2,100,1e-5)ans = 13.利用切換函數(shù)SWITCH的方法(多個(gè)不動(dòng)點(diǎn)迭代函數(shù))function x,it=fix
7、pnt(np,a,maxit,tol)switch np, case 1, phi=inline(3*x+10)(1/5); case 2, phi=inline(sin(10*x)+2*cos(x)-3); case 3, phi=inline(3-atan(x); case 4, phi=inline(-2-1/log(x2+x+1);endit=0;x=phi(a);while ittol, it=it+1; a=x; x=phi(a); end使用與輸入: fixpnt(2,1,100,1e-5)ans = -4.26967. 雅可比迭代function x it=jacobi(A,b
8、,tol)D=diag(diag(A);L=D-tril(A);U=D-triu(A);x=zeros(size(b);for it=1:500 x=D(b+L*x+U*x);error=norm(b-A*x)/norm(b);if (errortol) break;endend8. 高斯迭代function x it=gaosi(A,b,tol)D=diag(diag(A);L=D-tril(A);U=D-triu(A);x=zeros(size(b);for it=1:500 x=(D-L)(b+U*x);error=norm(b-A*x)/norm(b);if (errortol) br
9、eak;endend9. SOR迭代function x it=SOR(A,b,w,tol)D=diag(diag(A);L=D-tril(A);U=D-triu(A);x=zeros(size(b);for it=1:500 x=(D-w*L)(w*b+(1-w)*D*x+w*U*x);error=norm(b-A*x)/norm(b);if (errortol, it=it+1; x=a/2+b/2; fx=feval(f,x);if sign(fx)=sign(fa), a=x;fa=fx;else b=x;fb=fx;end end11. 牛頓法:1.先定義函數(shù)后進(jìn)行編程的方法先需要定
10、義不動(dòng)點(diǎn)函數(shù)需要計(jì)算的函數(shù)ffunction v = f( x )v=x5-3*x-10;end需要計(jì)算的函數(shù)的導(dǎo)數(shù)gfunction v = g( x )v=5*x4-3;end2. 再定義編程:function v = newton(a,f,g,maxit,tol)it=0;x=a;while ittol, it=it+1; x=x-feval(f,x)/feval(g,x);endv=x,it;end12. 牛頓下山法:1.先定義函數(shù)后進(jìn)行編程的方法先需要定義不動(dòng)點(diǎn)函數(shù)需要計(jì)算的函數(shù)ffunction v = f(x)v=x2+sin(10*x)-1end需要計(jì)算的函數(shù)的導(dǎo)數(shù)gfunct
11、ion v =g(x)v = 2*x+10*cos(10*x)end2. 再定義編程1:function v = newtonxiashang(x0,f,g,maxit,tol)x=x0;it=0;while ittol, it=it+1; d=-feval(f,x)/feval(g,x); lambda=1; isdone=0; while isdone, xn=x+lambda*d; if abs(feval(f,xn)abs(feval(f,x), isdone=1; else lambda=lambda*0.5; end end x=xn;endv=x,it;end3. 再定義編程2:
12、function v = newtonxiashang2(x0,f,g,maxit,tol)x=x0;it=0;while ittol, it=it+1; d=-feval(f,x)/feval(g,x); lambda=1; while abs(feval(f,x+lambda*d)=abs(feval(f,x), lambda=0.5*lambda; end x=x+lambda*d;end v=x,it;end13. 割線法1.先定義函數(shù)后進(jìn)行編程的方法先需要定義函數(shù)需要計(jì)算的函數(shù)ffunction v = f( x )v=x5-3*x-10;end2. 再定義編程:function v
13、 = gexian(a,b,f,maxit,tol)it=0;x0=a;x=b;while ittol, it=it+1; xt=x-feval(f,x)/(feval(f,x)-feval(f,x0)*(x-x0); x0=x; x=xt; endv=x,it;end輸入: gexian(1,2,f,100,1e-5)ans = 1.7226 7.000014. 乘冪法function t,y = chenmifa( a,xinit,ep )v0=xinit;tv ti= max(abs(v0);lam0=v0(ti);u0=v0/lam0;flag=0;while (flag=0) v1=
14、a*u0; tv ti= max(abs(v1); lam1=v1(ti); u0=v1/lam1; if (abs(lam0-lam1) a=2,3,2;10,3,4;3,6,1; xinit=1 1 1; ep=0.0001; t y=chenmifa(a,xinit,ep)t = 11.0000y = 0.5000 1.0000 0.750015. 反冪法function t y =fanmifa( a,xinit,ep )v0=xinit;tv ti= max(abs(v0);lam0=v0(ti);u0=v0/lam0;flag=0;while (flag=0) v1=a-1*u0;
15、 tv ti= max(abs(v1); lam1=v1(ti); u0=v1/lam1; if (abs(lam0-1-lam1-1) a=12 6 -6;6 16 2;-6 2 16;xinit=1 -0.5 0.5; t y =fanmifa( a,xinit,0.0001 )t = 4.4560y = 1.0000 -0.62870.628716. 結(jié)合原點(diǎn)平移反冪法function t y =yuandian( a,p,xinit,ep )n n=size(a);v0=xinit;tv ti= max(abs(v0);lam0=v0(ti);u0=v0/lam0;flag=0;whi
16、le (flag=0) v1=(a-p*eye(n)-1*u0; tv ti= max(abs(v1); lam1=v1(ti); u0=v1/lam1; if (abs(lam0-1-lam1-1) a=6 2 1;2 3 1;1 1 1; p=6; ep=0.0001; xinit=1 1 1; t y=yuandian(a,p,xinit,ep)t = 7.2880y = 1.0000 0.5229 0.242217. 歐拉公式初值問題1. 先定義導(dǎo)數(shù)函數(shù)f:function v = f( x,y)v=-y+x+1;end2. 定義歐拉公式編程:function x,y = oula(
17、f,y0,a,b,n )y(1)=y0;h=(b-a)/n;x=a:h:b;for i=1:n; y(i+1)=y(i)+h*feval(f,x(i),y(i);endend18. 改進(jìn)的歐拉公式初值問題1. 先定義導(dǎo)數(shù)函數(shù)f:function v = f( x,y)v=-y+x+1;end要先運(yùn)行一下。2. 定義歐拉公式編程:function x,y =gaijingoula(f,y0,a,b,n)y(1)=y0;h=(b-a)/n;x=a:h:b;for i=1:n; yp=y(i)+h*feval(f,x(i),y(i); yc=y(i)+h*feval(f,x(i+1),yp); y(
18、i+1)=0.5*(yc+yp);endend19. 梯形公式初值問題1. 先定義導(dǎo)數(shù)函數(shù)f:function v = f( x,y)v=-y+x+1;end要先運(yùn)行一下。2. 定義歐拉公式編程:function x,y = tixing( f,y0,a,b,n )y(1)=y0;h=(b-a)/n;x=a:h:b;for i=1:n; y(i+1)=1/(0.5*h+1)*(y(i)+0.5*h*(feval(f,x(i),y(i)+x(i+1)+1);endend20. 標(biāo)準(zhǔn)四階四段龍格庫塔公式初值問題1. 先定義導(dǎo)數(shù)函數(shù)f:function v = f( x,y)v=y+x;end要先運(yùn)行一下。2. 定義歐拉公式編程:function x,y = longgekuta(f,y0,a,b,n)y(1)=y0;h=(b-a)/n;x=a:h:b;for i=1:n, k1=h*feval(f,x(i),y(i); k2=h*feval(f,x(i)+0.5*h,y(i)+0.5*k1); k3=h*feval(f,x(i)+0.5*h,y(i)+0.5*k2); k4=h*feval(f,x(i)+h,y(i)+k3); y(i+1)=y(i)+(k1+2*k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年體檢科工作計(jì)劃二
- 2025年學(xué)校教務(wù)處工作計(jì)劃年度工作計(jì)劃
- 幼兒園讀書月活動(dòng)計(jì)劃
- 2025社區(qū)婦聯(lián)年度工作計(jì)劃
- 大學(xué)生新學(xué)期個(gè)人學(xué)習(xí)工作計(jì)劃
- 小學(xué)四年級體育教學(xué)計(jì)劃例文
- 小學(xué)五年級英語上冊教學(xué)工作計(jì)劃
- 2025年學(xué)校交通安全工作計(jì)劃范文
- 2020版 滬教版 高中音樂 必修4音樂編創(chuàng) 上篇《第二單元 音隨心動(dòng)》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 合同案件觀點(diǎn)集成
- 2024年廣東能源集團(tuán)天然氣有限公司招聘筆試參考題庫附帶答案詳解
- 寧夏回族自治區(qū)中衛(wèi)市沙坡頭區(qū)2023-2024學(xué)年六年級上學(xué)期期末語文試卷
- 2022-2023學(xué)年江蘇省蘇州市七年級(上)期末歷史試卷(含答案)
- 海綿城市改造工程施工組織設(shè)計(jì)樣本
- 腎病科主任述職報(bào)告
- DB11-693-2017 建設(shè)工程臨建房屋技術(shù)標(biāo)準(zhǔn)
- 英語口語考試方案
- 中醫(yī)養(yǎng)生館營銷方案
- 2024年上海華力集成電路制造有限公司招聘筆試參考題庫含答案解析
- 2024年供應(yīng)鏈管理師(一級)資格考試復(fù)習(xí)題庫(含答案)
- 高考英語高頻短語按字母排序
評論
0/150
提交評論