1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 数值分析实验报告 matlab 数值分析matlab实验报告..doc

数值分析实验报告 matlab 数值分析matlab实验报告..doc

时间:2021-05-15 19:06:02

相关推荐

数值分析实验报告 matlab 数值分析matlab实验报告..doc

数值分析matlab实验报告.

实验2.1 多项式差值的振荡现象

一、实验内容

,考虑区间[-1,1]的一个等距划分,分点为,i=0,1,2,...,n,.其中,li(x),i=0,1,2,...,n是Lagrange插值基函数.

选择不断增大的分点数目n=2,3,...,画出原函数f(x)及插值多项式函数Ln(x)在[-1,1]上的图像,比较并分析实验结果.

选择其他的函数,例如定义在区间[-5,5]上的函数,,重复上述的实验看其结果如何.

二、实验程序

function chapter2

promps={'请选择试验函数,若选f(x),请输入f,若选好h(x),请输入h,若选g(x),请输入g:'};

result=inputdlg(promps,'charpt 2',1,{'f'});

Nb_f=char(result);

if(Nb_f~='f'&&Nb_f~='h'&&Nb_f~='g')

errordlg('试验函数选择错误!');

return;

end

result=inputdlg({'请输入插值多项式的次数N:'},'charpt_2',1,{'10'});

Nd=str2num(char(result));

if(Nd<1)

errordlg('插值多项式的次数输入错误!');

return;

end

switch Nb_f

case'f'

f=inline('1./(1+25*x.^2)');a=-1;b=1;

case'h'

f=inline('x./(1+x.^4)');a=-5;b=5;

case'g'

f=inline('atan(x)');a=-5;b=5;

end

x0=linspace(a,b,Nd+1);y0=feval(f,x0);

x=a:0.1:b;y=Lagrange(x0,y0,x);

clf;

fplot(f,[a b],'rx');

hold on;

plot(x,y,'b--');

xlabel('x');ylabel('y=f(x) x and y=Ln(x) --');

2.Lagrange函数

function y=Lagrange(x0,y0,x)

n=length(x0);

m=length(x);

for i=1:m

z=x(i);

s=0;

for k=1:n

p=1.0;

for j=1:n

if (j~=k)

p=p.*(z-x0(j))/(x0(k)-x0(j));

end

end

s=s+p*y0(k);

end

y(i)=s;

end

三、实验结果及分析

1) 选择不断增大的分点数目n,原函数f(x)及插值多项式函数Ln(x)在[-1,1]上的图像。

随着提高插值多项式次数,可以提高逼近的精度,但是次数的增加,在区间两端点附近与原函数偏离很远,即出现了Runge现象。

2) 选择不断增大的分点数目n,原函数h(x)及插值多项式函数Ln(x)在[-1,1]上的图像。

选择不断增大的分点数目n,原函数g(x)及插值多项式函数Ln(x)在[-1,1]上的图像。

同样,随着提高插值多项式次数,可以提高逼近的精度,但是次数的增加,在区间两端点附近与原函数偏离很远,即出现了Runge现象。

实验3.1最小二乘拟合

一、实验内容

为基的多项式最小二乘拟合程序,并用于对下表中数据作3次多项式最小二乘拟合.

xi-1.0-0.50.00.51.01.52.0yi-4.447-0.4520.5510.048-0.4470.5494.552取权数,求拟合曲线中的参数、平方误差,并作离散数据的拟合函数的图形.

二、实验程序

function chapter3

x0=-1:0.5:2;

y0=[-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552];

n=3;

alph=polyfit(x0,y0,n);

y=polyval(alph,x0);

r=(y0-y)*(y0-y)';

x=-1:0.01:2;

y=polyval(alph,x);

plot(x,y,'k--');

xlabel('x');ylabel('y0 * and polyfit. y-.');

hold on;

plot(x0,y0,'*');

title('离散数据的多项式拟合');

grid

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。