如何解决 Matlab 函数 csaps 的非平滑结果

问题描述

我的目标是为大量非均匀间隔数据找到平滑曲线,使得曲线的最小幅度尽可能大。 “csaps”函数似乎是我需要的,因为它允许通过改变平滑参数 p 来获得不同程度的平滑。我为此尝试了不同类型的优化,但发现结果不正确。 "csaps" 函数为低 p 值产生非平滑结果。这对我来说是最有趣的平滑参数范围。 为了制作最小的工作示例,需要在 *.mat 文件中附加数据。我不知道该怎么做。但是,如果我对我的数据运行以下代码

plot(cv,pr,'.','displayName','data')
hold on
grid on
cvi=linspace(0,cv(end),10000);
p=1e-5;
pp = csaps(cv,p);
plot(cvi,ppval(pp,cvi),'k-','linewidth',2,['p=',num2str(p)])
p=1e-10;
pp = csaps(cv,'r-',num2str(p)])
legend('Location','best')

我明白了:

csaps incorrect smoothing

对于 p=1e-10,对于小 cv 值,平滑曲线看起来不平滑。

我尝试过 fnval 而不是 ppval 但这并没有改善。 有谁知道为什么会发生这种情况,我如何才能对大型数据集进行良好的平滑处理?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)