计算机数值计算原理,北京科技大学数值计算方法上机实验报告.doc

北京科技大学数值计算方法上机实验报告,数值计算方法实验报告,数值计算实验报告,数值计算,数值计算方法,matlab数值计算,数值计算方法pdf,数值计算原理,数值计算与计算机应用,matlab数值计算pdf

《数值计算方法》

上机作业

应用软件:MATLAB、Turbo C2.0

学 院 计算机与通信工程学院

专业班级?????电信10??? ????

姓??名??? 赵倩悦?????

学??号?? ???

??

2012年5 月14日

第一章

1、用拉格朗日插值公式、牛顿插值公式、埃特金差值公式编写教材第一章习题4的数值计算程序。并打印牛顿差商表、埃特金差商表。

(1)拉格朗日插值M文件函数如下:

function y=Lagrange(x0,y0,x)

n=length(x0);m=length(x);

for i=1:m

z=x(i);

s=0.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=y0(k)*p+s;

end

y(i)=s;

end

在matlab的命令窗口中输入:

>> x=[0 pi/6 pi/4 pi/3 pi/2 ]

x =

0 0.5236 0.7854 1.0472 1.5708

>> y=[0 0.5 0.707 0.866 1];

Lagrange(x,y,pi/12)

得到最后的结果:

ans =

0.2588

(2)牛顿差商表M文件程序如下:

x=[0 pi/6 pi/4 pi/3 pi/2];

y=[0 0.5 0.707 0.866 1];

n=length(x);

newton=[x',y'];

for j=2:n

for i=n:-1:1

if i>=j

y(i)=(y(i)-y(i-1))/(x(i)-x(i-j+1));

else

y(i)=0;

end

end

newton=[newton,y'];

end

disp('牛顿差商表如下:')

disp(newton)

牛顿差商表如下:

0 0 0 0 0 0

0.5236 0.5000 0.9549 0 0 0

0.7854 0.7070 0.7907 -0.2091 0 0

1.0472 0.8660 0.6073 -0.3502 -0.1347 0

1.5708 1.0000 0.2559 -0.4474 -0.0929 0.0266

得到最后的结果:

f(pi/12)= 0.25875

2、编写显示拉格朗日插值基函数的图形程序。

function y=lagrange_intrp(xdata,ydata,x)

n=length(xdata);m=length(ydata);

if n~=m

error('插值数据长度不等 ');

end

ii=1:n;y=zeros(size(x));

for i=ii

ij=find(ii~=i);V=1;

for j=1:length(ij)

if abs(xdata(i)-xdata(ij(j)))

error('输入的n+1个节点不是互异的');

end

V=V.*(x-xdata(ij(j)));

end

y=y+V*ydata(i)/prod(xdata(i)-xdata(ij))

end

在matlab命令窗口中输入:

>> xdata=0:0.125:0.5;

>> ydata=[0 6.24 7.75 4.85 0];

>> xi=0:0.01:0.5;

>> yi=lagrange_intrp(xdata,ydata,xi);

>> plot(xdata,ydata,'ko')

>> plot(xdata,ydata,'ko')

>> hold on

>> plot(xi,yi,'k')

>> title('拉格朗日插值')

>> legend('给定的节点数据','差值曲线')

得到:

3、编写显

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值