MATLAB 如何使曲线光滑

2024-12-15 20:47:28
推荐回答(5个)
回答1:

1、首先准备两列数据,作为xy坐标值,使用plot命令作图如下。

2、然后进行数据拟合,这里使用matlab的polyfit命令。如果数据的规律性很差的话,polyfit后面设置的参数要足够大才能保证拟合精度,在这个数据中选择15。

3、拟合后与原来数据对比后的std约为0.1287.y的平均值为113.精度值根据不同的需要设计不同的拟合值。

4、matlab下的命令为polyder。求导后得到的数据作图如下。可以看到在比区间上,导数有两处为0,这与原来曲线相符。

5、最后就完成了。

回答2:

1、首先准备两列数据,作为xy坐标值,使用plot命令作图如下。

2、然后进行数据拟合,这里使用matlab的polyfit命令。如果数据的规律性很差的话,polyfit后面设置的参数要足够大才能保证拟合精度,在这个数据中选择15。

3、拟合后与原来数据对比后的std约为0.1287.y的平均值为113.精度值根据不同的需要设计不同的拟合值。

4、matlab下的命令为polyder。求导后得到的数据作图如下。可以看到在比区间上,导数有两处为0,这与原来曲线相符。

5、最后就完成了。

回答3:

解决方法为三次样条差值,说白了,就是你给一些稀疏的点,计算机自动根据连续三次多项式函数拟合,并生成密集且连续的点。

例如
x0=[1,2,3,4];
y0=[2,3,1,4];
%以上是稀疏的点

x=1:0.1:4;%这个是1到4之间间距0.1的密集的点
y=spline(x0,y0,x);%计算这些密集的x点对应的y点。

若要调整格点大小,可以改变x数列的值。例如要间隔0.01,那么x=1:0.01:4即可。
除了三次样条差值,还有线性差值,把spline改为interp1即可。另外,还有拉格朗日差值等,不过你应该用三次样条足以。

回答4:

做加密算法,把你要的点用算法加的更密集

回答5:

用三次样条插值 算法 可以使 曲线 很光滑
不知道 你学过 这个算法吧
如果没有 你可以搜 下 这个算法
网上比较多
请采纳。