tnjk.net
当前位置:首页 >> mAtlAB高斯拟 >>

mAtlAB高斯拟

可用:lsqcurvefit or nlinfit 进行拟合。格式为:b=lsqcurvefit(fx,b,x,y);b=nlinfit(x,y,fx,b);其中圆括号内的fx为拟合函数,以你的问题,可表示为:fx=@(b,x)b(1)*exp(-((x-b(2))./b(3)).^2);圆括号中的b为初值,其中的b(2)最好能给出峰值对...

新建一个函数,代码如下: function [fitresult, gof] = createFit(x, y) [xData, yData] = prepareCurveData( x, y); % Set up fittype and options. ft = fittype( 'gauss1' ); opts = fitoptions( 'Method', 'NonlinearLeastSquares' ); opts...

你这个题很简单啦。不用使用cholesky分解就可以直接做了~ 因为你给的两个协方差矩阵都是对角线矩阵,这意味着两次二维变量的各维之间是不相关的,对于高斯过程也就是相互独立的,那么你就可以直接利用randn函数来生成数据。对角线上的值就是各自...

就是要多峰值的高斯函数吧?下面的这个行不行? ezplot('0.5*exp(-(x+4)^2)+exp(-(x/2)^2)+0.7*exp(-(x-5)^2)')

在拟合前可以先对x数据进行标准化: %% x,y是题目中的数据plot(x, y, 'or')hold on[t, mu, sigma] = zscore(x);cfun = fit(t(:), y(:), fittype('a * exp(-((x - b)/c)^2)'));xx = 1:0.1:60;t = (xx-mu)/sigma;yy = cfun.a * exp(-((t - cfun.b)...

函数名是什么?

使用matlab中的拟合工具箱吧,很简单的。 在command windows下输入cftool进入拟合工具箱,Data中输入你的数据,然后使用Fitting进行拟合,里面可以选择Gaussian,这样可以得出完整的高斯函数表达式。

你是要进行数值拟合吧?要有数据的,请把数据、拟合样式写下。

我可以的 General model Gauss1: f(x) = a1*exp(-((x-b1)/c1)^2) Coefficients (with 95% confidence bounds): a1 = 12.62 (-5.633, 30.88) b1 = 2002 (2001, 2004) c1 = 1.192 (-0.816, 3.2) Goodness of fit: SSE: 36.72 R-square: 0.5009 Adj...

你的这组数呈现出直线关系,你怎么能用高斯拟合呢,高斯拟合需要的是基本符合高斯分布的函数。你的数据不能高斯拟合。还有一点就是这样的复杂的拟合,不用cftool,自己编程是很复杂的。

网站首页 | 网站地图
All rights reserved Powered by www.tnjk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com