数值分析实验报告 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

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课题一: 线性方程组的迭代法 一、实验内容 1、设线性方程组 = x = ( 1, -1, 0, 1, 2, 0, 3, 1, -1, 2 ) 2、设对称正定阵系数阵线方程组 = x = ( 1, -1, 0, 2, 1, -1, 0, 2 ) 3、三对角形线性方程组 = x = ( 2, 1, -3, 0, 1, -2, 3, 0, 1, -1 ) 试分别选用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法计算其解。 二、实验要求 1、体会迭代法求解线性方程组,并能与消去法做以比较; 2、分别对不同精度要求,如 由迭代次数体会该迭代法的收敛快慢; 3、对方程组2,3使用SOR方法时,选取松弛因子 =0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者; 4、给出各种算法的设计程序和计算结果。 三、目的和意义 1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较; 2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序; 3、体会上机计算时,终止步骤 (予给的迭代次数),对迭代法敛散性的意义; 4、体会初始解 x ,松弛因子的选取,对计算结果的影响。 课题二:数值积分 一、实验内容 选用复合梯形公式,复合Simpson公式,Romberg算法,计算 (1) I = (2) I = (3) I = (4) I = 二、实验要求 1、 编制数值积分算法的程序; 2、 分别用两种算法计算同一个积分,并比较其结果; 3、 分别取不同步长 ,试比较计算结果(如n = 10, 20等); 4、 给定精度要求 ,试用变步长算法,确定最佳步长。 三、目的和意义 1、 深刻认识数值积分法的意义; 2、 明确数值积分精度与步长的关系; 3、 根据定积分的计算方法,可以考虑二重积分的计算问题。 四、流程图设计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值