一、實驗的性質、目的和任務
本實驗是與本專業基礎課《數值計算方法》相配套的,旨在鞏固專業課內容和學生程式設計的能力。
通過實驗加強對數值方法的理解和掌握,編制出適用的程式。同時,在理論教學的基礎上,注意方法處理的技巧及其與計算機的結合,;其次要通過例子,學習使用各種數值方法解決實際計算問題。
要求學生應用高階計算機語言matlab程式設計完成實驗。
二、實驗基本要求
要求熟悉高階計算機語言matlab,以及相關上機操作說明;上機時要遵守實驗室的規章制度,愛護實驗裝置;記錄除錯過程及結果。
三、實驗原理
應用高階計算機語言實現數值計算方法課程中的各種演算法。
四、裝置及器材配置
主機:微機
作業系統:windows 98以上
軟體:高階計算機語言matlab
五、考核與報告
每個實驗完成後交乙份實驗報告。本實驗作為平時成績的一部分佔學期期末總成績的20%。
六、適用物件
自動化專業
七、主要參考書
1. 王能超編,《數值分析簡明教程》,高等教育出版社,2023年,第2版
2. 封建湖編,《數值分析原理》,科學出版社,2023年,第1版
3. 馮有前編,《數值分析》,清華大學出版社,2023年,第1版
4. 周璐等譯, john h. mathews等編,《數值方法(matlab版)》,電子工業出版社,2023年,第二版
實驗一採用拉格朗日方法計算插值
一、 實驗目的:
1. 掌握多項式插值的概念、存在唯一性;
2. 能夠熟練地應用拉格朗日方法計算插值,並完成插值程式的設計和除錯。
二、 實驗內容:
構造拉格朗日插值多項式逼近,要求:
(1) 取節點,求線性插值多項式;
(2) 取節點,,求拋物插值多項式;
(3) 取節點,,,求三次插值多項式;
(4) 分別求、、的值,並與精確值相比較。
三、 實驗程式及結果:
實驗程式如下:
ex1_
l0=xianxing(1.3,-1,1);
l1=xianxing(1.3,1,-1);
y0=hanshu(-1);
y1=hanshu(1);
y=l0*y0+l1*y1
det1=abs(y-hanshu(1.3))
ex1_
l0=paowu(1.3,-1,0,1);
l1=paowu(1.3,0,-1,1);
l2=paowu(1.3,1,-1,0);
y0=hanshu(-1);
y1=hanshu(0);
y2=hanshu(1);
y=l0*y0+l1*y1+l2*y2
det2=abs(y-hanshu(1.3))
ex1_
l0=sanci(1.3,-1,0,1,2);
l1=sanci(1.3,0,-1,1,2);
l2=sanci(1.3,1,0,-1,2);
l3=sanci(1.3,2,-1,0,1);
y0=hanshu(-1);
y1=hanshu(0);
y2=hanshu(1);
y3=hanshu(2);
y=l0*y0+l1*y1+l2*y2+l3*y3
det3=abs(y-hanshu(1.3))
function f=xianxing(x,y,z)
f=(x-z)/(y-z);
function f=paowu(x,y,z,w)
f=((x-z)*(x-w))/((y-z)*(y-w));
function f=sanci(x,y,z,w,s)
f=((x-z)*(x-w)*(x-s))/((y-z)*(y-w)*(y-s));
function f=hanshu(x)
f=x^3;
實驗結果分析:
y =1.3000
det1 =0.8970
y =1.3000
det2 =0.8970
y =2.1970
det3 =4.4409e-016
結果說明三次插值方法得到的結果最接近真實值。
實驗二採用埃特金方法計算插值
一、 實驗目的:
1. 進一步掌握多項式插值的概念;
2. 能夠熟練地應用埃特金方法計算插值,並完成插值程式的設計和除錯。
二、 實驗內容:
設取節點為,,,,,,,,,用埃特金方法求的近似值,並與真實結果相比較。
三、 實驗程式及結果:
實驗程式如下:
x=[-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1];
for i=2:9
for j=i:9
y(j-1,i-1)=atj(0.793,x(i-1),x(j));
endendy(8,8)
det=abs(y(8,8)-hs(0.793))
function f=hs(x)
f=2+sin(pi*x/6);
function f=atj(x,y,z)
f=((x-z)/(y-z))*hs(y)+((x-y)/(z-y))*hs(z);
實驗結果分析:
ans =
2.4029
det =
5.2372e-004
實驗結果說明利用埃特金演算法得到的結果與真實值很接近,而且利用此迭代演算法可以避免拉格朗日插值公式中的重新計算。
實驗三採用復化柯特斯公式計算數值積分
一、 實驗目的:
1.掌握牛頓-柯特斯公式的基本原理及推導,了解復化求積法的計算步驟;
2.能夠熟練地應用復化梯形公式、復化新甫生求積公式和復化柯特斯求積公式計算數值積分,並完成積分程式的設計和除錯。
二、 實驗內容:
設取節點為,,,,,,,,,分別用復化梯形公式、復化新甫生法和復化柯特斯方法求積分的近似值。
三、 實驗程式及結果:
實驗程式如下:
tnf=tx(0,1,8)
snf=xps(0,1,8)
cnf=kts(0,1,8)
function f=hs3(x)
f=2+sin(2*pi*sqrt(x)/8);
function f=tx(x,y,n)
h=(y-x)/n;
sum=0;
for i=1:n-1
sum=sum+hs3(x+i*h);
endf=h/2*(hs3(x)+2*sum+hs3(y));
function f=xps(x,y,n)
h=(y-x)/n;
sum1=0;
sum2=0;
for i=0:n-1
sum1=sum1+hs3(x+(i+1/2)*h);
endfor j=1:n-1
sum2=sum2+hs3(x+j*h);
endf=h/6*(hs3(x)+4*sum1+2*sum2+hs3(y));
function f=kts(x,y,n)
h=(y-x)/n;
sum1=0;
sum2=0;
sum3=0;
sum4=0;
for i=0:n-1
sum1=sum1+hs3(x+(i+1/4)*h);
sum2=sum2+hs3(x+(i+1/2)*h);
sum3=sum3+hs3(x+(i+3/4)*h);
endfor j=1:n-1
sum4=sum4+hs3(x+i*h);
endf=h/90*(7*hs3(x)+32*sum1+12*sum2+32*sum3+14*sum4+7*hs3(y));
實驗結果分析:
tnf =
2.4852
snf =
2.4910
cnf =
2.5143
實驗四採用四階龍格-庫塔方法求解常微分方程
一、 實驗目的:
1. 掌握龍格-庫塔方法的設計思想;
2. 能夠熟練地應用龍格-庫塔方法求解常微分方程,並完成四階龍格-庫塔方法程式的設計和除錯。
二、 實驗內容:
用四階龍格-庫塔方法計算區間上初值問題的解。其中步長。
三、 實驗程式及結果:
實驗程式如下:
y0=0;
y(1)=lg_kt(y0,0.1);
for i=2:14
y(i)=lg_kt(y(i-1),0.1);
endy
lg_function f=lg_kt(y,h)
k1=hs4(y);
k2=hs4(y+h/2*k1);
k3=hs4(y+h/2*k2);
k4=hs4(y+h*k3);
f=y+h/6*(k1+2*k2+2*k3+k4);
function f=hs4(x)
f=1+x^2;
實驗結果分析:
y =columns 1 through 9
0.1003 0.2027 0.
3093 0.4228 0.5463 0.
6841 0.8423 1.0296 1.
2602
columns 10 through 14
1.5574 1.9647 2.5721 3.6016 5.7920
實驗五採用迭代法求解非線性方程
四、 實驗目的:
1. 掌握牛頓法、弦截法、快速弦截法的演算法思想;
2. 能夠熟練地應用牛頓法、弦截法、快速弦截法求解非線性方程,並完成程式的設計和除錯。
五、 實驗內容:
分別用牛頓法、弦截法、快速弦截法求方程的根,要求精度。
六、 實驗程式及結果:
實驗程式如下:
ex5_1:
x(1)=0;
x(2)=newton(x(1));
i=2;
while(abs(x(i)-x(i-1))>1e-4)
x(i+1)=newton(x(i));
i=i+1;
endx
ex5_2:
x0=0;
x(1)=1;
x(2)=xjf(x0,x(1));
i=2;
while(abs(x(i)-x(i-1))>1e-4)
x(i+1)=xjf(x0,x(i));
i=i+1;
endx
ex5_3:
x0=0;
x(1)=1;
x(2)=k_xjf(x0,x(1));
i=2;
while(abs(x(i)-x(i-1))>1e-4)
x(i+1)=k_xjf(x(i-1),x(i));
i=i+1;
endx
function f=newton(x)
f=x-(exp(x)-4*cos(x))/(exp(x)+4*sin(x));
function f=xjf(x,y)
f=y-(hs5(y)/(hs5(y)-hs5(x)))*(y-x);
k_function f=k_xjf(x,y)
數值計算方法實驗
實驗一非線性方程的數值解法 10信計1班楊家博 201002044046 一 實驗目的 熟悉二分法和簡單跌點法的實現 二 實驗內容 教材p40 2.1.5 三 實驗要求 1.根據實驗內容編寫二分法簡單迭代的演算法程式 2.簡單比較分析兩種演算法的誤差 3.試構造不同的迭代格式,分析比較其收斂性 正文...
計算方法實驗報告
實驗報告3 解線性方程組的迭代法 姓名 杜娟學號 08012324 班級 勘查08 3班 一 上機題目 用jacobi迭代法和高斯 賽德爾迭代法解線性方程組 二 目的要求 掌握用jacobi迭代法和高斯 賽德爾迭代法設計程式,從而實現解線性方程組。三.方法原理 解線性方程組的迭代法是將線性方程組 a...
《計算方法》實驗報告
專業及班級姓名 學號日期 請務必將結果寫在答題區域 一 方程求根 15分 1.用牛頓迭代法求解下列方程的正根 2.先用 法確定初始點,然後再求方程的所有根。求得的根的結果 二 線性方程組 15分 1 計算下列矩陣的逆矩陣,並驗證之。2.用兩種方法求解下列線性方程組 1 呼叫 x a b 命令 2 利...