精华内容
下载资源
问答
  • Matlab数据平滑处理

    2015-04-20 04:49:39
    Matlab数据平滑处理主要用于对于MATLAB所描述的函数进行平滑处理
  • MATLAB平滑处理数据
  • MATLAB数据平滑处理

    万次阅读 多人点赞 2017-05-05 14:31:40
    试调用smoothts函数对日收盘价数据进行平滑处理 绘制日收盘价曲线图: % 从文件examp7_1_2.xls中读取数据 >> x = xlsread('examp7_1_2.xls'); >> price = x(:,4)'; % 提取矩阵x的第4列数据...

    参考链接: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('上海股市日收盘价');

    1.jpg

    盒子法:

    % 用盒子法平滑数据,窗宽为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');

    2.jpg

    用高斯窗方法平滑数据:

    >> 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');

    3.jpg

    用指数法平滑数据:

    >> 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');

    4.jpg

    三、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轴加标签

    5.jpg

    中值滤波:

    % 调用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('加噪波形','平滑后波形');

    6.jpg

    展开全文
  • matlab数据平滑处理

    千次阅读 2018-04-18 23:15:00
    1、smooth函数平滑处理 (1)yy=smooth(y) 利用移动平均滤波器对列向量y进行平滑处理,返回与y等长的列向量yy。移动平均滤波器的默认窗宽为5,yy中元素的计算方法如下: yy(1)=y(1) yy(2)=(y(1)+y(2...

    http://www.twoeggz.com/news/172341.html

    关于几种平滑滤波及其举例:

    1、 smooth函数平滑处理

    (1)yy=smooth(y)

    利用移动平均滤波器对列向量y进行平滑处理,返回与y等长的列向量yy。移动平均滤波器的默认窗宽为5,yy中元素的计算方法如下:

    yy(1)=y(1)

    yy(2)=(y(1)+y(2)+y(3))/3

    yy(3)=(y(1)+y(2)+y(3)+y(4)+y(5))/5

    yy(4)=(y(2)+y(3)+y(4)+y(5)+y(6))/5

    ......

    (2) yy=smooth(y,span)

    用span参数指定移动平均滤波器的窗宽,函数内部会强制将span变为奇数。

    (3)yy=smooth(y,method)

    method参数指定平滑数据的方法,method是字符串变量,可用的字符串如下表:

    method参数值 说明

    moving 移动平均法(默认情况)

    lowess 局部回归(加权线性最小二乘和一个一阶多项式模型)

    loess 局部回归(加权线性最小二乘和一个二阶多项式模型)

    sgolay Sacitzky-Golay滤波,一种广义移动平均滤波法

    rlowess lowess方法的稳健形式

    rloess loess方法的稳健形式

    (4)yy=smooth(y,span,method)

    method指定平滑方法,span指定窗宽。

    2、 smoothts函数平滑处理

    output=smoothts(input)

    output=smoothts(input,‘b’,wsize)

    output=smoothts(input,‘g’,wsize,stdev)

    output=smoothts(input,‘e’,n)

    输入参数input是输入数据,‘b’,‘g’,‘e’表示不同的数据平滑方法,‘b’表示盒子法(默认情况),'g'表示高斯窗方法,‘e’表示指数法。wsize指定各种数据平滑方法的窗宽,默认窗宽为5。stdev用来指定高斯方法的标准差,默认为0.65.

    3、 medfilt1函数平滑处理

    (1)y=medfilt1(x,n);

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

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

     

    转载于:https://www.cnblogs.com/rjjhyj/p/8878357.html

    展开全文
  • matlab数据平滑程序Word版》由会员分享,可在线阅读,更多相关《matlab数据平滑程序Word版(9页珍藏版)》请在人人文库网上搜索。1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!Matlab 数据平滑程序一、...

    《matlab数据平滑程序Word版》由会员分享,可在线阅读,更多相关《matlab数据平滑程序Word版(9页珍藏版)》请在人人文库网上搜索。

    1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!Matlab 数据平滑程序一、matlab自带平滑函数clear,clctic,t=linspace(0,2*pi,500);%产生一个从0到2*pi的向量,长度500y=100*sin(t);%产生正弦波信号%产生500行1列的服从N(0,15*15)分布的随机数,作为噪声信号noise=normrnd(0,15,500,1);y=y+noise;%将噪声信号加入正弦波信号figure;%新建一个图形窗口plot(t,y);%绘制加噪波形图xlabel(t);%为X轴加标签ylabel(y=sin(t)+噪声);%为Y轴加标签 yy1=s。

    2、mooth(y,50);%利用移动平均法对y做平滑处理figure;%新建一个图形窗口plot(t,y,k:);%绘制加噪波形图hold on;plot(t,yy1,k,linewidth,3);%绘制平滑后波形图传播优秀Word版文档 ,希望对您有帮助,可双击去除!xlabel(t);ylabel(moving);legend(加噪波形,平滑后波形);yy2=smooth(y,50,lowess);%利用lowess方法y做平滑处理figure;plot(t,y,k);plot(t,y,k:);hold on;plot(t,yy2,k,linewidth,3);xlabel(t);ylabe。

    3、l(lowess方法平滑后得到的值);legend(加噪波形,平滑后波形);yy3=smooth(y,50,rlowess);%利用rlowess方法y做平滑处理figure;plot(t,y,k:);hold on;plot(t,yy3,k,linewidth,3);xlabel(t);传播优秀Word版文档 ,希望对您有帮助,可双击去除!ylabel(rlowess);legend(加噪波形,平滑后波形);yy4=smooth(y,50,loess);%利用loess方法y做平滑处理figure;plot(t,y,k:);hold on;plot(t,yy4,k,linewidth,3);。

    4、xlabel(t);ylabel(loess);legend(加噪波形,平滑后波形);yy5=smooth(y,50,sgolay,3);%利用sgolay方法y做平滑处理figure;plot(t,y,k:);hold on;plot(t,yy5,k,linewidth,3);xlabel(t);传播优秀Word版文档 ,希望对您有帮助,可双击去除!ylabel(sgolay);legend(加噪波形,平滑后波形);toc他们依次平滑后生成的曲线传播优秀Word版文档 ,希望对您有帮助,可双击去除!传播优秀Word版文档 ,希望对您有帮助,可双击去除!传播优秀Word版文档 ,希望对您有帮助。

    5、,可双击去除!二、七点平滑法的matlab数据平滑clear,clctic,t=linspace(0,2*pi,500);y=100*sin(t);noise=normrnd(0,15,500,1);y=y+noise;figure;plot(t,y,k:);传播优秀Word版文档 ,希望对您有帮助,可双击去除!hold on;for j=0:10000y1(1)=(39.0*y(1)+8.0*y(2)-4.0*y(3)-4.0*y(4)+1.0*y(5)+4*y(6)-2*y(7)/42.0;y1(2)=(8.0*y(2)+19.0*y(3)+16.0*y(4)+6.0*y(5)+4.0*y。

    6、(6)-7*y(7)+4*y(8)/42.0;y1(3)=(-4.0*y(3)+16.0*y(4)+19.0*y(5)+12.0*y(6)+2.0*y(7)-4*y(8)+1*y(9)/42.0;for i=4:497y1(i)=(-2*(y(i-3)+y(i+3)+3.0*(y(i-2)+1*y(i+2)+6.0*(y(i-1)+1*y(i+1)+7*y(i)/21.0;endy1(498)=(-4.0*y(498)+16.0*y(497)+19.0*y(496)+12.0*y(495)+2.0*y(494)-4*y(493)+1*y(492)/42.0;y1(499)=(8.0*y(499)+19.0*y(498)+16.0*y(497)+6.0*y(496)+4.0*y(495)-7*y(494)+4*y(493)/42.0;y1(500)=(39.0*y(500)+8.0*y(499)-4.0*y(498)-4.0*y(497)+1.0*y(496)+4*y(495)-2*y(494)/42.0;y=y1;endplot(t,y1,k,linewidth,3);title(七点迭代平滑法图片)xlabel(t)ylabel(平滑后计数)传播优秀Word版文档 ,希望对您有帮助,可双击去除!gridtoc。

    展开全文
  • 基于MatLab不同平滑处理对边缘检测效果的影响.pdf
  • 本博客适用于数字高程模型的平滑处理,对于其他数据平滑处理仅做参考 平滑处理公式采用Daly1984 Daly C1994_A statistical topographic model for mapping climatological precipitation over mountainous terrain...

    本博客适用于数字高程模型的平滑处理,对于其他数据的平滑处理仅作参考
    平滑处理公式采用Daly1984
    Daly C1994_A statistical topographic model for mapping climatological precipitation over mountainous terrain.
    ele(m,n) = 0.5ele(m,n)+0.125(ele(m-1,n)+ele(m+1,n)+ele(m,n-1)+ele(m,n+1))
    即中心点的高程由自身和上下左右四个点的高程加权平均得到
    (这里就涉及边界位置处的点如何处理的问题,我的做法是给栅格额外再加一圈0值,根据0的个数改变权重,实现边界位置点的高程平滑)

    MATLAB代码如下:

    %% 此代码是用于平滑处理DEM数据
    %计算公式(Daly,1984) 
    %ele(m,n) = 0.5ele(m,n)+0.125(ele(m-1,n)+ele(m+1,n)+ele(m,n-1)+ele(m,n+1))
    %为了方便处理边界位置处的点,给栅格矩阵额外加一圈
    clc
    clear
    
    %% 读取数据
    [DEM,GeoRef] = geotiffread('Resample.tif');   %GeoRef存储tif文件的地理空间信息
    [x,y] = size(DEM);                            %存储tif文件的栅格大小
    lat = GeoRef.LatitudeLimits;                  %存储tif文件的维度范围
    lon = GeoRef.LongitudeLimits;                 %存储tif文件的经度范围
    DEM(DEM==-32768) = 0;                         %将背景值换成0,之后统一处理
    
    %% 给DEM矩阵再加外围一圈,方便之后边界位置的处理
    DEM = [zeros(x,1),DEM];    %最左侧加一列
    DEM = [DEM,zeros(x,1)];    %最右侧加一列
    DEM = [zeros(1,y+2);DEM];  %最上侧加一行
    DEM = [DEM;zeros(1,y+2)];  %最下侧加一行
    DEM_origine = DEM;         %存储此时的矩阵,方便检查,看有没有出错
    
    %% 平滑处理
    for t = 1:40               %平滑处理的重复次数,最多40次
        for i = 2:x+1
            for j = 2:y+1
                if DEM(i,j) == 0                 %0意味着背景值或者最外围一圈,跳过
                    continue
                else           
                    a = sum([DEM(i-1,j),DEM(i+1,j),DEM(i,j-1),DEM(i,j+1)]==0);   %计算目标栅格周围为0的栅格数
                    %计算中心点的高程,4/(4-a)会根据周围0的个数而变化,从而改变权重,默认不出现周围全是0的情况,a在0-3之间
                    DEM(i,j) = 0.5*DEM(i,j)+0.125*4/(4-a)*(DEM(i-1,j)+DEM(i+1,j)+DEM(i,j-1)+DEM(i,j+1));
                end
            end
        end
        if t == 8||t == 16||t == 24||t == 32||t == 40     %重复平滑处理8、16等次数后输出图像
            DEM_out = DEM;
            DEM_out(:,16) = [];
            DEM_out(:,1) = [];
            DEM_out(15,:) = [];
            DEM_out(1,:) = [];                   %删掉外围一圈
            DEM_out(DEM_out==0) = -32768;        %将0值变回之前的默认背景值
            R = georasterref('RasterSize', size(DEM_out),'Latlim', [double(min(lat))...
                double(max(lat))], 'Lonlim', [double(min(lon)) double(max(lon))]); %记录空间坐标信息
            R.ColumnsStartFrom = 'north';
            geotiffwrite(['F:\Data of China Flash Flood\DEM_smoothing_test\Resample_tif\smoothed',num2str(t),'times','.tif'],DEM_out,R);     %保存绘制的地理栅格图像
        end
    end
    disp('finish!')
    

    以上代码的参考文献有:
    MATLAB nc文件转tif (可视化范例)
    Matlab:Save as GeoTiff Format

    效果如下:
    在这里插入图片描述

    展开全文
  • MATLAB实现平滑处理

    千次阅读 2020-10-16 20:23:33
    一、五点三次平滑法 1.函数调用: 2.范例: clear all; clc; close all; xx=load('xnoisedata1.txt'); % 读入数据 time=xx(:,1);... % 调用mean5_3函数,平滑数据 % 作图 subplot 211; plot(time,x,'k');
  • matlab 信号平滑处理方法

    万次阅读 2016-02-24 00:56:46
    smooth函数、imfilter滤波、直接用conv2,最简单的低通比如1/9*ones(3) ...%-----------------------------------------------------------------------...% 调用smooth函数进行加噪数据平滑处理 %----------
  • 试调用smoothts函数对日收盘价数据进行平滑处理 绘制日收盘价曲线图: % 从文件examp7_1_2.xls中读取数据 >> x = xlsread('examp7_1_2.xls'); >> price = x(:,4)'; % 提取矩阵x的第4列数据,即收盘价数据 >> figure;...
  • Matlab数据分析练习-平滑处理

    千次阅读 2017-12-08 20:19:09
    t = linspace(0,2*pi,500); %产生一个0到2pi的向量,长度为500 y = 100*sin(t); noise = normrnd(0,15,1,500); %产生随机数,符合正态分布 ...legend('原始信号','平滑后的信号'); title('moving');
  • 试调用smoothts函数对日收盘价数据进行平滑处理 绘制日收盘价曲线图:% 从文件examp7_1_2.xls中读取数据 >> x = xlsread('examp7_1_2.xls'); >> price = x(:,4)'; % 提取矩阵x的第4列数据,即收盘价数据 >> figure; ...
  • matlab平滑处理做了详细的介绍 yy1=smooth(y,30); %利用移动平均法对y做平滑处理 >> figure; %新建一个图形窗口 >> plot(t,y,'k:'); %绘制加噪波形图 >> hold on; >> plot(t,yy1,'k','...
  • Matlab平滑处理记录

    2020-10-14 15:52:16
    数据与软件处理后的数据相差并不大(如图所示),需要放大许多倍才能看出差别,对于结果呈现并不明显且影响不大,因此只在此说明,后面不再进行原数据与软件数据的比较。 原图 放大图 移动平均平滑 代码 ...
  • 移动平均值是一种常见的数据平滑技术,它沿着数据滑动窗口,同时计算每个窗口内点的均值。这可以帮助消除从一个数据点到下一个数据点的非显著变化。例如,假设每分钟测量一次风速,持续约 3 小时。使用 movmean 函数...
  • 数据平滑处理的例子

    2013-03-21 15:42:20
    数据进行平滑处理的典型例子 对数据进行平滑处理的典型例子 对数据进行平滑处理的典型例子
  • 基于MATLAB的振动信号平滑处理方法.pdf
  • Matlab's smooth function, by default, smooths data using a 5-point moving average. What would be the best way to do the same in python?For example, if this is my data00.8235294117647060.85294117647058...
  • Matlab分段平滑

    2013-08-19 23:40:53
    Matlab分段平滑,用MATLAB实现频域平滑滤波以及图像去噪代码6. 计算频率域图像的幅值并进行对数变换,利用’imshow’ 显示频率域图 像; 7. 在频率图像上去除滤波半径以外的数据(置0); 8. 计算频率域图像的幅值并...
  • 时间序列数据进行平滑处理效果预览: Excel原数据部分预览: 1. 读取金融时间序列数据,绘制波形图 x = xlsread('examp03_02.xls'); % 从文件examp03_02.xls中读取数据 price = x(:,4)'; % 提取矩阵x的第4列数据,...
  • 利用移动平均法对加噪信号进行平滑处理,绘制平滑波形图3. 利用lowess方法对加噪信号进行平滑处理,绘制平滑波形图4. 利用rlowess方法对加噪信号进行平滑处理,绘制平滑波形图5. 利用loess方法对加噪信号进行平滑...
  • 1、什么是平滑处理?  首先明白几个名词:  (1)噪声:图像噪声是指存在于图像数据中的不必要的或多余的干扰信息。 1.高斯噪声:高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。常见的高斯...
  • 基于MATLAB线性平滑滤波器的设计.pdf
  • MATLAB在工程测试信号平滑处理中的应用.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,139
精华内容 2,455
关键字:

matlab数据平滑处理

matlab 订阅