今天的上机作业。
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分解 解...