用matlab将sin(x)的曲率进行均分(均分分数可以自己输入),并且在其函数图像上找到平分后曲率相等的点,能在图像上显示要均分的所有点

用matlab将sin(x)的曲率进行均分(均分分数可以自己输入),并且在其函数图像上找到平分后曲率相等的点,能在图像上显示要均分的所有点
N=input('请输入曲率均分个数:');
x = 0:0.01:2*pi;
y = sin(x);
x1 = diff(x);% 一阶导
x2 = diff(x1);% 二阶导
y1 = diff(y);
y2 = diff(y1);
x2(length(x1)) = x2(end);% 使数组维度一致
y2(length(y1)) = y2(end);
k = abs(x1.*y2 - x2.*y1)./(x1.^2 + y1.^2).^(3/2);
k(length(x)) = k(end);
deltaS = k/N;
posX = zeros(N+1, 1);
posY = zeros(N+1, 1);
posX(1) = x(1);
posY(1) = y(1);
for i = 2:N+1
    deltaT = deltaS(i-1)/sqrt(1 + (i-1)^2);
    posX(i) = posX(i-1) + deltaT*cos(atan((i-1));
    posY(i) = posY(i-1) + deltaT*sin(atan((i-1));
end
plot(posX, posY);
title('分割后的曲线图');
xlabel('X');
ylabel('Y');