📄 langrangeinsertmethod.m
字号:
function LangrangeInsertMethod
%此程序适合任何用于拉格朗日插值的数据,输入所有的x值和对应的y值以及你要求y的x的值就可以了。
%输入x请按照这样输入,如: [0 1 2 3 4]
%输入y请按照这样输入,如: [7 8 9 10 11] y值必须与x值对应
%输入任意的x0,就可以得到相应的插值函数对应的y0,输入x0这样输入,如:0.5
%上面的输入对应下面的提示。
x1=input('please input x value in turn: ');
y1=input('please input y value compared wiht x1: ');
x0=input('please input the x which you want getting the y value: ');
k=1;
syms x;
%下面的循环构造插值函数fx
for k=1:length(x1)
f=1;
for j=1:length(x1)
if k~=j
f=f*(x-x1(j))/(x1(k)-x1(j));
end;
end
f=f*y1(k);
if k==1
fx=f;
else
fx=fx+f;
end
end
fprintf('\n');
fx=simplify(fx);
fx_user_value=subs(fx,x,x0);
disp('The result is as bellows: ');
%打印出fx的函数
disp('fx=');
disp(fx);
%打印出用户输入x对应的y的值
disp('The value of y you wanted is: ');
disp(fx_user_value);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -