如何得到matlab三次样条曲线插值(csape)之后得到的拟合曲线的曲率图

x=[0:2.4:96],
y=[0 -0.06 -0.05 -0.02 0.02 0.12 0.15 0.19 0.23 0.22 0.27 0.29 0.29 0.30 0.29 0.22 0.01 -0.26 -0.59 -0.86 -0.88 -0.67 -0.33 -0.21 -0.04 -0.01 -0.02 0.01 0.02 0.05 0.06 0.06 0.08 0.09 -0.03 -0.11 -0.10 -0.04 0.00 -0.02 0.00]
进行三次样条之后,得到了拟合曲线,但是怎么得到他的曲率图呢,求全程代码和曲率图,谢谢大神们。

代码如下,画出来的效果不好,估计是因为三次样条曲线的二阶导数光滑性比较差。

x=0:2.4:96;
y=[0 -0.06 -0.05 -0.02 0.02 0.12 0.15 0.19 0.23 0.22 0.27 0.29 0.29 0.30 0.29 0.22 0.01 -0.26 -0.59 -0.86 -0.88 -0.67 -0.33 -0.21 -0.04 -0.01 -0.02 0.01 0.02 0.05 0.06 0.06 0.08 0.09 -0.03 -0.11 -0.10 -0.04 0.00 -0.02 0.00];
pp=csape(x,y);


X=0:0.1:96;
pp1=fnval(fnder(pp,1),X); %求一阶导
pp2=fnval(fnder(pp,2),X); %求二阶导

plot(X,abs(pp2)./sqrt((1+pp1.^2).^3));

 


用spapi做4次插值画出来的效果会好一点:

pp=spapi(5,x,y);

追问

好的,谢谢,有问题还请教您!

温馨提示:答案为网友推荐,仅供参考