参考链接:http://bbs.pinggu.org/thread-3777396-1-1.html

smoothts函数

调用格式:

output = smoothts(input)

output = smoothts(input, ‘b’, wsize) % 盒子法

output = smoothts(input, ‘g’, wsize, stdev) % 高斯窗方法

output = smoothts(input, ‘e’, n) % 指数法

【例7.1-2】现有上海股市日开盘价、最高价、最低价、收盘价、收益率等数据,时间跨度为2005年1月4日至2007年4月3日,共510组数据。完整数据保存在文件examp7_1_2.xls中,其中部分数据如下图所示。试调用smoothts函数对日收盘价数据进行平滑处理

绘制日收盘价曲线图:

% 从文件examp7_1_2.xls中读取数据

>> x = xlsread('examp7_1_2.xls');

>> price = x(:,4)'; % 提取矩阵x的第4列数据,即收盘价数据

>> figure; % 新建一个图形窗口% 绘制日收盘价曲线图,黑色实线,线宽为2

>> plot(price,'k','LineWidth',2); % 为X轴和Y轴加标签

>> xlabel('观测序号');

>> ylabel('上海股市日收盘价');

盒子法:

% 用盒子法平滑数据,窗宽为30

>> output1 = smoothts(price,'b',30);

% 用盒子法平滑数据,窗宽为100

>> output2 = smoothts(price,'b',100);

>> figure; % 新建一个图形窗口

>> plot(price,'.'); % 绘制日收盘价散点图

>> hold on

% 绘制平滑后曲线图,黑色实线,线宽为2

>> plot(output1,'k','LineWidth',2);

% 绘制平滑后曲线图,黑色点划线,线宽为2

>> plot(output2,'k-.','LineWidth',2);

% 为X轴和Y轴加标签

>> xlabel('观测序号'); ylabel('Box method');

% 为图形加标注框

>> legend('原始散点','平滑曲线(窗宽30)','平滑曲线(窗宽100)','location','northwest');

用高斯窗方法平滑数据:

>> output3 = smoothts(price,'g',30); % 窗宽为30,标准差为默认值0.65

>> output4 = smoothts(price,'g',100,100); % 窗宽为100,标准差为100

>> figure; % 新建一个图形窗口

>> plot(price,'.'); % 绘制日收盘价散点图

>> hold on % 绘制平滑后曲线图,黑色实线,线宽为2

>> plot(output3,'k','LineWidth',2); % 绘制平滑后曲线图,黑色点划线,线宽为2

>> plot(output4,'k-.','LineWidth',2); % 为X轴和Y轴加标签>> xlabel('观测序号'); ylabel('Gaussian window method');

>> legend('原始散点','平滑曲线(窗宽30,标准差0.65)',... '平滑曲线(窗宽100,标准差100)','location','northwest');

用指数法平滑数据:

>> output5 = smoothts(price,'e',30); % 用指数法平滑数据,窗宽为30

>> output6 = smoothts(price,'e',100); % 用指数法平滑数据,窗宽为100 >> figure; % 新建一个图形窗口

>> plot(price,'.'); % 绘制日收盘价散点图

>> hold on % 绘制平滑后曲线图,黑色实线,线宽为2

>> plot(output5,'k','LineWidth',2); % 绘制平滑后曲线图,黑色点划线,线宽为2

>> plot(output6,'k-.','LineWidth',2); % 为X轴和Y轴加标签>> xlabel('观测序号'); ylabel('Exponential method');

>> legend('原始散点','平滑曲线(窗宽30)','平滑曲线(窗宽100)','location','northwest');

三、medfilt1函数(一维中值滤波)

调用格式:

y = medfilt1(x,n)

y = medfilt1(x,n,blksz)

y = medfilt1(x,n,blksz,dim)

【例7.1-3】产生一列正弦波信号,加入噪声信号,然后调用medfilt1函数对加入噪声的正弦波进行滤波(平滑处理)

% 产生一个从0到2*pi的向量,长度为500

>> t = linspace(0,2*pi,500)';

>> y = 100*sin(t); % 产生正弦波信号

% 产生500行1列的服从N(0,152)分布的随机数,作为噪声信号

>> noise = normrnd(0,15,500,1);

>> y = y + noise; % 将正弦波信号加入噪声信号

>> figure; % 新建一个图形窗口

>> plot(t,y); % 绘制加噪波形图

>> xlabel('t'); % 为X轴加标签

>> ylabel('y = sin(t) + 噪声'); % 为Y轴加标签

中值滤波:

% 调用medfilt1对加噪正弦波信号y进行中值滤波,并绘制波形图

>> yy = medfilt1(y,30); % 指定窗宽为30,对y进行中值滤波

>> figure; % 新建一个图形窗口>> plot(t,y,'k:'); % 绘制加噪波形图

>> hold on % 绘制平滑后曲线图,黑色实线,线宽为3

>> plot(t,yy,'k','LineWidth',3);

