計算方法實驗指導書_第1頁
計算方法實驗指導書_第2頁
計算方法實驗指導書_第3頁
計算方法實驗指導書_第4頁
計算方法實驗指導書_第5頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 計算方法實驗指導書大學電子信息工程學院2007年9月目錄計算方法實驗教學計劃2實驗一MATLAB基本操作.3實驗二插值法.5實驗三線性方程組的直接解法.7實驗四線性方程組的迭代方法10實驗五函數逼近與曲線擬合. . 12計算方法實驗教學計劃指導教師:昆侖學時數:10學時周4學時2次實驗,共3周6次實驗,第79教學周,每次實驗2學時所用儀器設備:MATLAB7.0實驗軟件系統實驗指導書:Matlab實驗指導書自編實驗參考書:計算方法, 徐萃薇等編著,高等教育,2003.7 數值分析與實驗,薛毅編著,工業大學,2005.3實驗項目:A, MATLAB基本操作容:矩陣操作,基本數學函數,邏輯函數操

2、作等;要求:完成一些基本練習題B, 插值法容:Lagrange插值、分段線性插值、三次樣條在計算機上用MATLAB軟件實現要求:完成一些基本練習題C, 線性方程組的求解直接解法容:高斯消元法,列主元素法及其誤差分析等在計算機上用MATLAB軟件實現。要求:用實例在計算機上計算和作圖。D, 線性方程組的求解迭代法容:向量和矩陣的數,雅可比迭代法,高斯-賽德爾迭代法及其收斂性等在計算機上用MATLAB軟件實現。要求:用實例在計算機上計算。E, 函數逼近與曲線擬合容:曲線擬和與最小二乘方法在計算機上用MATLAB軟件實現,并用實例在計算機上計算和作圖。要求:用實例在計算機上計算。實驗一 MATLAB

3、基本操作實驗目的熟悉MATLAB的使用方法及特點;學會建立MATLAB搜索路徑;熟悉MATLAB工作空間、MATLAB集成環境、命令窗口;掌握MATLAB的通用命令、管理命令和函數、管理變量和工作空間的使用方法;掌握MATLAB基本操作及矩陣基礎知識,包括:輸入矩陣、矩陣的轉置、矩陣元素求和、矩陣下際、矩陣連接、矩陣行列刪除、矩陣產生和操作、邏輯和關系運算、操作符和特殊字符、基本矩陣和矩陣操作、基本矩陣和陣列;掌握特殊變量和常數;掌握基本數學函數。二、實驗容利用基本矩陣產生3x3和15x8的單位陣,全1陣,全0陣,均勻分布的隨機陣(-1,1之間),正態分布隨機陣(方差4,均值1)2利用diag

4、()函數和rot90()產生下列矩陣: 0 0 8 2 0 4 a= 0 -7 5 b= 0 5 0 2 3 0 7 0 8然后求解a陣的逆矩陣aa及b陣的特征值和對應特征向量,并利用reshape將aa陣變換成行向量。產生一均勻分布在(-5,5)隨機陣(50x2),精確到小數點后一位。4編程實現當-,間隔為1o時,求解正弦和余弦的值,并利用plot()函數繪制正弦,余弦曲線。5利用rand函數產生(0,1)間均勻分布的10x10隨機矩陣a,然后統計a于等于0.6的元素個數。6利用randn函數產生均值為0,方差為1的10x10正態分布隨機陣,然后統計其于-0.5,小于0.5的元素個數。7編程

5、實現下表功能:a b b0.5a=1顯示case 3顯示error8有一矩陣a,找出矩陣中其值大于1的元素,并將他們重新排列成列向量b。9在一市區9月份平均氣溫變化測量矩陣temp_Baoding_sep中(48x30),存在有奇異值(大于42o C,小于0o C),編程實現刪除奇異值所在的行。10在給定的100x100矩陣中,刪除整行容全為0的行,刪除整列容全為0的列。三、實驗要求要求在實驗前必須預習,將實驗容事先準備好,否則不允許上機。上機過程中由指導老師檢查結果后方可做其他容。每次實驗結束后完成實驗報告并在下次實驗之前由學委統一交給指導教師。實驗二插值法一、實驗目的和要求(1)學會Lan

6、grange插值、Newton插值和Hermite插值等基本插值方法(2)學會Matlab提供的插值函數的使用方法,會用這些函數解決實際問題(3) 按照題目要求完成實驗容、寫出相應的Matlab程序給出實驗結果(4)對實驗結果進行分析討論(5)寫出相應的實驗報告實驗容1. Lagrange插值公式.Matlab 程序:按照Lagrange插值公式編寫Matlab程序(函數名:Lagrange.m)function yiagrange(x,y,xi)Lagrange插值多項式,其中,x為向量,全部的插值節點;y為向量,插值節點處的函數值;xi為標量,被估計函數的自變量:yi為xi處的函數估計值n

