MATLAB曲线平滑的办法
发现了两个MATLAB自带的曲线平滑函数:smooth和spcrv
一、smooth
自己感觉:平滑效果还可以
1.语法
(1)函数
smooth(Y)
smooth(Y,SPAN)%SPAN是滑动平均的点数,即“几点滑动平均”
smooth(Y,SPAN,METHOD)
(2)METHOD:
%loess:局部回归,加权的线性最小均方,2阶多项式模型
%rloess:'loess'的增强版,在回归过程中,给极端值分配的权重小。超出6倍绝对离差的极端值,权重为0
%'moving':滑动平均(默认)。低通滤波器,滤波器系数=span的倒数
%'lowess':局部回归。线性最小均方加权,1阶多项式模型。
%'sgolay':Savitzky-Golay filter。
%‘rlowess’:‘lowess’的增强版。在回归过程中,给极端值分配的权重小。超出6倍绝对离差的极端值,权重为0
(3)注意
对增强版的算法而言,极端值的影响可以忽略
(4)例子1(来自MATLAB)
%-----------画出原始数据和平滑后的数据----
[xx,ind] = sort(x);%排序,ind-索引,xx-排序后的数据(从小到大)
subplot(2,1,1)
plot(xx,y(ind),'b.',xx,yy1(ind),'r-')
set(gca,'YLim',[-1.5 3.5])
legend('Original Data','Smoothed Data Using ''loess''','Location','NW')
subplot(2,1,2)
plot(xx,y(ind),'b.',xx,yy2(ind),'r-')
set(gca,'YLim',[-1.5 3.5])
legend('Original Data','Smoothed Data Using ''rloess''','Location','NW')
(5)例子2(来自MATLAB)
clc,clear
load count.dat %(24×3)一天24小时,3个交通路口的车流量
%1°滑动平均滤波器,5小时的span。平滑全部数据
c = smooth(count(:));
C1 = reshape(c,24,3);
%画图(原始数据,平滑后的数据)
subplot(3,1,1)
plot(count,':');
hold on
plot(C1,'-');
title('Smooth C1 (All Data)')
%2°相同的滤波器。分别对每列数据进行平缓。
C2 = zeros(24,3);
for I = 1:3,
C2(:,I) = smooth(count(:,I));
end
%画图(原始数据、平滑后的数据)
subplot(3,1,2)
plot(count,':');
hold on
plot(C2,'-');
title('Smooth C2 (Each Column)')
%3°画出两次滑动后的数据的差值
subplot(3,1,3)
plot(C2 - C1,'o-')
title('Difference C2 - C1')
二、spcrv
%20160518:spcrv函数
%目前可最做到,对原来的曲线进行平滑
%原理:增加点,平滑曲线
%(自己感觉)效果:可以平滑,但是:1°无法获得平滑后的曲线方程 2°平滑前后,曲线的起始点,y值大小不同
%% ------例子0----------------
points=[0 0 1 1 0 -1 -1 0 0;0 0 0 1 2 1 0 -1 -2];
figure(3)
plot(points(1,:),points(2,:),':');
values=spcrv(points,3);
hold on;plot(values(1,:),values(2,:));hold off
%% ------------例子1---------------------------
x=[0 0.1 0.16 0.27 0.41 0.48 0.59 0.8];
y=[5 9 70 118 100 17 0 5];
y1=[22.8 22.8 22.8 22.8 22.8 22.8 22.8 22.8];
values1=spcrv([[x(1) x x(end)];[y(1) y y(end)]],3,1000);
values2=spcrv([[x(1) x x(end)];[y1(1) y1 y1(end)]],3,1000);
plot(values1(1,:),values1(2,:),'r',values2(1,:),values2(2,:),'b')
%% ----------------------例子2-----------------
x1=[18.5931 19.2468 19.58193333 19.96586667 20.0985 20.2678 30.95973333];
y=[3.66 7.15 11.74 21.53 31.24 60.51 86.5]
values = spcrv([[x1(1) x1 x1(end)];[y(1) y y(end)]],3);
plot(values(1,:),values(2,:),'k');
MATLAB曲线平滑的办法相关推荐
- matlab进行数据平滑,matlab数据平滑程序Word版
<matlab数据平滑程序Word版>由会员分享,可在线阅读,更多相关<matlab数据平滑程序Word版(9页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 , ...
- matlab - 信号平滑、移动平均滤波
matlab - 信号平滑.移动平均滤波 对信号进行平滑操作的重要性不言而喻 1.信号提取 matlab内置了一个这样的数据:某个地方一个月内的温度变化数据,1小时测量一次,所以总数据量是24*31. ...
- matlab图像处理——平滑滤波
平滑滤波--matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,改善图像的质量.假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰.从信号分析的观点来看,图像 ...
- matlab输出高质量图片,Matlab 画平滑轮廓 print 高质量 figure | 学步园
Matlab 画平滑轮廓 print 高质量 figure 在matlab中,想将分割的结果以轮廓的形式显示到灰度图上,要提取.绘制平滑轮廓. 自己提取轮廓.绘制,不方便,效果差. matlab提供了 ...
- Python之数据分析(案例:净额成交量、矢量化、数据曲线平滑)
文章目录 一.净额成交量 二.标量函数矢量化 三.数据曲线平滑 一.净额成交量 1.案例分析 符号数组a: [10 -20 30 40 -50] 用法:numpy.sign(a) 结果是[1 -1 1 ...
- python 曲线平滑_曲线平滑(smoothing)
曲线平滑 Savitzky-Golay滤波器 It uses least squares to regress a small window of your data onto a polynomia ...
- Matlab许可证过期解决办法
Matlab许可证过期解决办法 许可证到期前 许可证已经到期 电脑账户是英文名 联网激活 手动激活 电脑账户是中文名 通用办法 寒假的时候许可证快过期了一直没管,当时想着到了学校再更新,反正用不到,结 ...
- python 曲线平滑处理——方法总结(Savitzky-Golay 滤波器、make_interp_spline插值法和convolve滑动平均滤波)
文章目录 1 插值法对曲线平滑处理 1.1 插值法的常见实现方法 1.2 拟合和插值的区别 1.3 代码实例 2 Savitzky-Golay 滤波器实现曲线平滑 2.1 问题描述 2.2 Savit ...
- matlab输出曲线颜色设置,matlab曲线颜色样式设置
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab曲线颜色样式设置 问题详情:f1=figure;x=[0:pi/10:2*pi]; fori=1: 曲线颜色或样式不同呢 ...
- python 数据、曲线平滑处理
python 数据.曲线平滑处理--方法总结 Savitzky-Golay 滤波器实现曲线平滑 插值法对折线进行平滑曲线处理 基于Numpy.convolve实现滑动平均滤波 数据平滑处理--log( ...
最新文章
- 深度学习未来发展的三种学习范式:混合学习,成分学习和简化学习
- mysql慢查询日志时间戳_Mysql查询在时间戳的日期范围内非常慢
- Linux 系统内存分析
- 【Linux】一步一步学Linux——set命令(222)
- python整形魔法_python 魔法方法
- 【报错解决】linux网络编程报错storage size of ‘serv_addr’ isn’t known解决办法
- 基于Windows下python3.4.1IDLE常用快捷键小结
- 利用R、Octave、NumPy和SciPy求解线性方程组
- 王思聪被传成“老赖”, 北京二中院:假的!
- Java——链表的增删查改
- spyder 怎么看函数定义_看漫画学C++035:自定义函数(1)
- Java LinkedList – Java中的LinkedList
- rem在响应式布局中的应用
- 2017年第十七届迪培思广州国际广告展会刊(参展商名录)
- 并发编程 - lost wakeup
- 【论文笔记】RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESIDUAL MLP FRAMEWORK
- 用文本编辑器编译cs文件
- 宽带显示不能建立到远程计算机,宽带连接错误820:不能建立到远程计算机的连接 正确处理办法...
- 剑指OFFER 03-11
- JSP-简单的练习省略显示长字符串