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

mAtlAB高斯拟

使用lsqcurvefit函数。 help lsqcurvefit

可用: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...

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

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

为什么用excel呢?既然知道高斯拟合,为什么不用更合适的工具呢, 知道高斯拟合,不会连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...

大概是要用fit这个函数,自己写一个fitoption和fittype。 修改一下类似这个的: function test() % input your data here x = -1:0.1:1; y = -5:0.1:5; z = zeros(length(x), length(y)); for i = 1:length(x) for j = 1:length(y) z(i,j) = 1.0...

MATLAB软件提供了基本的曲线拟合函数的命令. 1 多项式函数拟合:a=polyfit(xdata,ydata,n) 其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式 的系数 多项式在x处的值y可用下面程序计算...

matlab工具箱curve fitting里面有,找到你需要的,例如高斯拟合,然后在文件里有生产代码选项,各种类型都有了。

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