7、length(x);m=1ength(y);輸入的插值點與它的函數值應有相同的個數ifnm error(The length of X must be equal!);return;endp=zeros(1,n);for k1:n t=ones(1,n); for j=1:n if j=k輸入的插值節點必須互異 if abs(x(k)x(j)a_max a_max=abs(A(i,k); r=i; end end if a_maxk for j=k:n z=A(k,j);A(k,j)=A(r,j);A(r,j)=z; end消元過程 for i=k+11:H mA(i,k)A(k,L); fo

8、r ik十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 index=0;return;endfor k=n:-1:1 for j=k+1:n b(k)=b(k)-A(k,j)*x(j) end x(k)=b(k)/A(k,k)end練習題1:用列主元法求解線性方程組注意:在Matlab函數中,求解線性方程組的命令非常簡單。只需使用矩陣除法。如X=Ab,或利用矩陣

9、的逆X=inv(A)*b。而求行列式的函數為det(A).請同學自行比較計算結果。練習題2:編寫Matlab程序,求列矩陣的LU分解。三、實驗要求要求在實驗前必須預習,將實驗容事先準備好,否則不允許上機。上機過程中由指導老師檢查結果后方可做其他容。每次實驗結束后完成實驗報告并在下次實驗之前由學委統一交給指導教師。實驗四線性方程組的迭代解法實驗目的(1) 學會用Jacobi迭代法、Gauss- Seidel迭代法和超松弛迭代法求線性方程組解(2) 學會對各種迭代法作收斂性分析,研究求方程組解的最優迭代方法(3) 按照題目要求完成實驗容,寫出相應的Matlab程序,給出實驗結果(4) 對實驗結果進

10、行分析討論(5) 寫出相應的實驗報告二、實驗容1.熟悉Jacobi迭代法,并編寫Matlab程序matlab程序按照算法(Jacobi迭代法)編寫Matlab程序(Jacobi.m)functionx,k,index=Jacobi(A,b,ep,it_max)求解線性方程組的Jacobi迭代法,其中, A為方程組的系數矩陣; b為方程組的右端項; ep為精度要求,缺省值1e-5; it_max為最大選代次數,缺省值100; x為方程組的解; k為迭代次數; index為指標變量 index=1表示迭代收斂到指定要求, , index=0表示迭代失敗.if nargin4 it_max=100;

11、endif nargin3 ep=1e-5;endn=length(A);k=0;x=zeros(n,1);y=x;index=1;while l for i=1:ny(i)=b(i) for j=1:n if j = i y(i)=y(i)-A(i,j)*x(j); end end if abs(A(i,i)1e-10|k= it_max index=0; return; end y(i)=y(i)/A(i,i); end if norm(y-x,inf)ep break; end e=y;k=k+1;end2. 熟悉Gauss-Seidel迭代法,并編寫Matlab程序3.練習練習題1.

12、用Jacobi迭代法求方程組的解。練習題2. 用Gauss-Seidel迭代法求解上題的線性方程組,取。三、實驗要求要求在實驗前必須預習,將實驗容事先準備好,否則不允許上機。上機過程中由指導老師檢查結果后方可做其他容。每次實驗結束后完成實驗報告并在下次實驗之前由學委統一交給指導教師。實驗五函數逼近與數據擬合實驗目的(1) 學會函數的最佳平方逼近,理解最佳平方逼近的意義(2) 學會數據的最小二乘擬合(3) 按照題目要求完成實驗容,寫出相應的Matlab程序,給出實驗結果(4)對實驗結果進行分析討論(5)寫出相應的實驗報告二、實驗容1最小二乘算法Matlab程序算法:(1) 輸入數據和權系數選擇函

13、數逼近系。(2) 求解法方程組。(3)求出最小二乘逼近。Matlab程序:編寫成Matlab程序(函數名:square_least.m)計算數據最小二乘擬合系數.function S=square_least(x,y,n,w)數據的最小二乘擬合,其中x,y為數據的(x,y)坐標;n為數據擬合的次數,缺省時n=1;w為權值,缺省值w=1;S為數據擬合的系數;需要另寫的外部函數.phi(x)為基函數,通常為多項式1,x,x2,.global;global;if nargin 4w = 1; endif nargin 3n = 1; endphi2=zeros(n+1);for i=0:n for i=0:n phi2(i+1, j+1)=sum(w.* phi_k(x,i).*phi_k(x,j); endendphiF= zeros(n+1,1);endS=phiphiF1數據的最小二乘擬和假定某天的氣溫變化記錄如表所示時間(t)012345678910

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論