題目: (緒論) 非線性方程求解及誤差估計
摘要:非線性方程的解析解通常很難給出,因此線性方程的數值解法就尤為重要。本實驗採用兩種常見的求解方法二分法、newton法和改進的newton法。
可以節省計算機的計算時間,還能減小不必要的誤差。
前言:(目的和意義)
掌握二分法與newton法的基本原理、應用以及熟練掌握用matlab求函式積分
數學原理:
(1)函式的呼叫格式:quadl(filename,a,b,tol,trace)
其中filename是呼叫函式名,a和b分別為定積分的下限和上限。用來控制積分精度。
(2)秦九韶演算法:
sn=an
sk=xsk+1+ak (k=n-1,n-2,...,0),
pn(x)=s0
程式設計:
例1.1 計算積分
利用matlab,下面給出主程式
>>g=inline('x.^10.*exp(x-1定義乙個語句函式g(x)=exp(x^10*exp(x-1))
i=quadl(g,0,1
i =0.0098
例1.9 秦九韶演算法
a0=3,
ak=2ak-1+3,
pn(x)=anx^n+an-1x^(n-1)+...+a1x+a0
求i1=p100(0.5),i2=p150(13)
>>x=input('x=');
n=input('n=');
a=3;
for i=1:n
a=2*a+3;
end s=z;
b=(a-3)/2;
for m=1:100
s=x*s+b;
b=(b-3)/2;
enddisp(s);
>>x=0.5
n=100
600.0000
>>x=3
n=100
4.7039e+078
結果分析和討論:
結論:對於二分法,只要能夠保證在給定的區間內有根,使能夠收斂的,當時收斂的速度和給定的區間有關,二且總體上來說速度比較慢。newton法,收斂速度要比二分法快,但是最終其收斂的結果與初值的選取有關,初值不同,收斂的結果也可能不一樣,也就是結果可能不時預期需要得結果。
改進的newton法求解重根問題時,如果初值不當,可能會不收斂,這一點非常重要,當然初值合適,相同情況下其速度要比newton法快得多。
題目: (插值法)用各類插值方法法求解相關數值分析問題
摘要: 非線性方程的解析解通常很難給出,因此線性方程的數值解法就尤為重要。本實驗採用兩種常見的求解方法二分法和newton法及改進的newton法。
前言:(目的和意義)
掌握插值法的基本原理及用插值法求解相關數值分析問題的方法以及熟練掌握用matlab求函式積分。
數學原理: matlab提供了
一、三、n維資料插值函式以及三次樣條插值函式等。資料插值問題為一維插值,其採用的方法有線性方法、最近方法、三次樣條和三次插值,在matlab中,實現這些插值的函式為interp1,其呼叫格式為inpert1(a,b,c,method);函式根據a、b的值,計算函式在c處的值,method為插值方法,'linear' 為線性插值,'cubic'為三次多項式插值,'spline' 為三次樣條插值。
程式設計:
3.給出f(x)=lnx,用
一、二、三次線形插值計算`ln0.54的近似值
>>x=0.4:0.1:0.8;
f=[-0.916291,-0.693147,-0.510826,-0.357765,-0.223144];
i1=interpl(x,f,0.54用一次線形插值計算f(x)
i1 =
-0.620218600000000
i3=interp1(x,f,0.54,'spline用3次樣條插值計算f(x)
i3 =
-0.615977770000000
21.設f(x)=1/(1+x^2),在[-5,5]上取n=10,安等距節點求分段線性插值函式ib(x),計算節點間中點處的與f(x)的值,並估計誤差。
>> x=linspace(-5,5,10);
>> y=1\(1+(x.^2));
>> p=polyfit(x,y,1)
p = 0.0000 11.1852
4.給定資料如下表,試求三次樣條插值及hermite插值s(x),並滿足條件:
(1)s'(0.25)=1.0000, s'(0.53)=0.6868
(2)s''(0.25)=s''(0.53)=0
(1)>>x=[0.25,0.30,0.39,0.45,0.53];
y=[0.5000,0.5477,0.6245,0.6708,0.7280];
p=polyfit(x,y,'spline三次樣條插值函式程式
>>p =
0.732659297655720 -1.394857855010107 1.553581221803837 0.187348425537683
(2)用hermite程式:
n=length(x0);
m=length(x);
for k=1:m
y=0.0;
for i=1:n
h=1.0;
a=0.0;
for j=1:n
if j~=i
h=h*((x(k)-x0(j))/(x0(i)-x0(j)))^2;
a=1/(x0(i)-x0(j))+a;
end end
y=y+h*((x0(i)-x(k))*(2*a*y0(i)-dy(i))+y0(i));
endy(k)=y;
endx0=[0.25,0.30,0.39,0.45,0.53];
y0=[0.5000,0.5477,0.6245,0.6708,0.7280];
h=hermite(x0,y0)
結果分析和討論:
結論:題目: (函式逼近與計算)用曲線擬合的最小二乘法求解相關數值分析問題
摘要:與數值差值類似,曲線擬合的目的也是用乙個簡單的函式去逼近乙個複雜的或未知的函式,在建構函式去逼近,不要求曲線嚴格通過取樣點,但希望能盡量的靠近這些點,從而使誤差盡可能的小。
前言:(目的和意義)
掌握曲線擬合的最小二乘法的基本原理以及熟練掌握用matlab求曲線擬合求解相關數值分析問題的方法。
數學原理:
程式設計:
(1)觀察物體的直線運動,得出時間t與距離s的關係如下表3.7,求運動方程。
表3.7
t=[0,0.9,1.9,3.0,3.9,5.0];
s=[0,10,30,50,80,110];
plot(t,s先用matlab繪出圖形
可以看出s是關於t的近似一元二次函式,用matlab曲線擬合運動方程:
t=[0,0.9,1.9,3.0,3.9,5.0];
s=[0,10,30,50,80,110];
p=polyfit(x,y,2)
p=[2.2488,11.0814,-0.5834]
即運動方程為:s=2.2488x^2+11.0814x-0.5834
(2)在某化學反應裡,根據實驗所得分解物的質量分數y於是間t的關係如表3.8所示,用最小二乘擬合求y=f(x).
t=0:5:55;
>> y=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.62,4.64]
y = 0 1.2700 2.1600 2.
8600 3.4400 3.8700 4.
1500 4.3700 4.5100 4.
5800 4.6200 4.6400
>> plot(t,y運用matlab繪出y關於t的圖形為一元二次函式
>> p=polyfit(t,y,3三次、二次、一次和常數項的係數
p = 0.0000 -0.0049 0.2557 0.0442
y=f(t)=-0.0049+0.2557t+0.0442
結論: 曲線擬合最小二乘法是數值分析研究中乙個重要領域之一,通過借助於其他的數學工具,我們可以更加深刻的理解「擬合」的真實含義,求解數學問題更加容易。
題目: (數值積分與數值微分)用simpson公式,romberg方法,三點及五點gauss公式,復化兩點gauss公式計算某些函式的定積分。
摘要:計算某些函式的積分時,由於尋找原函式比較困難,需結合matlab就可以很快而且容易的算出結果。
前言:(目的和意義)
熟悉simpson公式,romberg方法,三點及五點gauss公式,復化兩點gauss公式的形式以及熟練掌握並結合matlab計算某些函式。
數學原理:
程式設計:
4.用 simpson 公式求積分並估計誤差
>> a=0;
b=1;
h=inline('exp(-x)');
s=((b-a)/6)*[h(a)+4*h((a+b)/2)+h(b)]
《數值分析》上機實驗報告
1.用newton法求方程 x7 x4 14 0 在 0.1,1.9 中的近似根 初始近似值取為區間端點,迭代6次或誤差小於0.00001 1.1 理論依據 設函式在有限區間 a,b 上二階導數存在,且滿足條件 令故以1.9為起點 如此一次一次的迭代,逼近x的真實根。當前後兩個的差 時,就認為求出了...
數值分析上機實驗報告六
題目 方程求根 摘要 數學 物理中的許多問題常常歸結為求解函式方程,這裡可以是代數多項式,也可以是超越函式。方程的解稱為它的根,或稱為的零點。然而非線性方程的解析解通常是很難給出,因此線性方程的數值解法就尤為重要。本實驗重點介紹幾種常見的較為方便實用的求解方法。前言 目的和意義 通過對二分法與new...
數值分析實驗報告
實驗一題目一 已知函式表如下 試用三次lagrange插值多項式求x 0.5635時的函式值。解 lagrange插值法公式 程式框圖如下 本題中n 4 分析設計思想 設計思路如上面的流程圖所示,用我們學過的c語言程式設計實現。程式清單 include include include float l...