资源描述
数值分析实验作业专业:姓名:学号:实验2.1多项式插值的振荡现象问题提出:考虑在一个固定的区间上用插值逼近一个函数,显然Lagrange插值中使用的节点越多,插值多项式的次数就越高,我们自然关心插值多项的次数增加时,是极著名并富有启发性的,设区间-1,1上函数f(x)实验内容:考虑区间-1,1的一个等距离划分,分点为Ln(x)是否也更加靠近逼近的函数,Runge给出的例子121 25x则拉格朗日插值多项式为2iN - -1, i =0,1,2,.,nnnLn(X)八i =0121 25xli(x)其中,h(x) , i=0,1,2,n是n次Lagrange插值函数。实验要求:(1) 选择不断增大的分点数目n=2 , 3,画出原函数f(x)及插值多项式函数 Ln(x)在-1 , 1上的图像, 比较并分析实验结果。(2) 选择其他的函数,例如定义在区间-5 , 5上的函数,xh(x) 4, g(x) = arctanx1 +x重复上述的实验看其结果如何。解:以下的f(x)、h(x)、g(x)的为插值点用 拉格朗日拟合可以看到,随着插值点的增加,产生(1) f(x)表示,朗格朗日拟合曲线用连续曲线表示。通过三个函数的 Rung现象。多项式求值的振荡现象n=210.90.80.70.6y 0.50.40.30.20.107r+f(x)X+1j*r/多项式求值的振荡现象n=3-1-0.8-0.6-0.4-0.200.20.40.60.810.80.60.2-0.2-0.47十 f(x)_ lagrange(x)昏L11/F、* +1n/r丿0.4xy1.21.20.80.60.2-0.2多项式求值的振荡现象n=6卡 f(x)lagrange(x)AfsI4卜u11/LJAI1J0.47V*f(X) lagrange(x) i1*L1-/jLJJ1AJ7+-J多项式求值的振荡现象n=70.90.80.70.60.40.30.20.10y 0.5多项式求值的振荡现象n=84多项式求值的振荡现象n=94多项式求值的振荡现象n=10多项式求值的振荡现象n=11(2) h(x)多项式求值的振荡现象n=2多项式求值的振荡现象n=3多项式求值的振荡现象n=4多项式求值的振荡现象n=5多项式求值的振荡现象n=6多项式求值的振荡现象n=7多项式求值的振荡现象n=9多项式求值的振荡现象n=8 g(x)多项式求值的振荡现象n=2多项式求值的振荡现象n=42多项式求值的振荡现象n=3多项式求值的振荡现象n=6多项式求值的振荡现象n=5多项式求值的振荡现象n=72多项式求值的振荡现象n=10多项式求值的振荡现象n=111g(x) lagrarge(x)0.50(-0.5/-1Jr-1.5dy1.5-5-4-3-2-1012345实验3.1最小二乘法拟合编制以函数xk:兰为基的多项式最小二乘拟合程序,并用于对表中的数据作三次多项式最小二乘拟合。x-1.0-0.50.00.51.01.52.0yi-4.447-0.4520.5510.048-0.4470.5494.552n* k2取权数i三1,求拟合曲线八:“X中的参数九,平方误差-并作离散数据Xi,yik=0*的拟合函数y (x)的图形。解:三次多项式的拟合曲线为:y = (x) = a0 a1x a2x2 a3x3此题中权函数(x1,即 W=(1,1,1,1,1,1,1)利用法方程ATAa = AtY求解这个方程组,就可以得到系数a。解之得:0 =0.54912,宀=-3.9683 10“ : 2 =-2.9977, : 3 = 1.9991故拟合的函数为:y =0.54912 -3.9683 10x-2.9977x2 1.9991X3,平方误差为:拟合的函数图像如下:离散值i拟合曲线/z/f3次多项式拟合,平方误差=2.1762e-054321-1-2-3-4-0.50.5-5 -1y 0实验5.1常微分方程性态和R-K法稳定性试验试验目的:考察下面的微分方程右端项中函数y前面的参数对方程性态的影响(它可使方程为好条件的或坏条件的)和研究计算步长对R-K法计算稳定性的影响。实验题目:常微分方程初值问题V = ayax+1, Ocxcly(o)=i ,其中,-50_50。其精确解为y(x)=ex实验要求:(1)对于参数:,分别去四个不同的数值:一个大的正值,一个小的正值,一个绝对值小的负值和一个绝对值大的负值。取步长h =0.01,分别用经典 R-K法计算,将四组计算结果画在同一张图上,进行比较并说明相应初值问题的性态。(2) 对于参数:为一个绝对值不大的负值和两个计算步,一个计算步使参数:巾在经 典R-K法的稳定域内,另一个步长在经典的 R-K法的稳定域外。分别用经典 R-K法计算并 比较计算结果。取全域等距的 10个点上的计算值,列表说明。解:对于4阶R-K法 绝对稳定区为:-2.785乞巾乞0 这里,所以绝对稳定区为:- 2.785 h乞0(1)对于h =0.01,绝对稳定区:- 278.5_0a21-1-2h0.010.010.010.01微分方程数值解对于:=-20,稳定区Ozh乞0.1391a-20-20h0.010.1581 !精确解 数值解0.90.80.7F0.6z0.5*0.4/0.3z0.2hum0.1y微分方程数值解,a=-20,h=0.011.100.10.20.30.40.50.60.70.80.91精确解*数值解+L微分方程数值解,a=-20,h=0.15765y 432xy (精确解)数值解y1(a=-20,h=0.01 )yi-y数值解y2(a=-20,h=0.15)yi-y0.150.1997870.1997892.35E-061.5250001.3252130.300.3024790.3024792.34E-072.1906251.8881460.450.4501230.4501231.75E-083.0496092.5994860.600.6000060.6000061.16E-094.1744633.5744570.750.7500000.7500007.23E-115.6648864.9148860.900.9000000.9000004.32E-127.6579696.757969x程序源代码fun ctio n testCharpt2_1%对数值分析实验题第2章第1题进行分析promps=输入f为选择f(x);输入h为选择h(x);输入g为选择g(x); result=inputdlg(promps,请选择实验函数);chooseF unction=char(result);switch chooseF unctioncase ff=inlin e(1./(1+25*x.A2);a=-1;b=1;n ameFuc=f(x);case hf=i nlin e(x./(1+x.A4);a=-5;b=5n ameFuc=h(x)case gf=i nli ne(ata n(x);a=-5;b=5n ameFuc=g(x)end% promps2= n=;% nNumble=inputdlg(promps2,请输入分点数 n);nNu mble=2:11for i=1:le ngth( nNu mble)x=li nspace(a,b ,nNu mble(i)+1);y=feval(f,x);xx=a:0.1:b;yy=lagra nge(x,y,xx)figurefplot(f,a,b,*)hold onplot(xx,yy,Li neWidth,2)xlabel(x)ylabel(y)lege nd(n ameFuc,lagra nge(x)n ameTitle=多项式求值的振荡现象,n= ,n um2str( nNu mble(i)title( nameTitle,Fo ntSize,14);grid on endfunction yy=lagra nge(x,y,xx)%s实现拉格朗日插值%输入参数x, y分别为已知插值点的自变量和因变量%输入参数xx为拟合点的自变量值%输出参数yy为对应自变量xx的拟合值xLe ngth=le ngth(x);xxLe ngth=le ngth(xx);for i1=1:xxLe ngthyy(ii)=0;for i2=1:xLe ngthp=1;for i3=1:xLe ngthif(i2=i3)P=p*(xx(i1)-x(i3)/(x(i2)-x(i3);endendyy(i1)=yy(i1)+p*y(i2);endendfun ctio n testCharpt3_1()%对数值分析实验题第3章第1题进行分析%输入参数:自变量 x,因变量y%输入参数:多项式拟合次数nclcclearformat lo ngx=-1.0,-0.5,0.0,0.5,1.0,1.5,2.0y=-4.447,-0.452,0.551,0.048,-0.447,0.549,4.552n=3A=;for i=1:le ngth(x)A=A;1 x(i) x(i)A2 x(i)A3endA2=A*A;a=in v(A2)*A*y%多项式的系数% a=roundn( a,-6)yy=a(1)+a(2)*x+a (3)*x.A2+a(4)*x.A3;r=(y-yy)*(y-yy) % 平方误差clfhold onplot(x,y,or);x2=-1:0.01:2;y2=a(1)+a(2)*x2+a (3) *x2.A2+a(4)*x2.A3;plot(x2,y2,Li neWidth,2);lege nd(离散值,拟合曲线)xlabel(x);ylabel(y);title(3 次多项式拟合,平方误差=,num2str(r),FontSize,14);gridonfun ctio n testCharpt5_1%对数值分析实验题第3章第1题进行分析%输入参数:参数a,步长h%精确解和数值解图形对比%第1问输入a=2 1-1-2% 输入a的取值h=0.01 0.01 0.01 0.01% 输入 h 的取值%第2问输入% a=-20 -20% 输入a的取值% h=0.01 0.15%输入h的取值%func=inlin e(1+(y-x).*a);% 定义函数for i=1:le ngth(a)x=0:h(i):1;%求解区间y=x;N=le ngth(x);y(1)=1;for n=1:N-1k仁fun c(a(i),x( n),y( n);k2=fu nc(a(i),x( n)+h(i)/2,y( n)+k1*h(i)/2);k3=fu nc(a(i),x( n)+h(i)/2,y( n)+k2*h(i)/2);k4=fu nc(a(i),x( n)+h(i),y( n)+k3*h(i);y( n+1)=y( n)+h(i)*(k1+2*k2+2*k3+k4)/6;%数值解endy0=exp(a(i)*x)+x;% 精确解% figure()%如果叠绘图去掉此句命令plot(x,y0)hold onplot(x,y,*)legend(精确解,数值解)xlabel(x);ylabel(y);title(微分方程数值解,a=,num2str(a(i),h=,num2str(h(i),FontSize,14);grid on end
展开阅读全文