拉格朗日插值总是不对matlab找了很多个拉格朗日插值的代码,比如下面这个function y=lag(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x;s=0;for k=1:nL=1;for j=1:nif =kL=L.*abs((z-x0(j)))/(x0(k)-x0(j));endends=s+L*y0(k);endy=s;en

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 05:32:43
拉格朗日插值总是不对matlab找了很多个拉格朗日插值的代码,比如下面这个function y=lag(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x;s=0;for k=1:nL=1;for j=1:nif =kL=L.*abs((z-x0(j)))/(x0(k)-x0(j));endends=s+L*y0(k);endy=s;en

拉格朗日插值总是不对matlab找了很多个拉格朗日插值的代码,比如下面这个function y=lag(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x;s=0;for k=1:nL=1;for j=1:nif =kL=L.*abs((z-x0(j)))/(x0(k)-x0(j));endends=s+L*y0(k);endy=s;en
拉格朗日插值总是不对matlab
找了很多个拉格朗日插值的代码,比如下面这个
function y=lag(x0,y0,x)
n=length(x0);
m=length(x);
for i=1:m
z=x;
s=0;
for k=1:n
L=1;
for j=1:n
if =k
L=L.*abs((z-x0(j)))/(x0(k)-x0(j));
end
end
s=s+L*y0(k);
end
y=s;
end
输入
>> x0=[4 8 12 16 20 24];
>> y0=[1590 1320 1000 900 650 560];
我要求x=0处的插值,输入lag(x0,y0,0)
各种程序答案均为420,晕,可是显然应该是2000左右才对呀

拉格朗日插值总是不对matlab找了很多个拉格朗日插值的代码,比如下面这个function y=lag(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x;s=0;for k=1:nL=1;for j=1:nif =kL=L.*abs((z-x0(j)))/(x0(k)-x0(j));endends=s+L*y0(k);endy=s;en

这个函数大体是正确的,但有小错误两个

1  L=L.*abs((z-x0(j)))/(x0(k)-x0(j));这行不需要abs.

2  x是个数值的话 就不需要m=length(x);和下面的循环输出了;

我开始认同你的看法,但作图后发现,不能这样想当然.不同函数不一样,这个被插值函数在0附近的值下降很快.完整图像我给你看看. 

今天看了下这个问题,可能用拟合更好(因为你的数值线性度较大,拉格朗日插值条件不好,Matlab里面称为Bad Condition.)用拟合方法如下(线性拟合)

clear

>> x0=[4 8 12 16 20 24];

y0=[1590 1320 1000 900 650 560];

p=polyfit(x0,y0,1);

>>  x=-1:30;

y=polyval(p,x);

>> plot(x,y)

 %显示0处拟合值

>> polyval(p,0)

%----------------------------

结果为1729

因为只能放一个图 我就把第一个图删除了

拉格朗日插值总是不对matlab找了很多个拉格朗日插值的代码,比如下面这个function y=lag(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x;s=0;for k=1:nL=1;for j=1:nif =kL=L.*abs((z-x0(j)))/(x0(k)-x0(j));endends=s+L*y0(k);endy=s;en 气质用英语怎么说?如上!我找了很多 好象都不对. 老是做同一种梦总是在一个建筑物,大楼之类的.里面有很多房间,很多很多,都差不多.我就在里面,拼命的找一个房间,总是找不着.梦很黑暗,压抑.有时还会梦到播电话号码,总是播不对,那个急呀, 如何寻找杠杆支点我总是找不对一个杠杆的支点.怎么找呢? 初一数学学不好怎么办.目前学到有理数乘除法这一章.很多题不是不会,但总是算错.我也有很认真的写了,但就是写不对. 政治的大题总是找不对要答的知识点怎么办 有很多数学公式忘记了.怎么找? matlab中sin函数里面如何输入pi*t?为什么我输入sin(pi*t)总是不对? matlab中怎样取一个矩阵的连续很多列菜鸟自学matlab,很多都不会.如题矩阵P有7行65列,想用P_test取其中的前60列,可是P_test=P(1:60)结果不对,没事了,已经搞定了for j=1:7P_train(j,:)=P(j,1:60)end 小弟总是做不对. matlab做曲线拟合,总是出错,我用一组数据做拟合,t[14667,14727,14787,14847,14907];x=[-522406.184 -436584.389 -346935.325 -254023.263 -158433.001];用 polyfit(t,x,3)或者用二次四次拟合求出来的p都不对,差很多那种, 高中化学的知识点很杂很多,总是记混了 MATLAB 检验不对啊MATLA The Key Code you entered was not 使命召唤5试玩版输入序列号 总是不对 我上网找的 怎么回事? 我做作业总是粗心大意,很多不该错的题目,总是错了. give in to me-杰克逊的中文歌词我想要中文歌词...可惜我不会翻...就是因为歌词我才喜欢MJ的...找了很多...翻的都不对...谁帮我翻下好不好... 为什么总是做不对题 求导~总是算不对正确答案~