如何是matlab中的折线图变得更加的光滑?
【代码】如何是matlab中的折线图变得更加的光滑?
·
原来的代码如下:
y2 = Convergence2 ;
m = figure('Name','y2 ','Position',[200,200,500,500]);
plot(y2 ,'-');
title('E2 ');
xlabel('Iteration');
ylabel('Objective Function Value');
方法如下:
1.使用spline函数进行插值拟合:
y2 = Convergence2 ;
xx = 1:length(y2);
yy = spline(xx, y2, linspace(1, length(y2), 1000)); % 使用linspace生成更多点进行插值
figure('Name','y2 ','Position',[200,200,500,500]);
plot(yy,'-');
title('E2 ');
xlabel('Iteration');
ylabel('Objective Function Value');
2.使用smooth函数进行平滑处理:
```matlab
y2 = Convergence2 ;
yy = smooth(y2, 0.1, 'loess'); % 使用loess方法对y2进行平滑处理
figure('Name','y2 ','Position',[200,200,500,500]);
plot(yy,'-');
title('E2 ');
xlabel('Iteration');
ylabel('Objective Function Value');
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)