📄 lagran.m
字号:
%function[c,l]=lagran(x,y)
% 这里x为n个节点的横坐标所组成的向量,y为纵坐标所组成的向量。
% c为所得插值函数的系数组成的向量。
clear;
clc;
x=[0.9 1.3 1.9 2.1 2.6 3.0 3.9 4.4 4.7 5.0 6.0 7.0 8.0 9.2 10.5 11.3 11.6 12.0 12.6 13.0 13.3];
y=[1.3 1.5 1.85 2.1 2.6 2.7 2.4 2.15 2.05 2.1 2.25 2.3 2.25 1.95 1.4 0.9 0.7 0.6 0.5 0.4 0.25];
w=3;
n=w-1;
plot(x,y,'-g');
hold on;
for i=1:10
l=zeros(w,w);
for k=1:n+1
v=1;
for j=1:n+1
if k~=j
v=conv(v,poly(x(j+(i-1)*2)))/(x(k+(i-1)*2)-x(j+(i-1)*2));
end
end
l(k,:)=v;
end
c=y((1+(i-1)*2):(3+(i-1)*2))*l;
xx=x(1+(i-1)*2):0.1:x(3+(i-1)*2);
yy=c(1)*xx.^2+c(2)*xx+c(3);
plot(xx,yy);
hold on;
end
legend('原始数据直接模拟曲线','Lagrang插值曲线');
title('飞行中的野鸭的顶部轮廓曲线(Lagrang插值方法)');
xlabel('x');
ylabel('f(x)');
hold off;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -