版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上2.用下列方法求方程ex+10x-2=0的近似根,要求誤差不超過5*10的負(fù)4次方,并比較計算量(1)二分法(局部,大圖不太看得清,故后面兩小題都用局部截圖)(2)迭代法(3)牛頓法順序消元法#include<stdio.h>#include<stdlib.h>#include<math.h>int main() int N=4,i,j,p,q,k; double m; double a45; double x1,x2,x3,x4; for (i=0;i<N ;i+ ) for (j=0;j<N+1; j+ ) scan
2、f("%lf",&aij); for(p=0;p<N-1;p+) for(k=p+1;k<N;k+) m=akp/app; for(q=p;q<N+1;q+) akq=akq-m*apq; x4=a34/a33; x3=(a24-x4*a23)/a22; x2=(a14-x4*a13-x3*a12)/a11; x1=(a04-x4*a03-x3*a02-x2*a01)/a00; printf("%f,%f,%f,%f",x1,x2,x3,x4); scanf("%lf",&aij); (這一步只是為了
3、看到運行的結(jié)果) 運行結(jié)果列主元消元法functionx,det,flag=Gauss(A,b)n,m=size(A);nb=length(b);flag='OK'det=1;x=zeros(n,1);for k=1:n-1 max1=0; for i=k:n if abs(A(i,k)>max1 max1=abs(A(i,k);r=i; end end if max1<1e-10 flag='failure'return;end if r>k for j=k:n z=A(k,j);A(k,j)=A(r,j);A(r,j)=z; end z=b
4、(k);b(k)=b(r);b(r)=z;det=-det; end for i=k+1:n m=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-m*A(k,j); end b(i)=b(i)-m*b(k); end det=det*A(k,k); end det=det*A(n,n) if abs(A(n,n)<1e-10 flag='failure'return;end x(n)=b(n)/A(n,n);for k=n-1:-1:1 for j=k+1:n b(k)=b(k)-A(k,j)*x(j); end x(k)=b(k)/A(
5、k,k);end 運行結(jié)果:雅可比迭代法function y=jacobi(a,b,x0)D=diag(diag(a);U=-triu(a,1);L=-tril(a,-1);B=D(L+U);f=Db;y=B*x0+f;n=1;while norm(y-x0)>1e-4x0=y;y=B*x0+f;n=n+1;endyn高斯賽德爾迭代法function y=seidel(a,b,x0)D=diag(diag(a);U=-triu(a,1);L=-tril(a,-1);G=(D-L)U;f=(D-L)b;y=G*x0+f;n=1;while norm(y-x0)>10(-4)x0=y;
6、y=G*x0+f;n=n+1;endynSOR迭代法function y=sor(a,b,w,x0)D=diag(diag(a);U=-triu(a,1);L=-tril(a,-1);lw=(D-w*L)(1-w)*D+w*U);f=(D-w*L)b*w;y=lw*x0+f;n=1;while norm(y-x0)>10(-4)x0=y;y=lw*x0+f;n=n+1;endyn1.分段線性插值:function y=fdxx(x0,y0,x) p=length(y0);n=length(x0);m=length(x); for i=1:m z=x(i); for j=1:n-1 if
7、z<x0(j+1) break; end end y(i)= y0(j)*(z-x0(j+1)/(x0(j)-x0(j+1)+y0(j+1)*(z-x0(j)/(x0(j+1)-x0(j); fprintf('y(%d)=%fnx1=%.3fy1=%.3fnx2=%.3fy2=%.3fnn',i,y(i),x0(j),y0(j),x0(j+1),y0(j+1); end end 結(jié)果0.39404 0.38007 0.356932.分段二次插值:function y=fdec(x0,y0,x)p=length(y0);n=length(x0);m=length(x); f
8、or i=1:m z=x(i); for j=1:n-1 if z<x0(j+1) break; end end if j<2 j=j+1; elseif (j<n-1) if (abs(x0(j)-z)>abs(x0(j+1)-z) j=j+1; elseif (abs(x0(j)-z)=abs(x0(j+1)-z)&&(abs(x0(j-1)-z)>abs(x0(j+2)-z) j=j+1; end end ans=0.0; for t=j-1:j+1 a=1.0; for k=j-1:j+1 if t=k a=a*(z-x0(k)/(x0(t
9、)-x0(k); end end ans=ans+a*y0(t); end y(i)=ans; fprintf('y(%d)=%fn x1=%.3f y1=%.3fn x2=%.3f y2=%.3fn x3=%.3f y3=%.3fnn',i,y(i),x0(j-1),y0(j-1),x0(j),y0(j),x0(j+1),y0(j+1);end end 結(jié)果為0.39447 0.38022 0.357253.拉格朗日全區(qū)間插值function y=lglr(x0,y0,x) p=length(y0);n=length(x0);m=length(x); for t=1:m an
10、s=0.0; z=x(t); for k=1:n p=1.0; for q=1:n if q=k p=p*(z-x0(q)/(x0(k)-x0(q); end end ans=ans+p*y0(k); end y(t)=ans; fprintf('y(%d)=%fn',t,y(t);endend結(jié)果為0.39447 0.38022 0.35722function p,S,mu = polyfit(x,y,n)if isequal(size(x),size(y) errorendx = x(:);y = y(:);if nargout > 2 mu = mean(x); s
11、td(x); x = (x - mu(1)/mu(2);endV(:,n+1) = ones(length(x),1,class(x);for j = n:-1:1 V(:,j) = x.*V(:,j+1);end Q,R = qr(V,0);ws = warning; p = R(Q'*y); warning(ws);if size(R,2) > size(R,1) warning;elseif warnIfLargeConditionNumber(R) if nargout > 2 warning; else warning; endendif nargout >
12、 1 r = y - V*p; S.R = R; S.df = max(0,length(y) - (n+1); S.normr = norm(r);endp = p.' function flag = warnIfLargeConditionNumber(R)if isa(R, 'double') flag = (condest(R) > 1e+10);else flag = (condest(R) > 1e+05);endx=1,3,4,5,6,7,8,9,10;y=10,5,4,2,1,1,2,3,4;p=polyfit(x,y,2);y=poly2s
13、ym(p);a=-p(1)/p(2)*0.5;xa=-p(2)/(2*p(1);min=(4*p(1)*p(3)-p(2)2)/(4*p(1);yxamin運行截圖運行結(jié)果function I = CombineTraprl(f,a,b,eps)if(nargin =3) eps=1.0e-4; endn=1;h=(b-a)/2;I1=0;I2=(subs(sym(f),findsym(sym(f),a)+subs(sym(f),findsym(sym(f),b)/h;while abs(
14、I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i;
15、160; x1=x+h; I2=I2+(h/2)*(subs(sym(f),findsym(sym(f),x)+subs(sym(f),findsym(sym(f),x1); endendI=I2;程序:>> q=CombineTraprl('(1-exp(-x)0.5/x'10-12,1)結(jié)果:q =1.8521歐拉方法function x,y=eu
16、ler(fun,x0,xfinal,y0,n);if nargin<5,n=50;endh=(xfinal-x0)/n; x(1)=x0;y(1)=y0;for i=1:n x(i+1)=x(i)+h; y(i+1)=y(i)+h*feval(fun,x(i),y(i); end程序:x,y=euler('doty',0,1,1,10)結(jié)果:改進(jìn)歐拉方法function x,y=eulerpro(fun,x0,xfinal,y0,n); if nargin<5,n=50; endh=(xfinal-x0)/n; x(1)=x0;y(1)=y0; for i=1:n x(i+1)=x(i)+h; y1=y(i)+h*feval(fun,x(i),y(i); y2=y(i)+h*feval(fun,x(i+1),y1); y(i+1)=(y1+y2)/2; end程序:>> x,y=eulerpro('doty',0,1,1,10)結(jié)果:經(jīng)典RK法function x,y=RungKutta4(dyfun,xspan,y0,h)x=xspan(1):h:xspan(2);y(1)=y0;for n=1:length(x)-1 k1=feval(dyfun,x(n),y(n); k2=feval(dyfun,x
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年技術(shù)開發(fā)股權(quán)協(xié)議
- 代理出口業(yè)務(wù)協(xié)議書
- 商品房承租轉(zhuǎn)讓協(xié)議
- 合法建房承包合同格式
- 標(biāo)準(zhǔn)口譯服務(wù)合同范本
- 物流運輸合同范例
- 最高額保證擔(dān)保借款合同書編寫要點
- 境外勞務(wù)輸出業(yè)務(wù)合同
- 電網(wǎng)調(diào)度合同范本
- 上海市住宅項目預(yù)訂合同樣本
- 骨骼肌肉系統(tǒng)影像診斷(160頁)
- 鐵路信號基礎(chǔ)繼電器ppt課件
- 污水設(shè)計構(gòu)筑物的計算
- 武當(dāng)太極劍劍譜(49式)詳細(xì)介紹及招式名稱匯總
- 風(fēng)量、溫度、噪聲測試記錄填寫范例
- 特種作業(yè)人員臺賬.doc
- 國家開放大學(xué)《管理英語1》邊學(xué)邊練參考答案
- (完整版)裝飾裝修工程監(jiān)理細(xì)則(詳解)最新(精華版)
- 電焊中級工(四級)職業(yè)技能鑒定考試題庫
- 多巴胺的藥理作用及用法PPT參考幻燈片
- 鋼結(jié)構(gòu)網(wǎng)架翻新改造施工方案
評論
0/150
提交評論