用matlab实现lagrange插值多项式.源程序如下:function [f,y0]=lagrange_interpolation(x,y,x0)% f lagrange插值函数% x,y 数据点% x0 插值的x坐标syms t;if length(x) == length(y) %检错n=length(x);elseerror('x和y的维数不相等,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 12:16:02
用matlab实现lagrange插值多项式.源程序如下:function [f,y0]=lagrange_interpolation(x,y,x0)% f lagrange插值函数% x,y 数据点% x0 插值的x坐标syms t;if length(x) == length(y) %检错n=length(x);elseerror('x和y的维数不相等,

用matlab实现lagrange插值多项式.源程序如下:function [f,y0]=lagrange_interpolation(x,y,x0)% f lagrange插值函数% x,y 数据点% x0 插值的x坐标syms t;if length(x) == length(y) %检错n=length(x);elseerror('x和y的维数不相等,
用matlab实现lagrange插值多项式.
源程序如下:
function [f,y0]=lagrange_interpolation(x,y,x0)
% f lagrange插值函数
% x,y 数据点
% x0 插值的x坐标
syms t;
if length(x) == length(y) %检错
n=length(x);
else
error('x和y的维数不相等,请重新输入')
end
w1=1;
w=ones(n,1);
for k=1:n %开始计算插值函数f
w1=w1*(t-x(k));
for m=1:k-1
w(k)=w(k)*(x(k)-x(m));
end
for l=k+1:n
w(k)=w(k)*(x(k)-x(l));
end
end
f=0.0;
for h=1:n
f=f+w1/((t-x(h))*w(h))*y(h); %得插值函数
end
x1=[x,x0];
y1=subs(f,t,x1); %计算插值函数的值
y0=y1(n+1); %提取插值点的函数值
plot(x,y1(1:n),'g','linewidth',1.5) %绘制插值函数的图像
hold on
plot(x,y,'*','markersize',6) %原数据散点图
plot(x0,y0,'+c','markersize',10) %插值点
hold off
legend('原数据点','插值函数',['插值点','(',num2str(x0) ,',' ,num2str(y0) ,')'],'location','northeast')
搞了一个晚上,程序运行后,在“y1=subs(f,t,x1); %计算插值函数的值”这一行语句上出现问题,把分号可以发现y1除了最后一个,其它结果都是nan(非数),思考了好久都不知道为什么,为什么结果是nan.其它都没问题.

用matlab实现lagrange插值多项式.源程序如下:function [f,y0]=lagrange_interpolation(x,y,x0)% f lagrange插值函数% x,y 数据点% x0 插值的x坐标syms t;if length(x) == length(y) %检错n=length(x);elseerror('x和y的维数不相等,
在T处加引号试试,即“y1=subs(f,'t',x1); %计算插值函数的值”

用matlab实现lagrange插值多项式.源程序如下:function [f,y0]=lagrange_interpolation(x,y,x0)% f lagrange插值函数% x,y 数据点% x0 插值的x坐标syms t;if length(x) == length(y) %检错n=length(x);elseerror('x和y的维数不相等, lagrange 函数在Matlab的哪个工具箱中 大神帮我看看这个matlab程序实现的拉格朗日插值程序计算运行为什么有问题?%Lagrange interpolationfunction 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: 利用matlab实现Lagrange 插值多项式主程序为:function SF_Sinx = -5 : 0.01 : 5; y = sin(x); plot(x,y,'r:') % 绘制准确函数图像hold onpx = -5 : 1 : 5; % 插值点py = sin(px 用LAGRANGE恒等式证明CAUCHY不等式? 用MATLAB求Lagrange插值多项式和Newton插值多项式用MATLAB求下列一组值的Lagrange插值多项式和Newton插值多项式 D={(0,5),(1,-2),(2,3),(3,4),(4,-1),(5,7),(6,5),(7,2)}. `要MATLAB的具体程序以及运算结果 matlab函数表示用matlab怎么实现啊谢谢 灰度共生矩阵怎么用MATLAB实现? 怎么样用matlab实现sift算法 怎么用Matlab实现椭圆拟合? 用matlab实现傅里叶正逆变换源程序 matlab的拉格朗日插值测量点数据如下,用lagrange插值在[-0.2,.3]区间以0.01为步长进行插值,并画出多项式x 0.1 0.2 0.15 0 -0.2 0.3y 0.95 0.84 0.86 1.06 1.5 0.72 matlab用一个数乘一个函数怎么实现 怎么用matlab实现如图所示的横坐标和纵坐标? 灰度共生矩阵具体怎么用matlab实现 最小二乘法用matlab怎么实现(求具体程序) sin(pi*t)/(pi*t)怎么用matlab实现 用MATLAB实现层次分析法的步骤是什么