接上一篇文章。https://blog.csdn.net/kunshao_07/article/details/80809631
需求
想要对两个列向量形成的曲线进行平滑处理。参考了@_Flamingo_的处理方法:https://blog.csdn.net/steelbasalt/article/details/48756143。两个列向量如下所示:
过程
1. 直接开搞
报错!
原因就出在[[a(1) a a(end)];[b(1) b b(end)]]操作不能把两个列向量转换为想要的两列矩阵或两行矩阵。
2. 先对a,b进行转置,使用转置操作“ ' ”,即c=a',则将列向量转换为行向量,后面的操作就一样了。
注意
请比较下面两个矩阵
f比e首尾各多1列,这是由于f在造阵过程中增加的c(1)、c(end)、d(1)、d(end)。
为什么这么做呢?请将下面程序的结果与上述结果比较:
首尾各少了一个点,导致首尾各少了一段曲线!这应该是函数spcrv造成的,请在使用中注意。从下图也可以看出,前者的程序中,values一共产生了194个点使曲线更平滑;而后者的程序中,values一共产生了162个点,更少了。
spcrv的作用就是插入更多的点,从而使曲线更平滑!