数值分析第一次作业
数值分析

数值分析第一次作业信计2 20121314044 王峥虹一、实验内容:1、已知函数在下列各点的值为:38.064.081.092.098.0|0.18.06.04.02.0|y x -------------------试用4次牛顿插值多项式)(4x P 及三次样条函数)(x S (自然边界条件)对数据进行插值,用图给出(){}10,11,1,008.02.0,=+=i i x y x i i i ,,,)(4x P 及)(x S 。
分析:先求4次插值多项式:根据差分形式的牛顿差值公式:))...(](,...,,[...))(](,,[)](,[)()(1010102100100---++--+-+=n n n x x x x x x x f x x x x x x x f x x x x f x f x Px=[0.2,0.4,0.6,0.8,1.0];y=[0.98,0.92,0.81,0.64,0.38];n=length(y);z=zeros(n,n);for i=1:nz(i,1)=y(i);endfor k=2:nfor l=k:nz(l,k)=(z(l,k-1)-z(l-1,k-1))/(x(l)-x(l-k+1));endendz结果:4次牛顿插值多项式为:)6.0)(4.0)(2.0(2083.0)4.0)(2.0(625.0)2.0(3.098.04---------=x x x x x x P )8.0)(6.0)(4.0)(2.0(5208.0-----x x x x再求三次样条插值函数:由上面及已知的:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡075.65.475.30200005.025.00005.025.00005.025.00000243210M M M M M 程序如下:A=[2,0,0,0,0;0.5,2,0.5,0,0;0,0.5,2,0.5,0;0,0,0.5,2,0.5;0,0,0,0,2];B=[0,-3.75,-4.5,-6.75,0]';M=inv(A)*B结果:则由表达式:j j j j j j j j j j j j j j j j h x x h M y h x x h M y h x x M h x x M x S -⎪⎪⎭⎫ ⎝⎛-+-⎪⎪⎭⎫ ⎝⎛-+-+-=+++++666)(6)()(2111231311,...,1,0-=n j得,三次样条插值多项式为:⎪⎪⎩⎪⎪⎨⎧∈-+-+----∈-+-+----∈-+-+----∈-+-+---=]0.1,8.0[),8.0(9.1)0.1(3036.3)8.0(0)0.1(5893.2]8.0,6.0[),6.0(3036.3)8.0(0857.4)6.0(5893.2)8.0(8929.0]6.0,4.0[),4.0(0857.4)6.0(6536.4)4.0(8929.0)6.0(3393.1]4.0,2.0[),2.0(6536.4)4.0(9.4)2.0(3393.1)4.0(0)(3333333x x x x x x x x x x x x x x x x x x x x x S 绘制4次插值多项式及三次样条插值多项式的图像:代码:x=[0.2,0.4,0.6,0.8,1.0];y=[0.98,0.92,0.81,0.64,0.38];plot(x,y)hold onfor i=1:1:5y(i)=0.98-0.3*(x(i)-0.2)-0.625*(x(i)-0.2)*(x(i)-0.4)-0.20833*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0.5 2083*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)*(x(i)-0.8)endk=[0 1 10 11];x0=0.2+0.08*k;y0=zeros(4);for i=1:1:4y0(i)=0.98-0.3*(x(i)-0.2)-0.625*(x(i)-0.2)*(x(i)-0.4)-0.20833*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0. 52083*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)*(x(i)-0.8)endplot(x0,y0,'o',x0,y0)hold ony1=spline(x,y,x0)plot(x0,y1,'o')hold ons=csape(x,y,'variational')fnplt(x,'r')hold ongtext('原图像')gtext('三次样条自然边界')gtext('4次牛顿插值')一、实验内容:2、在区间[]11,-上分别取20,10=n 用两组等距节点对龙格函数22511)(x x f +=作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及)(x f 的图形。
数值分析作业及参考答案

数值分析第一次作业及参考答案1. 设212S gt =,假定g 是准确的,而对t 的测量有0.1±秒的误差,证明当t 增加时S 的绝对误差增加,而相对误差却减少。
解:2**22211()0.122()0.10.2()1122,(),().r r e S S S gt gt gt e S gt e S t gt gt t e S e S =-=-====∴↑↑↓2. 设2()[,]f x C a b ∈且()()0f a f b ==,求证2''1max ()()max ().8a x ba xb f x b a f x ≤≤≤≤≤-解:由112,0),(,0)()()0()00.a b L x l x l x =⨯+⨯=(两点线性插值 插值余项为"111()()()()()()[,]2R x f x L x f x a x b a b ξξ=-=--∈ [,].x a b ∴∀∈有12211()()"()()()max "()[()()]221()()1max "()[]()max "().228a x ba xb a x b f x R x f x a x b f x x a b x x a b x f x b a f x ξ≤≤≤≤≤≤==--≤---+-≤=-21max ()()max "()8a xb a x b f x b a f x ≤≤≤≤∴≤-3. 已测得函数()y f x =的三对数据:(0,1),(-1,5),(2,-1),(1)用Lagrange 插值求二次插值多项式。
(2)构造差商表。
(3)用Newton 插值求二次插值多项式。
解:(1)Lagrange 插值基函数为0(1)(2)1()(1)(2)(01)(02)2x x l x x x +-==-+-+-同理 1211()(2),()(1)36l x x x l x x x =-=+ 故2202151()()(1)(2)(2)(1)23631i i i p x y l x x x x x x x x x =-==-+-+-++=-+∑(2)令0120,1,2x x x ==-=,则一阶差商、二阶差商为0112155(1)[,]4,[,]20(1)12f x x f x x ---==-==-----0124(2)[,,]102f x x x ---==-22()1(4)(0)1*(0)(1)31P x x x x x x =+--+-+=-+4. 在44x -≤≤上给出()xf x e =的等距节点函数表,若用二次插值求x e 的近似值,要使截断误差不超过610-,问使用函数表的步长h 应取多少?解:()40000(),(),[4,4],,,, 1.x k x f x e f x e e x x h x x h x x th t ==≤∈--+=+≤考察点及(3)200044343()()[(()]()[()]3!(1)(1)(1)(1)3!3!.(4,4).6f R x x x h x x x x h t t t e t h th t h e h e ξξ=----+-+≤+⋅⋅-=≤∈-则436((1)(1)100.006.t t t h --+±<< 在点 得5. 求2()f x x =在[a,b ]上的分段线性插值函数()h I x ,并估计误差。
数值分析课第一次作业答案answer1

计算机习题: 1. 作多项式 p,以 −1,0,1 为零点,首项系数为 2,并计算 p(3)。 4
答案:p = poly ([−1, 0, 1]),s = polyval(p, 3)。 2. 已知函数在下列各点的值为 xi 0.2 0.4 0.6 0.8 1.0
2
a 6 6e+154 0 1 1
b 10 10e+154 1 -1e+5 -4
c -4 -4e+154 1 1 3.999999
-1e+155 -7e+155 1e+155 答案:第二种方法更准确,因为第一种方法是一个累加的过程。 matlab 的 x = a : h : b 和 x = a + (0 : n) ∗ h 是第二种方法实现的。 代码: format long e a = 0; b = 8; n = 9; h = (b-a)/n; x(1) = a; y(1) = a; for j = 1:n, x(j+1) = x(j) + h; y(j+1) = y(1) + j*h; end [x',y',(a:h:b)',a+(0:n)’*h] 第二章 插值法 1. 当 x = 1, −1, 2 时,f (x) = 0, −3, 4,求 f (x) 的二次插值多项式。 (计算两遍,分别用拉格朗日插值和牛顿插值)
5
f (xi ) 0.98 0.92 0.81 0.64 0.38 求 4 次牛顿插值多项式 P4 (x) 并画图。 答案: 代码: x=0.2:0.2:1.0; y=[0.98,0.92,0.81,0.64,0.38]; n = length(y); if length(x)~=n, error('x and y are not compatible'); end D = zeros(n,n); D(:,1)=y(:); for j=2:n for i=j:n D(i,j) = (D(i,j-1)-D(i-1,j-1))/(x(i)-x(i-j+1)); end end p=D(1,1)*[zeros(1,n-1),1]; for k=2:n p=p+D(k,k)*[zeros(1,n-k),poly(x(1:k-1))]; end x=0.2:0.01:1.0; z=polyval(p,x); plot(x,z) 比较:p = polyf it(x, y, 4)。
(完整版)数值分析第一次作业

问题1:20.给定数据如下表:试求三次样条插值S(x),并满足条件 (1)S`(0.25)=1.0000,S`(0.53)=0.6868; (2)S ’’(0.25)=S ’’(0.53)=0。
分析:本问题是已知五个点,由这五个点求一三次样条插值函数。
边界条件有两种,(1)是已知一阶倒数,(2)是已知自然边界条件。
对于第一种边界(已知边界的一阶倒数值),可写出下面的矩阵方程。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡432104321034322110d M M M M M 200020000020022d d d d λμμλμλμλ其中μj =j1-j 1-j h h h +,λi=j1-j j h h h +,dj=6f[x j-1,x j ,x j+1], μn =1,λ0=1对于第一种边界条件d 0=0h 6(f[x 0,x 1]-f 0`),d n =1-n h 6(f`n-f `[x n-1,x n ]) 解:由matlab 计算得:由此得矩阵形式的线性方程组为:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡ 2.1150-2.4286-3.2667-4.3143-5.5200-M M M M M 25714.00001204286.000004000.026000.0006429.023571.0001243210解得 M 0=-2.0286;M 1=-1.4627;M 2= -1.0333; M 3= -0.8058; M 4=-0.6546S(x)=⎪⎪⎩⎪⎪⎨⎧∈-+-+-∈-+-+-∈-+-+-∈-+-+-]53.0,45.0[x 5.40x 9.1087x 35.03956.8.450-x 1.3637-x .5301.67881- ]45.0,39.0[x 9.30x 11.188x 54.010.418793.0-x 2.2384-x .450(2.87040-]39.0,30.0[x 03.0x 6.9544x 9.30 6.107503.0-x 1.9136-x .3902.708779-]30.0,25.0[x 5.20x 10.9662x 0.3010.01695.20-x 4.8758-x .3006.76209-33333333),()()()(),()()()),()()()(),()()()(Matlab 程序代码如下:function tgsanci(n,s,t) %n代表元素数,s,t代表端点的一阶导。
JZX高等数值分析第一次实验作业

相对残差 6.1302e-16 8.7797e-09 8.0295e-09 8.5677e-09 9.1433e-09
a、 m=1 (左为相对残差,右为取对数情况)
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1
0 1
1.5
0
-5
-10
-15
-20
-25
-30
-35
-40
1000
4.761361
2.9675e-11
5.7069e-04
3.5336e+11
1500
15.646571
1.0778e-11
6.8236e-04
2.3672e+10
3000
132.198513
6.3164e-13
1.1700e-04
2.8110e+11
a、n=1000 时步数与相对残差关系图:(上为相对残差,下为取对数情况下结果)
(2)当 A 最大特征值远大于第二个特征值,最小特征值远小于第二个最小特征值时收敛
性情况。
思路:构造题目要求的矩阵 A。首先随机生成 n 阶矩阵 B,B 不满秩,构造对角阵 A1(最
大特征值远大于第二个最大特征值,最小特征值远小于第二个最小特征值),则由此构
造出对称正定矩阵 A: b1=B’*B; A=b1’*A1*b1。同样设定精确解 Xj 为元素全部为 1 的 n
5、 构造对称不定的矩阵,验证 Lanczos 方法的近似中断,观察收敛曲线中的峰点个数和特
征值的分布关系;观察当出现峰点时,MINRES 方法的收敛性态怎样。
解:思路:类似前两题,首先构造出一个 n 阶对角阵 D,其对角线上有 m 个负值,再对随
数值分析第一次作业

《数值分析》计算作业院系:航空科学与工程学院学号: SY1005512姓名:王天龙日期: 2010年10月31日计算实习说明书目的:训练运用计算机进行科学与工程计算的能力。
要求:1.独立进行算法设计、程序设计和上机运算,并得出正确的结果。
2.编制程序时全部采用双精度,要求按题目的要求设计输出,并执行打印。
3.只能根据题目给出的信息并且只允许一次计算得出全部结果。
题目:第一题 设有501×501的矩阵123499500501a b c b a b cc b a b c A c b a b c c b a b c ba ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦其中0.1(1.640.024)s i n (0.2)0.64 (125i i a i i e i =--= ,,,;0.16b =;0.064c =-。
矩阵A 的特征值12501()ii λ= ,,,满足 125011501||min ||S i i λλλλλ≤≤<<<= ,试求:1.1λ,501λ和S λ的值。
2.A 的与数5011140k kλλμλ-=+最接近的特征值(1239)ik k λ= ,,,。
3.A 的(谱范数)条件数2()cond A 和行列式det A 。
说明:1.在所有的算法中,凡是要给出精度水平ε的,都取1210ε-=。
2.选择算法时,应使A 的所有零元素都不存储。
3.打印以下内容: (1)算法的设计方案。
(2)全部源程序(要求注明主程序和每个子程序的功能)。
(3)特征值1λ,501λ,S λ和(1239)ik k λ= ,,,以及2()cond A ,det A 的值。
4.采用e 型输出所有计算结果,并至少显示12位有效数字。
一、程序算法的设计算法设计方案如下:二、全部源程序编程软件:Fortran:三、计算结果1.特征值1λ,501λ,S λ1-.107001135582E+02λ=,501 .972463398616E+01λ=,-.555823879237E-02S λ=2. (1239)ik k λ= ,,,如下表所示(ZK 代表ik λ)3.A 的条件数2()cond A 和行列式det A 的值2() .192509100000E+04cond A =,det .277059968428+119A =五、讨论这里选取的初始向量为X(i)=1,X={x1,x2,x3,,,,,,,x501},当初始向量与特征向量较近时,收敛较快,若初始向量与特征向量正交,则求解可能失真。
数值分析第一章作业
习题(一)1. 指出四舍五入得到的下列各数有几位有效数字:x 1∗=7.8673,x 2∗=8.0916,x 3∗=0.06213,x 4∗=0.07800,x 5∗=90×103,x 6∗=2.0×10−4解:由有效数字定义得:x 1∗,x 2∗具有5位有效数字x 3∗,x 4∗具有4位有效数字x 5∗,x 6∗具有2位有效数字.2. 设准确值为x=3.78695,y=10,它们的近似值分别为x 1∗=3.7869,x 2∗=3.7870及y 1∗=9.9999,y 2∗=10.1,y 3∗=10.0001,试分析x 1∗,x 2∗,y 1∗,y 2∗,y 3∗分别具有几位有效数字. 解:x 1∗=3.7869=x 1∗=0.37869×101,k 1=1|x 1∗−x|=|3.7869−3.78695|=0.00005≤0.5×10−4=0.5×101−5, 即x 1∗具有5位有效数字;同理,x 2∗=3.7870=0.37870×101,k 2=1|x 2∗−x|=|3.7870−3.78695|=0.00005≤0.5×101−5,所以x 2∗具有5位有效数字; 将y 1∗,y 2∗,y 3∗分别写成y=±10k ×0.α1α2...αn 的表示形式,有:y 1∗=9.9999=0.99999×101,k 3=1;y 2∗=10.1=y 2∗=0.101×102,k 4=2;y 3∗=10.0001=0.100001×102,k 5=2;|y 1∗−y |=|9.9999−10|=0.0001=0.1×10−3≤0.5×101−4,n=4;|y 2∗−y |=|10.1−10|=0.1≤0.5×102−2,n=2;|y 3∗−y |=|10.0001−10|=0.0001=0.1×10−3≤0.5×102−5,n=5;所以y 1∗,y 2∗,y 3∗分别具有4,2,5位有效数字.8.为了使√11的近似值的相对误差不超过0.1%,问至少应取几位有效数字. 解:√11=0.3316624…=0.α1α2...αn ×10k ,α1=3,设x ∗有n 位有效数字,又因为|E x ∗|比值比较小, 故可用E r ∗(x ∗)= |E(x ∗)x ∗|代替相对误差E r ∗(x ∗),用εr ∗=εx ∗代替相对误差限εr 所以εr ∗≤12α1×10−n+1=16×10−n+1 令16×10−n+1≤0.1%,解得n ≥3.22即至少应取4位有效数字.12.如何计算下列函数值才比较精确.(1)11+2x −11+x ,对|x|≪1; (2)√x +1x −√x −1x ,对x ≫1;(3)∫dx 1+x 2N+1N,其中N 充分大; (4)1−cos xsin x ,对|x|≪1;(5)ln(30−√302−1)(开平方用6位函数表);解:(1)原式=1+x−(1+2x)(1+2x)(1+x)=−x (1+2x)(1+x); (2)原式=x+1x −(x−1x )√x+1x +√x−1x =2x √x+1x +√x−1x ;(3)原式=arc tan x|NN+1=arc tan N +1−arc tan N =arc tan N+1−N 1+N(N+1)=arc tan 11+N(N+1); (4)原式=2sinx 222sin x 2cos x 2=tan x2; (5)原式=30+√302−1=−ln(30+√302−1)令f(x)=ln(x −√x 2−1),则f(30)=ln(30−√302−1)=ln(30−√899),记a=30−√899 若用6位开方函数表,则有a ∗=30−29.9833=0.0167,故有ε(a ∗)=0.5×10−4, 而f(30)≈ln a ∗,于是ε(f (30))=ε(ln a ∗)≈|1a ∗|ε(a ∗)=0.50.0167×10−4≈0.003; 又因为f(x)等价于f(x)=-ln(x +√x 2−1),则f (30)=-ln(30+√899),记b=30+√899 同理b ∗=59.9833,进而ε(b ∗)=(2×10−4)−1,对f (30)≈ln b ∗ε(f (30))=ε(ln b ∗)≈|1b ∗|ε(b ∗)=0.559.9833×10−4≈0.834×10−6。
清华大学高等数值分析 第一次实验作业
10
-10
0
100
200
300
400
500
600
700
800
900
迭代次数
图9
m=100时,Lanczos法求解Ax=b的收敛曲线
高等数值分析实验作业一
10
4
Lanzcos 算法的收敛曲线 (阶数 n=1002)
10
2
10
0
||rk||/||b||
10
-2
10
-4
10
-6
10
-8
10
-10
0
200
迭代次数
图12 m=10时,Minres法求解Ax=b的收敛曲线
10
2
Minres 算法的收敛曲线 (阶数 n=1002)
10
0
10
-2
||rk||/||b||
10
-4
10
-6
10
-8
10
-10
0
100
200
300
400
500
600
700
迭代次数
图13
10
2
m=50时,Minres法求解Ax=b的收敛曲线
10
0
Lanzcos 算法的收敛曲线 (阶数 n=1002)
m=10 m=50 m=100 m=400 m=800
10
-2
10
-4
||rk||/||b||
10
-6
10
-8
10
-10
10
-12
0
2
4
6
8
10
12
14
16
数值分析作业题(1)
第一章 误差与算法1. 误差分为有__模型误差___, _观测误差___, __方法误差____, ___舍入误差____, Taylor 展开式近似表达函数产生的误差是_方法误差 .2. 插值余项是插值多项式的 方法误差。
0.2499作为1/4的近似值, 有几位有效数字?00.24990.249910,0m =⨯=即,031|0.2499|0.00010.5100.510,34m n n ---=<⨯=⨯=即22 3.1428751...,7=作为圆周率的近似值,误差和误差限分别是多少,有几位有效数字?2133.142875 3.14159260.00126450.5100.510---=<⨯=⨯有3位有效数字.* 有效数字与相对误差的关系3. 利用递推公式计算积分110,1,2,...,9n x n I x e dx n -==⎰错误!未找到引用源。
, 建立稳定的数值算法。
该算法是不稳定的。
因为:11()()...(1)!()n n n I n I n I εεε-=-==-111n n I I n n -=-, 10110I =4. 衡量算法优劣的指标有__时间复杂度,__空间复杂度_.时间复杂度是指: , 两个n 阶矩阵相乘的乘法次数是 , 则称两个n 阶矩阵相乘这一问题的时间复杂度为 .二 代数插值1.根据下表数据建立不超过二次的Lagrange 和Newton 插值多项式, 并写出误差估计式, 以及验证插值多项式的唯一性。
x 0 1 4f(x) 1 9 3Lagrange:设0120120,1,4;()1()9()3x x x f x f x f x ======则,, 对应 的标准基函数 为:1200102()()(1)(x 4)1()(1)(x 4)()()(01)(04)4x x x x x l x x x x x x ----===------ 1()...l x =2()...l x =因此, 所求插值多项式为:220()()()....i i i P x f x l x ===∑ (3)2()()(0)(1)(x 4)3!f R x x x ξ=--- Newton:构造出插商表:xi f(xi ) 一 二 三0 11 9 84 3 -2 -5/2所以, 所求插值多项式为:2001001201()()[,]()[,,]()()518(0)(0)(1)2...P x f x f x x x x f x x x x x x x x x x =+-+--=+----=插值余项: 2()[0,1,4,](0)(1)(x 4)R x f x x x =---2. 已知函数f(0)=1,f(1)=3,f(2)=7,则f[0,1]=___2________, f[0,1,2]=____1______)('],[000x f x x f =3.过0,1两节点构造三次Hermite 插值多项式, 使得满足插值条件: f(0)=1. .’(0)=... f(1.=2. .’(1)=1设0101010,1,()1()2'()0,'()1x x f x f x f x f x ======则,, 写出插商表:xi f(xi) 一 二 三0 10 1 01 a 1 11 a 1 0 a-1因此, 所求插值多项式为:插值余项:222()[0,0,1,1,](1)R x f x x x =-4.求f(x)=sinx 在[a,b]区间上的分段线性插值多项式, 并写出误差估计式。
(完整版)数值分析第一次作业
问题1:20.给定数据如下表:试求三次样条插值S(x),并满足条件 (1)S`(0.25)=1.0000,S`(0.53)=0.6868; (2)S ’’(0.25)=S ’’(0.53)=0。
分析:本问题是已知五个点,由这五个点求一三次样条插值函数。
边界条件有两种,(1)是已知一阶倒数,(2)是已知自然边界条件。
对于第一种边界(已知边界的一阶倒数值),可写出下面的矩阵方程。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡432104321034322110d M M M M M 200020000020022d d d d λμμλμλμλ其中μj =j1-j 1-j h h h +,λi=j1-j j h h h +,dj=6f[x j-1,x j ,x j+1], μn =1,λ0=1对于第一种边界条件d 0=0h 6(f[x 0,x 1]-f 0`),d n =1-n h 6(f`n-f `[x n-1,x n ]) 解:由matlab 计算得:由此得矩阵形式的线性方程组为:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡ 2.1150-2.4286-3.2667-4.3143-5.5200-M M M M M 25714.00001204286.000004000.026000.0006429.023571.0001243210解得 M 0=-2.0286;M 1=-1.4627;M 2= -1.0333; M 3= -0.8058; M 4=-0.6546S(x)=⎪⎪⎩⎪⎪⎨⎧∈-+-+-∈-+-+-∈-+-+-∈-+-+-]53.0,45.0[x 5.40x 9.1087x 35.03956.8.450-x 1.3637-x .5301.67881- ]45.0,39.0[x 9.30x 11.188x 54.010.418793.0-x 2.2384-x .450(2.87040-]39.0,30.0[x 03.0x 6.9544x 9.30 6.107503.0-x 1.9136-x .3902.708779-]30.0,25.0[x 5.20x 10.9662x 0.3010.01695.20-x 4.8758-x .3006.76209-33333333),()()()(),()()()),()()()(),()()()(Matlab 程序代码如下:function tgsanci(n,s,t) %n代表元素数,s,t代表端点的一阶导。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析第一次作业班级学号姓名习题24、用Newton法求方程f(x)=x^3-2*x^2-4*x-7=0在[3,4]中的根。
代码:function[x_star,k]=Newton1[fname,dfname,x0,ep,Nmax]if nargin<5 Nmax=500; endif nargin<4 ep=1e-5;endx=x0;x0=x+2*ep;k=0;while abs(x0-x)>ep&k<Nmax k=k+1x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);endx_star=x;if k==Nmax warning(‘已迭代上限次数’);endfname=inline('x^3-2*x^2-4*x-7');dfname=inline('3*x^2-4*x-4');[x_star,k]=Newton1(fname,dfname,3.5)x_star =3.6320k =4方法二:2-4用割线法求方程的根function [x_star,k]=Gline(fun,x0,x1,ep,Nmax)if nargin<5 Nmax=500;endif nargin<4 ep=1e-5;endk=0;while abs(x1-x0)>ep&k<Nmaxk=k+1;x2=x1-feval(fun,x1)*(x1-x0)/(feval(fun,x1)-feval(fun,x0))x0=x1;x1=x2;endx_star=x1;if k==Nmax warning('已迭代上限次数');endfun=inline('x^3-2*x^2-4*x-7');[x_star,k]=Gline(fun,3,4)x2 =3.5263x2 =3.6168x2 =3.6327x2 =3.6320x2 =3.6320x_star =3.6320k =5习题33、用列主元消去法解方程组[-1 2 -2; 3 -1 4; 2 -3 -2][x1 x2 x3]=[-1 7 0] 代码:function x=Gauss_x1(A,b)A=[A’;b]’,n=length(b);for k=1:n-1s=A(k,k);p=k;for i=l+1:nif abs(s)<abs(A(i,k))s=A(I,k);p=I;endendAfor i=k+1:nm=A(i,k)/A(k,k);fprintf(‘m%d%d=%f\n’,i,k,m);for j=k:n+1A(i,j)=A(i,j)-m*A(k,j);endendfprintf(‘A%d=\n’,k+1);AendA(n,n+1)=A(n,n+1)/A(n.n);for i=n-1:-1:1s=0for j=i+1:ns=s+A(i,j)*A(j,n+1);endA(i,n+1)=(A(i,n+1)-s)/A(i,i);endA(:,n+1)A=[-1,2,-2;3,-1,4;2,-3,-2];b=[-1;7;0];x=Gauss_x1(A,b)A =3.0000 -1.00004.0000 7.00000 1.6667 -0.6667 1.33330 -2.3333 -4.6667 -4.6667A=3.0000 -1.00004.0000 7.00000 -2.3333 -4.6667 -4.66670 0 -4.0000 -2.0000x =2.00001.00000.50004、用追赶法解三对角方程[2 -1 0 0 0;-1 2 -1 0 0;0 -1 2 -1 0;0 0 -1 2 -1;0 0 0 -1 2][x1 x2 x3 x4 x5=[1 0 0 0 0 ] 代码:function x=zhuigan(A,B,C,D)n=length(B);Xzeros(1,n);U=zeros(1,n);Q=zeros(1,n);U(1)=C(1)/B(1);Q(1)=D(1)/B(1);for i=2:n-1U(i)=C(i)/(B(i)-U(i-1)*A(i-1));endfor i=2:nQ(i)=(D(i)-Q(i-1)*A(i-1))/(B(i)-U(i-1)*A(i-1));endX(n)=Q(n);for i=n-1:-1:1X(i)=Q(i)-U(i)*X(i+1);endXA=[-1,-1,-1,-1;];B=[2,2,2,2,2];C=[-1,-1,-1,-1];D=[1;0;0;0;0];X=zhuigan(A,B,C,D)X= 0.8333 0.6667 0.5000 0.3333 0.16676、用三角分解法解方程组[-2 4 8;-4 18 -16;-6 2 -20][x1 x2 x3]=[5 8 7]代码function[y,x]=LU_s(A,b)b=b';A=[A';b]',n=length(b');x=zeros(n,1);y=zeros(n,1);U=zeros(n);L=eye(n);for k=1:nU(1,k)=A(1,k);L(k,1)=A(k,1)/U(1,1);endfor i=2:nfor k=i:nlu=0;lu1=0;for j=1:i-1lu=lu+L(i,j)*U(j,k);lu1=lu1+L(k,j)*U(j,i);endU(i,k)=A(i,k)-lu;L(k,i)=(A(k,i)-lu1)/U(i,i);endendLUfor i=1:nly=0;for j=1:ily=ly+L(i,j)*y(j);endy(i)=b(i)-ly;endfor i=n:-1:1ly1=0;for j=i+1:nly1=ly1+U(i,j)*x(j);endx(i)=(y(i)-ly1)/U(i,i);endA=[-2,4,8;-4,18,-16;-6,2,-20];b=[5;8;7];[y,x]=LU_s(A,b)A =-2 4 8 5-4 18 -16 8-6 2 -20 7L =1 0 02 1 03 -1 1U =-2 4 80 10 -320 0 -76y =5-2-10x =-1.53160.22110.13163-8用LU分解法解线性方程组[5,7,9,10;6,8,10,9;7,10,8,7;5,7,6,5][x1 x2 x3 x4]=[1 1 1 1] 代码function[y,x]=LU_s(A,b)b=b';A=[A';b]',n=length(b');x=zeros(n,1);y=zeros(n,1);U=zeros(n);L=eye(n);for k=1:nU(1,k)=A(1,k);L(k,1)=A(k,1)/U(1,1);endfor i=2:nfor k=i:nlu=0;lu1=0;for j=1:i-1lu=lu+L(i,j)*U(j,k);lu1=lu1+L(k,j)*U(j,i);endU(i,k)=A(i,k)-lu;L(k,i)=(A(k,i)-lu1)/U(i,i);EndendLUfor i=1:nly=0;for j=1:ily=ly+L(i,j)*y(j);endy(i)=b(i)-ly;endfor i=n:-1:1ly1=0;for j=i+1:nly1=ly1+U(i,j)*x(j);endx(i)=(y(i)-ly1)/U(i,i);endA=[5,7,9,10;6,8,10,9;7,10,8,7;5,7,6,5];b=[1;1;1;1];[y,x]=LU_s(A,b)A =5 7 9 10 16 8 10 9 17 10 8 7 15 76 5 1L =1.0000 0 0 01.2000 1.0000 0 01.4000 -0.5000 1.0000 01.0000 0 0.6000 1.0000U =5.0000 7.0000 9.0000 10.0000 0 -0.4000 -0.8000 -3.0000 0 0 -5.0000 -8.5000 0 0 0 0.1000y =1.0000 -0.2000 -0.5000 0.3000x =20.0000 -12.0000 -5.0000 3.0000。