




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、高斯消元法1.程序:clearformat ratA=input('輸入增廣矩陣A=')m,n=size(A);for i=1:(m-1)numb=int2str(i);disp('第',numb,'次消元后的增廣矩陣')for j=(i+1):mA(j,:)=A(j,:)-A(i,:)*A(j,i)/A(i,i);endAend%回代過程disp('回代求解')x(m)=A(m,n)/A(m,m);for i=(m-1):-1:1x(i)=(A(i,n)-A(i,i+1:m)*x(i+1:m)')/A(i,i);endx
2、2.運行結果:高斯選列主元消元法1. 程序:clearformat ratA=input('輸入增廣矩陣A=')m,n=size(A);for i=1:(m-1) numb=int2str(i);disp('第',numb,'次選列主元后的增廣矩陣')temp=max(abs(A(i:m,i); a,b=find(abs(A(i:m,i)=temp);tempo=A(a(1)+i-1,:);A(a(1)+i-1,:)=A(i,:);A(i,:)=tempodisp('第',numb,'次消元后的增廣矩陣') for
3、 j=(i+1):m A(j,:)=A(j,:)-A(i,:)*A(j,i)/A(i,i); end Aend%回代過程 disp('回代求解') x(m)=A(m,n)/A(m,m);for i=(m-1):-1:1 x(i)=(A(i,n)-A(i,i+1:m)*x(i+1:m)')/A(i,i); end x2.運行結果:追趕法1. 程序:function x,L,U=zhuiganfa(a,b,c,f) a=input('輸入矩陣-1對角元素a=');b=input('輸入矩陣對角元素b=');c=input('輸入矩陣+
4、1對角元素c=');f=input('輸入增廣矩陣最后一列元素f=');n=length(b);% 對A進行分解 u(1)=b(1); for i=2:n if(u(i-1)=0) l(i-1)=a(i-1)/u(i-1); u(i)=b(i)-l(i-1)*c(i-1); else break; end end L=eye(n)+diag(l,-1); U=diag(u)+diag(c,1); x=zeros(n,1); y=x; % 求解Ly=b y(1)=f(1); for i=2:n y(i)=f(i)-l(i-1)*y(i-1); end % 求解Ux=y i
5、f(u(n)=0) x(n)=y(n)/u(n); end for i=n-1:-1:1 x(i)=(y(i)-c(i)*x(i+1)/u(i); end 2.運行結果:高斯-塞德爾迭代格式1.程序:function x=Gauss_Seidel(a,b)a=input('輸入系數矩陣a=')b=input('輸入增廣矩陣最后一列b=');e=0.5e-7;n=length(b);N=50;x=zeros(n,1);t=zeros(n,1);for k=1:N sum=0; E=0; t(1:n)=x(1:n); for i=1:n x(i)=(b(i)-a(i
6、,1:(i-1)*x(1:(i-1)-a(i,(i+1):n)*t(i+1):n)/a(i,i); end if norm(x-t)<e k break; endend2. 運行結果:雅戈比迭代格式1.程序:function x=Jocabi(a,b)a=input('輸入系數矩陣a=');b=input('輸入增廣矩陣最后一列b=');e=0.5e-7;n=length(b);N=100;x=zeros(n,1);y=zeros(n,1);for k=1:N sum=0; for i=1:n y(i)=(b(i)-a(i,1:n)*x(1:n)+a(i,
7、i)*x(i)/a(i,i); end for i=1:n sum=sum+(y(i)-x(i)2; end if sqrt(sum)<e k break; else for i=1:n x(i)=y(i); end endendif k=N warning('未能找到近似解');end2.運行結果:逐次超松弛法(SOR)1.程序:function n,x=sor22(A,b,X,nm,w,ww)%用超松弛迭代法求解方程組Ax=b%輸入:A為方程組的系數矩陣,b為方程組右端的列向量,X為迭代初值構成的列向量,nm為最大迭代次數,w為誤差精度,ww為松弛因子%輸出:x為求得
8、的方程組的解構成的列向量,n為迭代次數A=input('輸入系數矩陣A=');b=input('輸入方程組右端的列向量b=');X=input('輸入迭代初值構成的列向量X=');nm=input('輸入最大迭代次數nm=');w=input('輸入誤差精度w=');ww=input('輸入松弛因子ww=');n=1;m=length(A);D=diag(diag(A); %令A=D-L-U,計算矩陣DL=tril(-A)+D; %令A=D-L-U,計算矩陣LU=triu(-A)+D; %令A=D-
9、L-U,計算矩陣UM=inv(D-ww*L)*(1-ww)*D+ww*U); %計算迭代矩陣g=ww*inv(D-ww*L)*b; %計算迭代格式中的常數項%下面是迭代過程while n<=nm x=M*X+g; %用迭代格式進行迭代 if norm(x-X,'inf')<w disp('迭代次數為');n disp('方程組的解為');x return; %上面:達到精度要求就結束程序,輸出迭代次數和方程組的解 end X=x;n=n+1;end%下面:如果達到最大迭代次數仍不收斂,輸出警告語句及迭代的最終結果(并不是方程組的解)d
10、isp('在最大迭代次數內不收斂!');disp('最大迭代次數后的結果為');2.運行結果:二分法求解方程的根1.程序:%其中a,b表示查找根存在的范圍,M表示要求解函數的值%f(x)表示要求解根的方程%eps表示所允許的誤差大小function y=er_fen_fa(a,b,M)k=0;eps=0.05while b-a>eps x=(a+b)/2; %檢查是否大于值 if (x3)-3*x-1)>M b=x else a=x end k=k+1end2.運行結果:Newton 迭代法(切線法)1.程序:function x=nanewton(
11、fname,dfname,x0,e,N)%newton迭代法解方程組%fname和dfname分別表示F(x)及其導函數的M函數句柄或內嵌函數,x0為迭代初值,e為精度要求x=x0;x0=x+2*e;k=0;if nargin<5,N=500;endif nargin<4 e=1e-4;endwhile abs(x0-x)>e&k<N, k=k+1; x0=x;x=x0-feval(fname,x0)/feval(dfname,x0); disp(x)endif k=N,warning('已達迭代次數上限');end2.運行結果:割線方式迭代法1
12、.程序:function x=ge_xian_fa(fname,dfname,x0,x1,e,N)%割線方式迭代法解方程組%fname和dfname分別表示F(x)及其導函數的M函數句柄或內嵌函數,x0,x1分別為迭代初值,e為精度要求k=0;a=x1;b=x0;if nargin<5,N=500;endif nargin<4 e=1e-4;endwhile abs(a-b)>e&k<N, k=k+1; x=x1-(x1-x0)/(feval(fname,x1)-feval(fname,x0)*feval(fname,x1); if feval(fname,x)
13、*feval(fname,x0)>0, x0=x;b=x0; else x1=x;a=x1; end x=x1-(x1-x0)/(feval(fname,x1)-feval(fname,x0)*feval(fname,x1); numb=int2str(k); disp('第',numb,'次計算后x=') fprintf('%fnn',x); endif k=N,warning('已達迭代次數上限');end2.運行結果:Newton插值1.程序:%保存文件名為New_Int.m%Newton基本插值公式%x為向量,全部的
14、插值節點%y為向量,差值節點處的函數值%xi為標量,是自變量%yi為xi出的函數估計值function yi=newton_chazhi(x,y,xi)n=length(x);m=length(y);if n=merror('The lengths of X ang Y must be equal!');return;end%計算均差表YY=zeros(n);Y(:,1)=y'for k=1:n-1for i=1:n-kif abs(x(i+k)-x(i)<epserror('the DATA is error!');return;endY(i,k
15、+1)=(Y(i+1,k)-Y(i,k)/(x(i+k)-x(i);endend%計算牛頓插值公式yi=0;for i=1:nz=1;for k=1:i-1z=z*(xi-x(k);endyi=yi+Y(1,i)*z;end2.運行結果:Lagrange插值1.程序:function y0 = Language(x,y,x0)syms t l;if length(x)=length(y) n = length(x);else disp('x和y的維數不相等!'); return; %檢錯endh=sym(0);for i=1:n l=sym(y(i); for j=1:i-1 l=l*(t-x(j)/(x(i)-x(j); end; for j=i+1:n l=l*(t-x(j)/(x(i)-x(j); end; h=h+l;endsimplify(h);if nargin = 3 y0 = subs (h,'t',x0); %計算插值點的函數值else y0=collect(h); y0 = vpa(y0,6); %將插值多項式的系數化成6位精度的小數end2.運行結果:最小二乘法1.程序:function p=nafit(x,y,m)%多項式擬合% x, y為已知數據點向量, 分別表示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超神數學-高考數學總復習拔高篇(二輪)專題2周期函數與類周期函數(含答案或解析)
- 房地產行業報告:百強房企拿地優于去年市場延續分化
- 部編版語文五年級下冊《習作-神奇的探險之旅》課件
- PEEK行業深度:“機器人浪潮”下的特種塑料“弄潮兒”
- 2025年農業灌溉用水高效利用的節水灌溉設備市場分析報告
- 新零售時代下的連鎖藥店擴張路徑與數字化運營模式研究報告
- 汽車行業供應鏈全球化背景下的韌性構建與風險管理報告
- 大數據與社交媒體融合的2025年精準營銷策略研究報告
- 金融行業2025年反欺詐技術革新與大數據融合應用報告
- 2025年多式聯運信息平臺物流企業國際化發展與拓展報告
- 2025年湖北省普通高中學業水平合格性考試模擬(二)歷史試題(含答案)
- 2025年高考化學湖北卷試題真題解讀及復習備考指導(精校打印)
- 2025年連云港市中考數學試題卷(含答案)
- 2024初級會計職稱考試《經濟法基礎》真題和答案
- CJ/T 358-2019非開挖工程用聚乙烯管
- 理論聯系實際闡述文化在社會發展中具有什么樣的作用?參考答案四
- 四川雅安天立學校2025年七下數學期末預測試題含解析
- 電子元器件品質協議書
- 破產拍賣協議書
- 駕校退款協議書
- 2025年中國石油套管油管市場現狀分析及前景預測報告
評論
0/150
提交評論