4-4.m

来自「de Boor 求值算法求作二次和三次B-样条插值曲线」· M 代码 · 共 29 行

M
29
字号
pcode LJD;                  %%生成p码文件,加快执行速度
pcode CHZH;
pcode HJ;
pcode deBoor;

x0=[0 1 2 3 4 5 6];          %%赋初始值
y0=[0 1 3 5 3 2 0];
z0=[0 0 0 0 0 0 0];
k=3;

n0=length(x0);               %%反算插值曲线控制顶点
u0=LJD(n0,k,x0,y0,z0);       %%调用自定义累加弦长算法函数确定节点矢量
x1=CHZH(n0,k,x0,u0);         %%调用自定义地插值函数确定控制顶点
y1=CHZH(n0,k,y0,u0);
z1=zeros(1,n0+k-1);          %%便于调用函数

n1=length(x1);               %%使用deBoor求值算法求出样条曲线
u1=HJ(n1,k,x1,y1,z1);
x=deBoor(n1,k,x1,u1);
y=deBoor(n1,k,y1,u1);

plot(x,y,'LineWidth',2)      %%画图
hold on
plot(x0,y0,'m:o')            %%型值点比较
plot(x1,y1,'k-.s')           %%所求控制顶点比较
xlabel('x','FontSize',16)
ylabel('y','FontSize',16)
title('三次B样条插值曲线','FontSize',12,'FontName','宋体')
hold off

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?