精华内容
下载资源
问答
  • 图像中的星点进行二维高斯拟合,并输出结果和对比图像
  • “nlinfit”的主要问题是它只能处理一数组 (x, y) 的拟合,其中 x 是自变量,y 是从属变量。 程序 fit2 使用另一个程序“fitfit”,其中可以定义用户拟合函数。 这个用户定义的函数在 fitfit 的第 6 行中定义为 ...
  • 需要求多个峰值的二维矩阵如下: figure(); % 总功率谱绘图 surf(MatrixA); 绘图结果: 然后求取峰值位置(需要安装图像处理工具箱): PeaksMap = imregionalmax(MatrixA); 其得到的结果如下,可以看到是峰值的...
  • Matlab 的曲面拟合(还)不包括相当标准的定义曲面。 目前的贡献是表面拟合的简单实现,以解决将 2D 高斯拟合图像中观察对象的问题。 保持图像尺寸小,以免使拟合程序窒息。 Gauss2DRotFit 需要 2D 高斯的 2D ...
  • matlab读取txt一系列离散点,然后利用scatter3,mesh拟合出三模型
  • x=[1,1; 2,1; 3,1; 4,1; 5,1; 6,1; 7,1; 8,1; 9,1; 10,1; 11,1; 12,1; 13,1; 14,1; 15,1; 16,1; ...

    x=[1,1;        2,1;        3,1;        4,1;        5,1;        6,1;        7,1;        8,1;        9,1;        10,1;        11,1;        12,1;        13,1;        14,1;        15,1;        16,1;        17,1;        18,1;        19,1;        20,1;

    1,2;        2,2;        3,2;        4,2;        5,2;        6,2;        7,2;        8,2;        9,2;        10,2;        11,2;        12,2;        13,2;        14,2;        15,2;        16,2;        17,2;        18,2;        19,2;        20,2;

    1,3;        2,3;        3,3;        4,3;        5,3;        6,3;        7,3;        8,3;        9,3;        10,3;        11,3;        12,3;        13,3;        14,3;        15,3;        16,3;        17,3;        18,3;        19,3;        20,3;

    1,4;        2,4;        3,4;        4,4;        5,4;        6,4;        7,4;        8,4;        9,4;        10,4;        11,4;        12,4;        13,4;        14,4;        15,4;        16,4;        17,4;        18,4;        19,4;        20,4;

    1,5;        2,5;        3,5;        4,5;        5,5;        6,5;        7,5;        8,5;        9,5;        10,5;        11,5;        12,5;        13,5;        14,5;        15,5;        16,5;        17,5;        18,5;        19,5;        20,5;

    1,6;        2,6;        3,6;        4,6;        5,6;        6,6;        7,6;        8,6;        9,6;        10,6;        11,6;        12,6;        13,6;        14,6;        15,6;        16,6;        17,6;        18,6;        19,6;        20,6;

    1,7;        2,7;        3,7;        4,7;        5,7;        6,7;        7,7;        8,7;        9,7;        10,7;        11,7;        12,7;        13,7;        14,7;        15,7;        16,7;        17,7;        18,7;        19,7;        20,7;

    1,8;        2,8;        3,8;        4,8;        5,8;        6,8;        7,8;        8,8;        9,8;        10,8;        11,8;        12,8;        13,8;        14,8;        15,8;        16,8;        17,8;        18,8;        19,8;        20,8;

    1,9;        2,9;        3,9;        4,9;        5,9;        6,9;        7,9;        8,9;        9,9;        10,9;        11,9;        12,9;        13,9;        14,9;        15,9;        16,9;        17,9;        18,9;        19,9;        20,9;

    1,10;        2,10;        3,10;        4,10;        5,10;        6,10;        7,10;        8,10;        9,10;        10,10;        11,10;        12,10;        13,10;        14,10;        15,10;        16,10;        17,10;        18,10;        19,10;        20,10;

    1,11;        2,11;        3,11;        4,11;        5,11;        6,11;        7,11;        8,11;        9,11;        10,11;        11,11;        12,11;        13,11;        14,11;        15,11;        16,11;        17,11;        18,11;        19,11;        20,11];

    y=[0    0   0   0   0   0   0   0   28  0   32  43  0   0   0   0   0   0   0   0

    0    0        24        26        45        42        40        37        44        32        42        54        42        55        49        59        44        39  0   0

    0    34        34        44        75        85        73        89        80        47        81        68        69        69        95        75        76        48  0   0

    0        38        42        70        114        164        148        145        136        74        148        131        152        152        157        126        114        66        55  0

    33        50        50        109        166        224        206        220        190        116        184        156        180        188        178        177        148        75        50        43

    35        41        84        160        197        226        249        237        217        199        168        172        187        188        180        182        165        98        50        32

    34        48        77        131        206        214        205        202        185        163        158        147        152        140        137        150        121        93        60        38

    0        36        61        89        129        143        124        123        106        120        78        85        87        74        82        99        99        62        31        0

    0        18        45        56        67        61        68        66        56        53        59        55        44        40        37        40        63        32        0        0

    0        0        31        52        36        53        34        38        46        33        35        29        20        30        25        21        30        28        0   0

    0    0   0   0   0   0   0   0   0   0   22  0   0   0   0   0   0   0   0   0];

    func=inline('(2*pi*a(2)*a(4)*(1-a(5)^2)^0.5)^(-1).*exp(-1./(2.*(1-a(5))).*((x(:,1)-a(1)).^2./a(2).^2)-(2.*a(5).*(x(:,1)-a(1)).*(x(:,2)-a(3)))./(a(2).*a(4))+(x(:,2)-a(3)).^2./a(4).^2)','a','x');%二维高斯表达式

    a0=rand(1,5);

    [a,r] = nlinfit(x,y,func,a0) %函数拟合得到其正态分布参数μ1=a(1),sigma1=a(2),μ2=a(3),sigma2=a(4),ro=a(5)

    展开全文
  • matlab二维正态函数图像 画坐标网格 [x,y]=meshgrid(-5:0.1:5,-5:0.1:5) 正态分布密度函数 f=1/(2*pi*sigma1*sigma2*sqrt(1-p*p))*exp(-1/(2*(1-p*p))*(((x-u1).^2)./(sigma1*sigma1)-2*p*((x-u1)*(y-u2))./...
  • 有时候实验或者仿真得到的数据是三数据点,但是想做出一个三图像,那样更直观好看。

    有时候实验或者仿真得到的数据是三维数据点,但是想做出一个三维的图像,那样更直观好看。

    曲面拟合方法

    方法一

    这是最简单的方法,使用cftool()函数,其语法如下:

    cftool
    cftool(x)
    cftool(x,y)
    cftool(x,y,z)
    cftool(x,y,[],w)
    cftool(x,y,z,w)
    

    使用cftool(x,y,z),直接将你的三维散点三个坐标轴的数值向量带入即可。
    在这里插入图片描述

    方法二

    使用fit()函数,比如:

    ft = 'cubicinterp';
    f = fit([x,y],z,ft);
    plot( f, [x, y], z )
    

    效果(其他两个轴的数据被我隐藏了):
    在这里插入图片描述

    参考资料

    Curve fitting
    How to get/save Curve Fitted Model data into Workspace with .mat file ?

    展开全文
  • 能完整的输出二维数组能能用MATLAB画等值线图
  • matlab 二维 正态 概率密度 二维概率分布
  • 先(M,N)=meshgrid(X,Y) 再用polyfit与polyval的最小二乘拟合求得多项式系数即可 拟合结果: c = 1.9917 1.3921 2.4509 求出一幅图像的灰度分布直方图。 再用高斯分布拟合出均值和方差。 与真实模型的参数[2 1.5 ...

    www.mh456.com防采集。

    参考代码:

    % 生成2113测试数5261据X = rand(100,1);Y = rand(100,1);k = 2;a = 1.5;b = 2.5;Z = k*(X.^4102a).*(Y.^b);

    看看这个是不是: http://zhidao.baidu.com/question/52680392.html http://hi.baidu.com/chemical%5Fengineering/album/item/99f87f3ee6433f2f71cf6

    4de7f47540ffbb295aa8717cc9db6f79.png

    % 数据加入噪声Z = Z + randn(size(Z))*0.1;

    clear clc x=[50 100 150 200 250 300 350 400 450 500]; y=[40 80 120 160 200]; z=[0.05 0.05 0.05 0.05 0.05 0.25 0.15 0

    wkhqifwbuuoekdtkaaaaaknky5u480.jpg

    % 数据拟合1653f=inline('c(1)*x(:,1).^c(2).*x(:,2).^c(3)','c','x');c=lsqcurvefit(f,[1 1 1],[X Y],Z)

    首先,你需要去除该Excel中的文字、字母部分,把它变成纯数据的表格,假设该表格文件名为“data.xls”,则在MATLAB程序中可编写如下: a = load('data.

    wkhqh1vfirmet52haaaaaap7hi0753.jpg

    % 绘图[x,y] = meshgrid(linspace(min(X),max(X),20),linspace(min(Y),max(Y),20));z = reshape(f(c, [x(:), y(:)]), size(x));clfa = 0.5;mesh(x,y,z,'FaceAlpha',a,'EdgeAlpha',a);hold onplot3(X,Y,Z,'r.')view(15,5)xlabel('x'); ylabel('y'); zlabel('z');

    先(M,N)=meshgrid(X,Y) 再用polyfit与polyval的最小二乘拟合求得多项式系数即可

    wkhqh1wkmggecp7kaaaaakwdsbo018.jpg

    拟合结果:

    c =

    1.9917    1.3921    2.4509

    求出一幅图像的灰度分布直方图。 再用高斯分布拟合出均值和方差。

    gamersky_08small_16_201429181c53.jpg

    与真实模型的参数[2 1.5 2.5]吻合。

    9fea2b3a09a22e44048d7c8a60982ba2.png更多追问追答追问大神,我补充问题中给出具体数据,求帮助啊追答

    直接把数据换上就行了,还需要再追问吗?

    Z=[10.37 11.31 9.83 15.11 7.07 9.39 8.33 8.92 7.00 8.44 9.76 9.03]';X=[5.95 9.50 5.05 13.02 9.70 10.34 11.26 16.96 7.51 9.75 10.25 9.46]';Y=[25.50 21.50 17.17  21.83 94.50 87.50 85.00 80.00 170.00 172.00 148 127.5]';

    % 数据拟合f=inline('c(1)*x(:,1).^c(2).*x(:,2).^c(3)','c','x');c=lsqcurvefit(f,[1 1 1],[X Y],Z)

    % 绘图[x,y] = meshgrid(linspace(min(X),max(X),20),linspace(min(Y),max(Y),20));z = reshape(f(c, [x(:), y(:)]), size(x));clfa = 0.5;mesh(x,y,z,'FaceAlpha',a,'EdgeAlpha',a);hold onplot3(X,Y,Z,'r.')view(-75,-15)

    xlabel('x'); ylabel('y'); zlabel('z');

    74266cc30d176127d540323491105e31.png

    93f445abe6fd20d6e64ff0c310192d59.png追问我就直接换上数的,出错了,跟你的比较下可能是xyz头上没加上引号,哈哈,谢谢你了,我是菜鸟追答那个引号是转置符号。我给的例子是列向量,你的数据是行向量。

    内容来自www.mh456.com请勿采集。

    展开全文
  • 结果: 图像: 表达式: n = 1 f = 21/25 - (29*x)/500 n = 2 f = (39x^2)/2000 - (71x)/100 + 31/5 n = 3 f = (9x^3)/125 - (119x^2)/50 + (106*x)/5 - 40 4、更新日志 2019.12.22 首次上传 2020.5.31 修改

    目录

    1. 最小二乘法概述
    2. MATLAB源代码展示
    3. 应用结果展示
    4. 更新日志

    1、最小二乘法概述

    最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

    2、MATLAB源代码展示

    完整代码下载:添加链接描述

    % x:自变量;y:因变量;n:要输出的拟合曲线的方程的最大阶数;m:自变量的数量 
    
    function lstsqu(x,y,n,m);
    xx=x;
    nn=n;
    for k=1:nn;
            % 最小二乘法拟合曲线
    p=polyfit(xx,y,k);          
    x1=xx(1):0.1:xx(m)+0.1;
    y1=polyval(p,x1);
    figure;
    plot(xx,y,'*r',x1,y1,'-b','Color',[1,0,0]);grid on;
    xlabel('x');ylabel('y');
    title(['n=' num2str(k)]);
    
            % 输出曲线函数表达式
    syms ft
    syms x;
    syms n;
    ft0=p(1);
    for i=1:k
        ft0=ft0+p(i+1)*x^i;
    end
    n=k
    f=ft0
    end
    

    3、应用结果展示

    程序:

    x=[0.05	 0.10	0.15	0.20];
    y=[0.001	0.006	0.057	0.124];
    n=3;
    m=4;
    lstsqu(x,y,n,m);
    

    结果:

    图像:在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    表达式:

    n =

     1
    

    f =

    21/25 - (29*x)/500

    n =

     2
    

    f =

    (39x^2)/2000 - (71x)/100 + 31/5

    n =

     3
    

    f =

    (9x^3)/125 - (119x^2)/50 + (106*x)/5 - 40

    4、更新日志

    2019.12.22
    首次上传

    2020.5.31
    修改

    展开全文
  • MATLAB进行散点拟合

    2021-04-19 07:41:39
    MATLAB拟合圆clc,clearA=[384 310;386 306;389 300;392 294;396 287;400 281;404 277;409 272;413 269;417 267;420 265;424 263;430 260;434 257;439 256];%%第一列为x坐标,第列为y坐标,散点大概为一段圆弧上...
  • 终端探测器探测到的光斑灰度分布函数可近似看做高斯分布,因此可以通过二维高斯函数进行拟合,模型表示为: 效果图: 为了方便计算,做一步变换,两边取对数,得到: 展开并进一步变形为: 求解...
  • 拟合三维曲线貌似可以用相信回归做,但是matlab有一个自带的polyfit函数,可以直接算出二维数据的拟合曲线,用的是最小二乘法的思想。思路其实很简单,将两条拟合二维曲线组合在一起就是三维曲线了。先上代码吧clc...
  • CONTOURSPLINE(X,Y,Z,N) 从矩阵 Z 创建一个具有 N 个等高线级别的等高线图,将 Z 中的值视为 XY 平面上方的高度。 X 和 Y 是定义 X 轴和 Y 轴的向量,其中 length(X) = size(Z,2) 和 length(Y) = size(Z,1),或者 X ...
  • 二维空间将离散点拟合直线使用最小二乘法的应用非常广泛,方法也比较简单。与此对应的是三维空间离散点拟合为平面也是很有用的方法,比如一些特定图像分析。本文所介绍的就是三维空间离散点拟合平面的方法,也是...
  • 假设基础函数(例如高斯函数)并使用从当前内核定义的参数(即将函数拟合到数据中) % use max location, amplitude and std from your kernel max_z = max(z(:)); std_z = std(z(:)); % Set of tunable parameters ...
  • 曲线(非线性)拟合步骤1 设定目标函数. (M函数书写)% 可以是任意的例如:function f=mydata(a,data) %y的值目标函数值 或者是第三的,a=[a(1) ,a(2)] 列向量x=data(1,:); %data 是一2数组,x=x1y=data(2,:); ...
  • 插值曲面拟合,用于逆向重建技术,对于一维曲线的插值,一般用到的函数yi=interp1(X,Y,xi,method) 。当中method包含nearst,...对于二维曲面的拟合,有非常多方法能够实现。可是这里用的是Spline Toolbox里面的函数功能
  • 二维图像进行分形维数的计算,采用差分盒维数进行计算,并且进行了拟合误差的计算
  • MATLAB插值与拟合

    千次阅读 2021-04-21 08:06:50
    MATLAB插值与拟合插值和拟合都是数据优化的一种方法,当实验数据不够多时经常需要用到这种方法来画图。在matlab中都有特定的函数来完成这些功能。这两种方法的确别在于:当测量值是准确的,没有误差时,一般用...
  • 本发明涉及数据特征增强技术领域,具体为一种将一维数据二维化的特征增强方法。背景技术:在利用数字射线成像系统进行特征检测过程中,由于系统和工件本身特点的原因,在获取的射线图像中,某些需要识别的特征信息...
  • matlab绘制二维曲线图

    2021-02-02 17:06:34
    matlab绘制二维曲线图 今天,我们来讲一个用matlab绘制二维曲线图 下面直接上代码,会对代码一些部分进行一些讲解 %% 定义函数 x = 0:0.01:2*pi; y1 = sin(x); y2 = cos(x); %% 画图/多次叠绘 F1 = plot(x,y2) %设置...
  • matlab图像的三重建

    2021-04-19 04:48:41
    matlab图像的三重建,通过cat函数创造多维矩阵,smooth拟合处理,iso提取等值面,最终获得三重建图像。三重建的英文术语名称是3D Reconstruction.三重建是指对三物体建立适合计算机表示和处理的数学模型,...
  • 现有如下七组数据(x,y,z)=[1,6,9.2],[4,12,1.5],[7,4,2.3],[10,10,2.5],[13,2,11],[16,8,9][0,0,...使用griddata函数,可进行三维拟合,并求出任意点处的值,之前用过求电流温度和电阻率的函数拟合如下rq=griddat...
  • [转]MATLAB图像实验

    2021-04-21 14:25:32
    实验一 Matlab语言、数字图象...、实验原理MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。MATLAB软件具有很强的开放性和适用性...
  • function eryuaniheA=[87.5 3.5 2389.433 2600.933 2921.633162.5 3.5 2856.667 3351.3 3240.8...
  • 假设有这么一组数据,x=[4 5 6 7 8 4 8 10]';...要求出其平面方程z=C+Ax+By可以使用MATLAB的regress来进行平面拟合:X = [ones(size(x,1),1) x y];b = regress(z,X);解得:b=[-63.488372093023390;-1....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,002
精华内容 2,000
关键字:

matlab拟合二维图像

matlab 订阅