精华内容
下载资源
问答
  • 数据进行高斯混合拟合。 输入:数据、高斯数。 输出:均值、西格玛、权重、mAIC、rmse。 x 轴代表数据范围,而 y 轴代表密度。
  • 然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似 度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得个“中心对象”(引力中心)来 进行计算的。 ...
  • MATLAB制作三维数据图表,全,将x,y,z换成自己的数据,且一一对应。MATLAB[1] 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括...
  • matlab demo演示了三维数据的协方差分解及其与线性变换的关系
  • 根据计盒维数原理求一维曲线分形维数的matlab程序。下载fraclab工具箱,将其添加到matlab中使用。  MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算...
  • matlab步态分析系统代码帕金森氏病的原发性和继发性运动症状与DREAM挑战数据集的相关性 Parth Shah2,R.Sahiti Pudota1,Miad Faezipour1,Ph.D。,Jani Macari Pallis,Ph.D.1 布里奇波特大学,221大学大道,...
  • 对一组一维数据(实验结果)的稳定程度进行评价,以图示方式显示其分布情况。

    MATLAB一维数据分布情况(稳定程度)


    by HPC_ZY


    搞研究的小伙伴们,经常需要对实验结果进行分析,获取实验的稳定性等。这里提供一个小函数,能对一维数据(实验结果)进行分析,并以图示方式显示其分布情况和稳定性。


    一、具体实现

    主要通过均值方差统计分布实现,不多解释直接上代码。

    %   计算一维数据分布情况
    %
    %   输入:
    %       data - 一维数据
    %       barnum - (统计)分段数
    %       style - 坐标显示风格,0-数据值,1-五线值
    %   输出:
    %       meandata - 平均值
    %       vardata - 标准差
    %
    %   例:
    %       % 随机生成一组数据
    %       data = 32+(randn(50,1)-0.5)*5;
    %       %32段计算并显示分布情况
    %       [meandata,vardata] = datadistr(data,32,1);
    %
    %   注:对于基于统计的分布情况中的各显示参数,不要过于纠结,
    %   若真的很感兴趣,可以自己推导。
    %
    %   by HPC_ZY 20200623
    
    function [meandata,vardata] = datadistr(data,barnum,style)
    
    % 数量、均值、标准差
    data = data(:);
    num = length(data);
    meandata = mean(data);
    vardata = sum(sqrt((data-meandata).^2))/num;
    
    %% 直接在数据点上显示分布情况
    
    x = 1:num;
    y = data;
    
    % 显示
    figure
    subplot(211)
    plot(x,y,'r*'),hold on
    line([0,num+1],[1,1]*meandata,'LineStyle','-','Color',[1,1,1]*0)
    line([0,num+1],[1,1]*(meandata+vardata),'LineStyle','-.','Color',[1,1,1]*0.25)
    line([0,num+1],[1,1]*(meandata-vardata),'LineStyle','-.','Color',[1,1,1]*0.25)
    line([0,num+1],[1,1]*(meandata+3*vardata),'LineStyle','--','Color',[1,1,1]*0.5)
    line([0,num+1],[1,1]*(meandata-3*vardata),'LineStyle','--','Color',[1,1,1]*0.5)
    axis([0,num+1,meandata-4*vardata,meandata+4*vardata])
    legend('data','\mu','+\sigma','-\sigma','+3\sigma','-3\sigma')
    
    if style
        ytick = round((meandata+vardata*[-3,-1,0,1,3])*100)/100;
        yticks(ytick)
        yticklabels(num2cell(ytick))
    end
    
    %% 基于统计的分布情况
    
    % 分段统计数量
    mindata = min(data)-0.1;
    maxdata = max(data)+0.1;
    barwidth = (maxdata-mindata)/barnum;
    datalist = ceil((data-mindata)/barwidth);
    barList = zeros(barnum,1);
    for k = 1:num
        barList(datalist(k)) = barList(datalist(k))+1;
    end
    
    
    % 显示(不要纠结各显示参数)
    subplot(212)
    bar(barList),hold on
    
    if style
        xtick = round(((meandata+[-3,-1,0,1,3]*vardata-mindata)/barwidth+0.5)*100)/100;
        xticks(xtick)
        xticklabels(num2cell(xtick))
    else
        xticks(1:barnum)
        xticklabels(num2cell(round((mindata+barwidth*(0.5:barnum))*10)/10))
    end
    
    yticks(1:max(barList))
    yticklabels(num2cell(1:max(barList)))
    
    line([1,1]*((meandata-mindata)/barwidth+0.5),[0,max(barList)+1],...
        'LineStyle','-','Color',[1,1,1]*0)
    line([1,1]*((meandata+vardata-mindata)/barwidth+0.5),[0,max(barList)+1],...
        'LineStyle','-.','Color',[1,1,1]*0.25)
    line([1,1]*((meandata-vardata-mindata)/barwidth+0.5),[0,max(barList)+1],...
        'LineStyle','-.','Color',[1,1,1]*0.25)
    line([1,1]*((meandata+3*vardata-mindata)/barwidth+0.5),[0,max(barList)+1],...
        'LineStyle','--','Color',[1,1,1]*0.5)
    line([1,1]*((meandata-3*vardata-mindata)/barwidth+0.5),[0,max(barList)+1],...
        'LineStyle','--','Color',[1,1,1]*0.5)
    
    gaussx = ((meandata-3*vardata-mindata)/barwidth-0.5):0.1:((meandata+3*vardata-mindata)/barwidth+1);
    gaussy = max(barList+0.5)*exp(-(gaussx-((meandata-mindata)/barwidth+0.5)).^2/2/(vardata/barwidth)^2);
    plot(gaussx,gaussy,'r--')
    legend('data','\mu','+\sigma','-\sigma','+3\sigma','-3\sigma','NDC')
    axis([(meandata-4*vardata-mindata)/barwidth-0.5,...
        (meandata+4*vardata-mindata)/barwidth+0.5,0,max(barList+1)])
    
    end
    
    

    二、测试

    通过以下两个实例,大概演示不同参数的效果

    1. 32段+坐标值
    % 随机生成一组数据
    data = 20+(randn(50,1)-0.5)*5;
    %32段计算并显示分布情况
    [meandata,vardata] = datadistr(data,32,0);
    

    在这里插入图片描述

    1. 16段+五线值
    % 随机生成一组数据
    data = 8+(randn(50,1)-0.5)*2;
    %16段计算并显示分布情况
    [meandata,vardata] = datadistr(data,16,1);
    

    在这里插入图片描述

    三、其他

    欢迎复制拿走,如果觉得还行不妨留言点赞,爱了爱了

    展开全文
  • 一维方势阱束缚态能量本征值的MATLAB行列式分析及广义量子数概念.pdf
  • 这是如何使用 PCA 对 2D 数据集进行分类的演示。 这是 PCA 的最简单形式,但您可以轻松地将其扩展到更高的维度,并且您可以使用 PCA 进行图像分类 ...注意:MATLAB个内置的 PCA 函数。 此文件显示 PCA 的工作原理
  • 小公式对多维数据作归一化处理。很简便的归一化代码,一秒就看懂!
  • 包含两个代码FSSA.m->,用于一维时间序列数据的频域奇异频谱分析: 单一频谱分析(SSA)是一种有效的工具,可用于分解非线性信号以识别物理解释的主要过程和周期性(Golyandina和Zhigljavsky,2013; Tiwari和Rajesh...
  • MATLAB画图函数使用总结

    千次阅读 2019-08-01 17:44:55
    在学习和工作中可借助MATLAB中的绘图函数方便的将数据处理成想要的二或三图形,从而可以更加直观地对数据进行分析。本篇主要总结二绘图函数的使用方法。 二绘图函数总结: 代码实现: 【注】:每个函数...

    简介:
    在学习和工作中可借助MATLAB中的绘图函数方便的将数据处理成想要的二维或三维图形,从而可以更加直观地对数据进行分析。本篇主要总结二维绘图函数的使用方法。三维可参看:三维绘图函数总结
    二维绘图函数总结:
    在这里插入图片描述
    代码实现:
    【注】:每个函数都提供了至少一个使用实例。使用时注意将代码前面的注释符号%去掉。

    clear all; clc;
    %--------------------------
    % x = 0 : pi / 100 : 2 * pi;
    % y = sin(x);
    % plot(x, y);
    
    %--------------------------
    % t = -pi : pi / 100; pi;
    % x = t .* cos(3 * t);
    % y = t .* sin(t) .* sin(t);
    % plot(x, y);
    
    %--------------------------
    % x = linspace(0, 2 * pi, 100);
    % y = [sin(x); cos(x)];
    % plot(x, y);
    
    %--------------------------
    % t = linspace(0, 2 * pi, 100);
    % x = [t; t]';
    % y = [sin(t); cos(t)]';
    % plot(x, y);
    
    %---------------------------
    % x = 0 : pi / 100 : 2 * pi;
    % y = exp(j * x);
    % plot(y);
    
    %---------------------------
    % t = 0 : pi / 100 : 2 * pi;
    % x = exp(j * t);
    % y = [x; 2 * x; 3 * x]';
    % plot(y);
    
    %---------------------------
    % x = linspace(0, 2 * pi, 100);
    % plot(x, sin(x), ':', x, 2 * sin(x), '--', x, 3 * sin(x), '-.', x, 4 * sin(x));
    % legend('sin(x)', '2sin(x)', '3sin(x)', '4sin(x)');
    
    %-----------------------------
    % x = 0 : pi / 100 : 2 * pi;
    % y1 = 2 * exp(-0.5 * x);
    % y2 = -2 * exp(-0.5 * x);
    % y3 = 2 * exp(-0.5 * x) .* sin(2 * pi * x);
    % plot(x, y1, '--', x, y2, '--', x, y3);
    % % axis off;
    
    %--------------------------------------------
    % x1 = 0 : pi / 100 : 3 * pi;
    % x2 = 0 : pi / 100 : 3 * pi;
    % y1 = exp(-0.5 * x1) .* sin( 2 * pi * x1);
    % y2 = 1.5 * exp(-0.1 * x2) .* sin(x2);
    % plotyy(x1, y1, x2, y2);
    
    %-------------------------------------------
    % x = linspace(0, 10, 100);
    % y = [];
    % for x0 = x
    %     if x0 < 4
    %         y = [y, sqrt(x0)];
    %     elseif x0 < 6
    %         y = [y, 2];
    %     elseif x0 < 8
    %         y = [y, 5 - x0 / 2];
    %     elseif x0 >= 8
    %         y = [y, 1];
    %     end
    % end
    % plot(x, y);
    % axis([0, 10, 0, 2.5]);
    % title('分段函数');
    % xlabel('x'); ylabel('y');
    % text(2, 1.3, 'y = x^{1/2}');
    % text(4.5, 2.1, 'y = 2');
    % text(7, 1.6, 'y = 5 - x / 2');
    % text(8.5, 1.1, 'y = 1');
    
    %--------------------------------
    % x = 0 : pi / 100 : 2 * pi;
    % y1 = sin(x);
    % y2 = cos(x);
    % subplot(1, 2, 1); plot(x, y1);
    % title('sin(x)'); axis([0, 2 * pi, -1, 1]);
    % 
    % subplot(1, 2, 2); plot(x, y2);
    % title('cos(x)'); axis([0, 2 * pi, -1, 1]);
    
    %--------------------------------------------
    % x = 0 : 0.35 : 7;
    % y = exp(-0.5 * x);
    % subplot(2, 2, 1); bar(x, y);
    % subplot(2, 2, 2); stairs(x, y);
    % subplot(2, 2, 3); stem(x, y);
    % subplot(2, 2, 4); fill(x, y, 'b');
    
    %--------------------------------------------
    % theta = 0 : pi / 100 : 2 * pi;
    % rho = theta;
    % polar(theta, rho);
    
    %-------------------------------------------
    % x = 0 : 0.01 : 10;
    % y = 10 * x .* x; % y = 10 * x^2
    % subplot(2, 2, 1); plot(x, y);
    % subplot(2, 2, 2); semilogx(x, y);
    % subplot(2, 2, 3); semilogy(x, y);
    % subplot(2, 2, 4); loglog(x, y);
    
    %--------------------------------------------------------------
    % subplot(2, 2, 1); fplot(@(x)sin(x), [0, 2 * pi]);
    % subplot(2, 2, 2); fplot(@(x)[sin(x), cos(x)], [0, 2 * pi]);
    % %图3, 4对比可知,图3显示的细节更多
    % subplot(2, 2, 3); fplot(@(x)cos(tan(pi * x)), [-0.4, 1.4]);
    % x = -0.4 : 0.01 : 1.4;
    % subplot(2, 2, 4); plot(x, cos(tan(pi * x)));
    %--------------------------------------------------------------
    subplot(1, 2, 1); pie([0.1, 0.2, 0.3, 0.2, 0.15, 0.05]);
    subplot(1, 2, 2); compass([1 + j, -2 + 3i, -2-3j, 2-3j]);
    
    
    展开全文
  • 自己写的个PCA主成分分析,使用三的形式进行演示的,非常好用哦。
  • matlab一维连续小波变换程序

    热门讨论 2013-10-27 21:07:15
    一维连续小波变换的matlab程序。对所给离散信号进行一维连续小波变换,结果以位移-时间图显示
  • 1、从数据集{X} 中任意选取k个赋给初始的聚类中心c1, c2, …, ck; 2、对数据集中的每个样本点xi,计算其与各个聚类中心cj的欧氏距离并获取其类别标号: 3、按下式重新计算k个聚类中心; 4、重复步骤2和...
     

     K_means算法的具体过程

    1、从数据集{X} 中任意选取k个赋给初始的聚类中心c1, c2, …, ck;

    2、对数据集中的每个样本点xi,计算其与各个聚类中心cj的欧氏距离并获取其类别标号:

    3、按下式重新计算k个聚类中心;

     

    4、重复步骤2和步骤3,直到达到最大迭代次数、聚类目标函数达到最优值或者两次迭代得到的目标函数变化小于给定的较小值为止

    将令k=5聚类的结果如下

     

     

    %行5000,列22的数据以矩阵形式保存
    M=dlmread('waveform.txt',',');
    [m,n]=size(M);
    %随机的选取矩阵中的k个元素作为聚类中心
    k=5;
    c=zeros(1,k);
    for i=1:k
      c(1,i)=M(round(rand()*5000)+1,round(rand()*22)+1);
    end 
    %获取每个样本到聚类中心的距离
    label_u=zeros(m,n);
    maxgn=60;
    label=zeros(m,n);
    mindis=20;
    iter=1;
    while(iter<maxgn)
        for i=1:m
          for j=1:n
              for t=1:k
                  dis=(M(i,j)-c(1,t))^2;
                  if(dis<mindis || label(i,j)==0)
                      label(i,j)=t;
                      mindis=dis;
                      label_u(i,j)=t;
                  end 
              end 
          end
        end
       
       for t=1:k
           sum=0;
           new_u=0;
           for i=1:m
             for j=1:n
                if(label_u(i,j)==t)
                   sum=sum+1;
                   new_u=new_u+M(i,j);
                end
            end
           end
               c(1,t)=new_u/(sum+eps);
             
       end
       iter=iter+1;
    end
       for i=1:m
           for j=1:n
               if(label_u(i,j)==1)
                   plot(M(i,j),1,'r+')
                  hold on;
               else
                   if(label_u(i,j)==2)
                   plot(M(i,j),1,'b*')
                   hold on;
                  
                 else
                     if(label_u(i,j)==3)
                      plot(M(i,j),1,'g*')
                      hold on;
                     else
                      if(label_u(i,j)==4)
                      plot(M(i,j),1,'y*')
                      hold on;
                     else
                      if(label_u(i,j)==5)
                      plot(M(i,j),1,'k*')
                      hold on;
                      end   
                     end    
                     end
                   end
               end
           end
       end
       
              
              
              
    
     
    View Code

     

    转载于:https://www.cnblogs.com/6530265oule/p/8551550.html

    展开全文
  • MATLAB一维插值算法

    千次阅读 2020-11-13 10:52:54
    MATLAB 提供了 interp1(x,y,xq,'Method')函数命令可以进行一维插值,其中一维插值有四种常用的方法,也就是 ‘Method’ 可以选择邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip。...

    MATLAB 提供了 interp1(x,y,xq,'Method')函数命令可以进行一维插值,其中一维插值有四种常用的方法,也就是 ‘Method’ 可以选择邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip


    插值效果

    邻近点插值(Nearest)

    邻近点插值

    线性插值(Linear)

    线性插值
    线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法。

    三次样条插值(Spline)

    三次样条插值

    三次样条插值(Cubic Spline Interpolation)简称Spline插值,是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。

    实际计算时还需要引入边界条件才能完成计算。一般的计算方法书上都没有说明非扭结边界的定义,但数值计算软件如Matlab都把非扭结边界条件作为默认的边界条件。

    早期工程师制图时,把富有弹性的细长木条(所谓样条)用压铁固定在样点上,在其他地方让它自由弯曲,然后沿木条画下曲线。成为样条曲线。

    立方插值(Pchip)

    立方插值

    实验代码

    下面对MATLAB这四种一维插值(interp1)的方法进行比较。

    close all; clear all; clc
    
    x=0:0.5:2*pi;   % 插值前的矩阵规模
    y=sin(x);
    
    
    %-1-邻近点插值--Nearest interpolation---%
    figure('Position',[50,50,500,400],'Name','Nearest');
    x1=0:0.1:2*pi;    % 插值后的矩阵规模
    y1=interp1(x,y,x1,'Nearest');
    plot(x,y,'.','color','r','MarkerSize',20);  hold on;
    plot(x1,y1,'.','color','b','MarkerSize',10);    hold off;
    xlabel('x','fontsize',20);
    ylabel('y','fontsize',20);
    
    
    %-2-线性插值--Linear interpolation---%
    figure('Position',[100,100,500,400],'Name','Linear');
    x2=0:0.1:2*pi;
    y2=interp1(x,y,x1,'Linear');
    plot(x,y,'.','color','r','MarkerSize',20);  hold on;
    plot(x2,y2,'.','color','b','MarkerSize',10);    hold off;
    xlabel('x','fontsize',20);
    ylabel('y','fontsize',20);
    
    
    %-3-三次样条插值--Spline interpolation---%
    figure('Position',[150,150,500,400],'Name','Spline');
    x3=0:0.1:2*pi;
    y3=interp1(x,y,x1,'Spline');
    plot(x,y,'.','color','r','MarkerSize',20);  hold on;
    plot(x3,y3,'.','color','b','MarkerSize',10);    hold off;
    xlabel('x','fontsize',20);
    ylabel('y','fontsize',20);
    
    
    %-4-立方插值--Pchip interpolation---%
    figure('Position',[200,200,500,400],'Name','Pchip');
    x4=0:0.1:2*pi;
    y4=interp1(x,y,x1,'Pchip');
    plot(x,y,'.','color','r','MarkerSize',20);  hold on;
    plot(x4,y4,'.','color','b','MarkerSize',10);    hold off;
    xlabel('x','fontsize',20);
    ylabel('y','fontsize',20);
    

    参考:百度经验:MATLAB一维插值(interp1)四种方法的比较

    展开全文
  • 一维光子晶体禁带结构的MATLAB分析计算.pdf
  • MIDAS 2010 是在加拿大光源中开发的软件包,用于时间分辨红外... 特征: - 计算和绘制同步和异步二维光谱以及一维切片- 设计和应用过滤器 有关更多信息和使用指南,请参阅用户手册。 该软件包由 Elise Normand 开发。
  • 一维波包运动的MATLAB分析计算.pdf
  • 可进行大量数据的颜色图仿真分析,画个网络节点连接关系色彩图代码
  • 本程序主要实现了二维傅里叶变换,其中先对图像矩阵进行预处理(即图像中心化),然后进行行傅里叶变换,再对其进行列变换,进行行列变换是调用自己写的一维傅里叶变换函数ImFFT实现的。程序输入为图像矩阵A,输出为...
  • 一维(时间序列)信号的多重分形奇异性分析的数值方法 描述 代码源文件将使您能够重现关于多重分形奇异性分析的实验,该实验在估计采样数据奇异性谱的数值方法中进行了详细说明:下面引用了一项比较研究(引用此源...
  • 一维多势垒结构准束缚态的MATLAB分析计算.pdf
  • 数值分析Matlab绘制三维数据曲面图

    千次阅读 2017-12-14 09:57:22
    个细节是matlab中的 ./ 如果是单数,是一般的数学除法,如果是多维矩阵,则是多维矩阵对应元素的除法。matlab代码:xi=-20:0.3:20; yi=-10:0.3:10; [x,y]=meshgrid(xi,yi); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y....
  • 灰度图象的统计分析及DCT变换处理 ,采集幅像素大于64*64黑白图像;常规的数学统计数据处理:计算图象各象素点灰度值得均值、标准差、方差,并绘出灰度直方图;采用DCT(离散余弦变化)对图像进行分析
  • matlab开发-4维数据的多变量图像分析指南。二维和三维图像序列的多变量图像分析
  • Matlab一维小波分解流程

    千次阅读 2019-07-30 18:25:14
    Matlab一维小波分解流程Matlab一维小波分解流程1.将待分解变量x放入工作空间。2.在命令窗口输入wavemenu。3.在弹出的对话框里选择One-Dimensional->Wavelet-1-D。4.在弹出的对话框里选择File->Import from ...
  • Matlab绘图(三)散点图—四维数据、五维数据、六维数据、七维数据可视化分析一、前言二、散点图特征分析三、六维数据可视化示例散点图 、前言 这将是个有趣的帖子,上次我写到了关于变色散点图的二维、三维绘制...
  • 如何利用MATLAB数据统计分析

    千次阅读 多人点赞 2020-04-15 18:53:02
    本文是科学计算与MATLAB语言的专题6的第1小节总结笔记,并结合了自己一点的理解,看完本文,可以轻松借助MATLAB数据进行分析,如求矩阵或向量的最大元素、最小元素、平均值、中值等等。 1 求最大元素与最小元素 ...
  • Matlab求解一维半边无限高方势阱.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,817
精华内容 8,326
关键字:

matlab一维数据分析

matlab 订阅