数值分析上机作业

发布 2022-09-05 09:35:28 阅读 2960

今天的上机作业。

1. lagrange 插值。

给出的数值表。

用lagrange 插值计算的近似值。

2.newton插值。

用newton插值计算x=0.41的近似值。

3.插值法的全部内容。

把chap_2试验。doc的全部内容作一边,粘在这个文件里(包括图形)答:插值。

function f=lagrange_5(x)

x0=[0.4,0.5,0.6,0.7,0.8];

y0=[-0.916291,-0.693147,-0.510826,-0.356675,-0.223144];

l1=0;m=length(x0);n=length(y0);

if m~=n, error('向量x与y的长度必须一致');end

for i=1:n

l=ones(1,length(x));

for j=1:n

if j~=i

l=l.*(x-x0(j))/x0(i)-x0(j));

endend

l1=l1+l*y0(i);endl1

lagrange_5(0.54)l1 =

2.newton插值。

function f=newton_li5(x) %x0为入的节点值,y0相应节点的函数值。

x0=[0.25 0.30 0.39 0.45 0.53];

y0=[0.5000 0.5477 0.6245 0.6708 0.7280];

n=length(x0)

syms x

for i=1:n

f(i,1)=y0(i

endhx=f(1,1);

xx=(1.0);

for k=2:n

for i=k:n

f(i,k)=(f(i,k-1)-f(i-1,k-1))/x0(i)-x0(i-k+1));构造差商表。

endxx=xx*(x-x0(k-1));

hx=hx+f(k,k)*xx计算函数的近似值。

endf=expand(hx)

hxnewton(0.41)n =

hx =ans =

3.插值法的全部内容。

把chap_2试验。doc的全部内容作一边,粘在这个文件里(包括图形)

p28 例2

2点插值。function f=lagrange_2(x)

x0=[0.32,0.34];

y0=[0.314567,0.333487];

l1=0;m=length(x0);n=length(y0);

if m~=n, error('向量x与y的长度必须一致');end

for i=1:n

l=ones(1,length(x));

for j=1:n

if j~=i

l=l.*(x-x0(j))/x0(i)-x0(j));

endend

l1=l1+l*y0(i);endl1

lagrange_2(0.3367)l1 =

3点插值。function f=lagrange_3(x)

x0=[0.32,0.34,0.36];

y0=[0.314567,0.333487,0.352274];

l1=0;m=length(x0);n=length(y0);

if m~=n, error('向量x与y的长度必须一致');end

for i=1:n

l=ones(1,length(x));

for j=1:n

if j~=i

l=l.*(x-x0(j))/x0(i)-x0(j));

endend

l1=l1+l*y0(i);endl1

lagrange_3(0.3367)l1 =

lagrange插值法。

eg1_clear;clf;

xx=linspace(-5,5,50); y=sin(xx); 作被插函数的图象。

disp('nx=4.5处的插值绝对误差的绝对值')

x1=linspace(-5,5,3); y1=sin(x1); yy1=lagr1(x1,y1,xx); 2次插值。

chazhi_y45_2=lagr1(x1,y1,4.5);

gd_wucha_limit_y45_2=abs(chazhi_y45_2-sin(4.5));

disp(sprintf('%d %15.4f %15.4f',2,chazhi_y45_2,gd_wucha_limit_y45_2))

x2=linspace(-5,5,5); y2=sin(x2); yy2=lagr1(x2,y2,xx); 4次插值。

chazhi_y45_4=lagr1(x2,y2,4.5);

gd_wucha_limit_y45_4=abs(chazhi_y45_4-sin(4.5));

disp(sprintf('%d %15.4f %15.4f',4,chazhi_y45_4,gd_wucha_limit_y45_4))

x3=linspace(-5,5,9); y3=sin(x3); yy3=lagr1(x3,y3,xx); 8次插值。

chazhi_y45_8=lagr1(x3,y3,4.5);

gd_wucha_limit_y45_8=abs(chazhi_y45_8-sin(4.5));

disp(sprintf('%d %15.4f %15.4f',8,chazhi_y45_8,gd_wucha_limit_y45_8))

plot(xx,y,'m-')hold on,pause,plot(x1,y1,'rs',xx,yy1,'r-')hold on,pause,plot(x2,y2,'b*',xx,yy2,'b-')hold on,pause,plot(x3,y3,'ko',xx,yy3,'k-')hold on

计算函数值。

function f=newton_li4(x) %x0为入的节点值,y0相应节点的函数值。

x0=[0.40,0.55,0.65,0.80,0.90,1.05];

y0=[0.41075,0.57815,0.69675,0.88811,1.02652,1.25382];

n=length(x0)

syms x

for i=1:n

f(i,1)=y0(i

endhx=f(1,1);

xx=(1.0);

for k=2:n

for i=k:n

f(i,k)=(f(i,k-1)-f(i-1,k-1))/x0(i)-x0(i-k+1));构造差商表。

endxx=xx*(x-x0(k-1));

hx=hx+f(k,k)*xx计算函数的近似值。

endf=expand(hx)

hxnewton(0.596)n =

hx =ans =

newton插值法。

eg1_clear;clf;

xx=linspace(-5,5,50); y=sin(xx); 作被插函数的图象。

disp('nx=4.5处的插值绝对误差的绝对值')

数值分析上机作业

一。上机作业任务一 用五点差分格式求解poisson方程边值问题,p 任选一题 二。上机作业任务二 用simpson求积法计算定积分。下面两种方法任选一。1 变步长复化simpson求积法2 自适应simpson求积法。三。上机作业任务三 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式...

数值分析上机作业

第二次上机作业。一。任务 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式m文件 并用此程序进行数值试验,写出计算实习报告。二。程序功能要求 在后面的附一的基础上进行修改,使其更加完善。要求算法程序可以适应不同的具体函数,具有一定的通用性。所编程序具有以下功能 1.用lengendre多...

数值分析上机作业

昆明理工大学工科研究生。数值分析 上机实验。学院 材料学院。专业 材料工程。学号 2011730011 姓名 刘宁。任课教师 胡杰。p277 e1 1.已知矩阵a b 1 用matlab函数 eig 求矩阵全部特征值。2 用基本qr算法求全部特征值 可用matlab函数 qr 实现矩阵的qr分解 解...