⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4-4.m

📁 de Boor 求值算法求作二次和三次B-样条插值曲线
💻 M
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -