hj.m

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

M
27
字号
function u=HJ(n,k,x,y,z)
%使用Hartley-Judd法确定节点矢量
L=zeros(1,n-1);
for i=1:n-1
    L(i)=sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2+(z(i+1)-z(i))^2);                             %%求弦长
end
N=n+k+1;
u=zeros(1,N);
for i=1:k+1
    u(i)=0;
end
for i=n+1:N
    u(i)=1;
end
temp1=0;
temp2=0;
for i=k+2:n
    for j=i-k-1:i-2
        temp1=L(j)+temp1;
    end
    for s=k+1:n
        for j=s-k:s-1
            temp2=temp2+L(j);
        end
    end
    u(i)=u(i-1)+temp1/temp2;                                                %%Hartley-Judd法节点矢量的确定
end

⌨️ 快捷键说明

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