MATLAB中拟合高斯的最大值

时间:2012-10-30 12:38:14

标签: matlab max curve-fitting gaussian

我需要找到我已经拟合的高斯的最大值,下面是我的示例代码(忽略它是高斯的一个非常合适的事实,它们只是我在变量托盘中踢的两个备用矩阵)

x=[10;2;6;1;7;5;3;4;8;9];
z1=[0;0;0;0;0;6;7;8;9;10];
cf1=fit(x,z1,'gauss1');
plot(x,z1,'.k')
hold on
plot(cf1,'r')

你们可以给予我任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

这是非常基本的数学。看看

的输出
>> cf1

cf1 = 
     General model Gauss1:
     cf1(x) =  a1*exp(-((x-b1)/c1)^2)
     Coefficients (with 95% confidence bounds):
       a1 =       5.187  (-0.4711, 10.85)
       b1 =       6.834  (-0.768, 14.44)
       c1 =       5.945  (-8.833, 20.72)

现在,配备the wikipedia article on Gaussians,找到最大值是微不足道的:

maximum_x = cf1.b1;
maximum_y = cf1.a1;

对于您用于拟合相同函数的任何其他工具,情况也是如此 - 系数a1b1定义最大值的yx位置, 分别。