李旭分享 http://blog.sciencenet.cn/u/lixujeremy 代码与散打爱好者!

博文

Matlab:Gaussian Model

已有 5338 次阅读 2015-9-15 14:27 |个人分类:Matlab|系统分类:科研笔记|关键词:学者| gaussian

Summary

开贴记录数据拟合之高斯函数。

已知一组数据,x表示数值,y表示频率,如Fig. 1所示,图形非常接近高斯分布。

Fig. 1

Method

1)拟合高斯模型,手动方法

Command Window,键入cftool,出现Curve Fitting Tool。如Fig. 2所示,配置xyGaussian

Fig. 2

配置完成后,软件自动得到返回参数,R-square0.9814,非常高,右侧图形也显示拟合高斯曲线与原始情况较为吻合。(试试改变图中Number of terms?)

此时得到的高斯函数:y=1946*exp(-((x-442.9)/82.13)^2)

2)代码方法

Codefit.m,与手动方法返回结果一致。如Fig.3所示,Fitted Curve是为高斯曲线。Over

Fig. 3

gauss.rar

Further Discussion

尽管该数据通过高斯拟合方法可以使得被解释的方差高达98%,但是该高斯函数的二阶导数等于0的解仍不能得到实数,更准确的说通过拟合逼近这一曲线仍不能得到该曲线的拐点。参考Blocking A Non-Stationary Signal Using Wavelets,将这一曲线视为非平稳信号,经连续小波变化(Mexican hat)处理,直接得到这一信号的二阶导数,找到二阶导数为0的序列。

Fig. 4

Fig. 4从左至右的2图表示1~200尺度下的二阶导数,显然在Scale大于75之后,黑线仅与两条0等值线相交,34图表示Scale=100/150的情况,对应拐点是469383

gaussblock.rar

References

[1] Normal (Gaussian) distribution, from Wikipedia, the free encyclopedia.

[2] Gaussian function, from Wikipedia, the free encyclopedia.

[3] Gaussian Models, MathWork.

[4] 利用Matlab解方程.



https://m.sciencenet.cn/blog-1148346-920980.html

上一篇:Matlab: Converison from Arc/Info Grid to GeoTiff Format
下一篇:Fortran: Data file Format Guide for ANUSPLIN

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 03:53

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部