【问题标题】:Maximum of a fitted Gaussian in MATLABMATLAB中拟合高斯的最大值
【发布时间】:2012-10-19 19:14:38
【问题描述】:

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

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')

如果你们能给我任何帮助,我们将不胜感激。

【问题讨论】:

  • 哦,我忘了说我必须在没有曲线拟合工具的情况下这样做,因为我需要在以后的计算中使用这个最大值

标签: matlab max curve-fitting gaussian


【解决方案1】:

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

的输出
>> 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 位置。

【讨论】:

  • 谢谢,我以为我遗漏了一些非常简单的东西。
猜你喜欢
  • 2017-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-08
  • 2018-04-08
  • 2021-09-15
  • 2014-04-17
相关资源
最近更新 更多