如何使matlab中曲线平滑

学习 时间:2026-03-30 15:42:31 阅读:1878
如何使matlab中曲线平滑如图 曲线波动很大 麻烦哪位可以给个具体些的处理说明 谢谢了

最佳回答

粗犷的芹菜

活力的心情

2026-03-30 15:42:31

clc,clear;a = 1:1:6; %横坐标b = [8。0 9。0 10。0 15。0 35。0 40。0]; %纵坐标plot(a,b,'b'); %自然状态的画图效果hold on;%第一种,画平滑曲线的方法c = polyfit(a,b,2); %进行拟合,c为2次拟合后的系数d = polyval(c,a,1); %拟合后,每一个横坐标对应的值即为dplot(a,d,'r'); %拟合后的曲线plot(a,b,'*'); %将每个点 用*画出来hold on;%第二种,画平滑曲线的方法values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);plot(values(1,:),values(2,:),'g');建议学会使用搜索引擎,百度“matlab曲线平滑“出来一堆方法 再问: 你说的这两种方法我都试了 我的数据是excel中导出来了 横纵坐标都是500个数 画出来还是和我截的图一样啊 再答: 那就用smooth函数好了,有五种平滑方式,你可以试试看选择效果最好的一种,具体参数设置可以参考matlab help。 yy1=smooth(y,30);\x09\x09\x09\x09\x09\x09%移动平均法 yy2=smooth(y,30,'lowess');\x09\x09\x09\x09%利用lowess方法 yy3=smooth(y,30,'rlowess');\x09\x09\x09%利用rlowess方法 yy4=smooth(y,30,'loess');\x09\x09\x09\x09%利用loess方法 yy5=smooth(y,30,'sgolay',3);\x09\x09\x09%利用sgolay方法

最新回答共有2条回答

  • 爱听歌的背包
    回复
    2026-03-30 15:42:31

    clc,clear;a = 1:1:6; %横坐标b = [8。0 9。0 10。0 15。0 35。0 40。0]; %纵坐标plot(a,b,'b'); %自然状态的画图效果hold on;%第一种,画平滑曲线的方法c = polyfit(a,b,2); %进行拟合,c为2次拟合后的系数d = polyval(c,a,1); %拟合后,每一个横坐标对应的值即为dplot(a,d,'r'); %拟合后的曲线plot(a,b,'*'); %将每个点 用*画出来hold on;%第二种,画平滑曲线的方法values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);plot(values(1,:),values(2,:),'g');建议学会使用搜索引擎,百度“matlab曲线平滑“出来一堆方法 再问: 你说的这两种方法我都试了 我的数据是excel中导出来了 横纵坐标都是500个数 画出来还是和我截的图一样啊 再答: 那就用smooth函数好了,有五种平滑方式,你可以试试看选择效果最好的一种,具体参数设置可以参考matlab help。 yy1=smooth(y,30);\x09\x09\x09\x09\x09\x09%移动平均法 yy2=smooth(y,30,'lowess');\x09\x09\x09\x09%利用lowess方法 yy3=smooth(y,30,'rlowess');\x09\x09\x09%利用rlowess方法 yy4=smooth(y,30,'loess');\x09\x09\x09\x09%利用loess方法 yy5=smooth(y,30,'sgolay',3);\x09\x09\x09%利用sgolay方法

上一篇 电脑公司购进一批电脑,上半卖了总数的五分之一,下半月又卖出总数的六分之一.已知这个月共卖出44台,

下一篇 动植物的生长需要一定的环境,当环境改变后他们会努力适应环境的变化.举例说明冻住五是怎样适应环境的?