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

mAtlAB 高斯拟合函数

我可以的 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...

可用: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)最好能给出峰值对...

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

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

data=[83.01367925 75.34198113 58.575 76.84174528 80.1925 81.95070755 71.69 79.58 68.755 61 76.092685 74.025 75.35867925 66.7575 72.1775 74.54622642 79.03443396 86.72830189 71.43278302 72.41 70.06509434 72.735 84.46462264 73.428...

data=[...];[a b]=normfit(data) 用上面语句即可。

为什么用excel呢?既然知道高斯拟合,为什么不用更合适的工具呢, 知道高斯拟合,不会连MATLAB都没装吧

关于MATLAB曲线拟合,我写了一系列的经验,为了相互统一,采用下面的数据: x=[0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3.0000] y=[2.0000 2.3780 3.9440 7.3460 13.2320 22.2500 35.0480 52.2740 74.5760 102.6020 ...

在拟合前可以先对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)...

% 设数据为x % 第一步, 计算均值, 计算样本标准差 len = length(x); avg = mean(x); s = sum((x-avg).^2)/(len-1) % 第二步, 将上面结果代入高斯分布公式 % 第三步, 画出图形.

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