>> xlabel('t'); % 为X轴加标签

>> ylabel('中值滤波'); % 为Y轴加标签

>> legend('加噪波形','平滑后波形');

matlab 一维 平滑,MATLAB中数据平滑处理相关推荐

  1. 多通道时序数据读取matlab,科学网—卫星时序数据-平滑-插补-MATLAB - 李雷的博文...

    %程序用于平滑处理数据,以及将间隔时间数据插值成每天 clc clear %光学卫星获取的数据存在受云影响的情况,通过滤波的方式将极低或极高等不合理值进行处理(以MODIS中的LAI为例) [a,b] ...

  2. Matlab GUI界面表格中数据导出到excel文件带标题

    Matlab GUI界面表格中的数据导出到excel文件带标题 data=get(handles.uitable1,'Data'); ht={'日期','编号','姓名'}; [filename,pa ...

  3. 热传递 matlab,一维热传导MATLAB模拟.pdf

    昆 明 学 院 2015 届毕业设计(论文) 设计(论文)题目 一维热传导问题的数值解法及其 MATLAB 模拟 子课题题目 无 姓 名 伍有超 学 号 201117030225 所 属 系 物理科学 ...

  4. MATLAB中数据平滑处理

    参考链接:http://bbs.pinggu.org/thread-3777396-1-1.html smoothts函数 调用格式: output = smoothts(input) output ...

  5. 数据仓库实验一分箱与数据平滑

    数据仓库实验一 实验描述: window_size表示平滑处理的窗口大小是指深度或者宽度吗? window_size与宽度等价吗? (1)分箱方法 1.等深分箱: 2.等宽分箱: (2)数据平滑 1. ...

  6. matlab数据平滑 smooth函数的python实现

    数据平滑是数据处理中的一种简单且常用的操作,matlab中比较好用的一个函数是smooth函数, 其调用方式为 smoothed_y = smooth(y, window_length, method ...

  7. matlab离群值处理,数据平滑和离群值检测

    移动窗口方法 移动窗口方法是分批处理数据的方式,通常是为了从统计角度表示数据中的相邻点.移动平均值是一种常见的数据平滑技术,它沿着数据滑动窗口,同时计算每个窗口内点的均值.这可以帮助消除从一个数据点到 ...

  8. Matlab中矩阵编号方式以及一维二维三维数据间的相互转换

    Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 文章目录 Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 一.问题的提出 二.一维数据转为二维和三维 三.三维数据转为一维和二维 ...

  9. matlab进行数据平滑,matlab数据平滑程序Word版

    <matlab数据平滑程序Word版>由会员分享,可在线阅读,更多相关<matlab数据平滑程序Word版(9页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 , ...

  10. matlab锯齿交换,MATLAB折线消除锯齿平滑

    MATLAB学习实战:深入剖析Figure的属性 很多人使用MATLAB是因为它具有强大的图形绘制功能,相比于C++,绘制二维或三维图形MATLAB简单到不用怎么去学习这门语言,只需要把数据导入,再从 ...

最新文章

  1. cytoscape插件下载_cytoscape插件BinGO安装以及GO富集分析和网络可视化
  2. linux系统proc目录进程信息详解
  3. ecshop订单-》待付款,待发货,待收货,收货确认
  4. linux查看网卡速度
  5. Python语言程序设计之urllib.request抓取页面,网易公开课之《麻省理工学院公开课:算法导论》
  6. Java坦克大战 (一) 之产生一个窗口
  7. 用Ext 2.0 combobox 做的省份和城市联动选择框
  8. Java设计模式——迭代器模式
  9. 大型情感剧集Selenium:1_介绍 #华为云·寻找黑马程序员#
  10. 使用Libxml2解析xml[转]
  11. java二分查找范围区间_二分查找(Java实现)
  12. NetApp收购Data Domain 当上冤大头?
  13. 固态硬盘用软件测试掉速严重,分析固态硬盘掉速原因及解决方法
  14. 汉罗塔(河内塔)问题的数学模型
  15. 显卡内存一直被占用解决方式
  16. 汽车试验数据管理(TDM系统)的特点分析及解决方案
  17. 深入计算机组成原理(四)穿越功耗墙,我们该从哪些方面提升“性能”?
  18. Coursera Algorithm Ⅱ week4 编程作业 Boggle
  19. 蝴蝶影视服务器响应异常,elasticsearch的服务器响应异常及解决策略(转)
  20. [Math Algorithm] 拉格朗日乘数法

热门文章

  1. web前端开发面试题(五)
  2. Amaze UI 图标查询
  3. Java —— EJB 到底是什么
  4. STRUTS1框架简介
  5. Android 获取SN号
  6. 十年程序人生——转自黎活明
  7. Oracle 锁表查询大全
  8. 怎样正确安装Photoshop CS6破解版【图文教程】
  9. linux bonding技术,Linux主机bonding的配置-采用主备模式-服务器系统-开发文档
  10. python电话簿_python 联系簿