高斯函数Gaussian绘制matlab

高斯

约翰·卡尔·弗里德里希·高斯,(德语:Johann Carl Friedrich Gauß,英语:Gauss,拉丁语:Carolus Fridericus Gauss)1777年4月30日--1855年2月23日,德国著名数学家、物理学家、天文学家、几何学家、大地测量学家, 毕业于Carolinum学院(现布伦瑞克工业大学),后进入哥廷根大学深造 。

高斯被认为是世界上最重要的数学家,享有"数学王子"的美誉。高斯分布、高斯曲率、高斯测度、高斯散度定理、高斯-博内定理等等都是根据他的命名的。高斯是一位著名的数学家、物理学家、天文学家、几何学家,大地测量学家,在数学方面的成就尤为突出。他是德国人,全名约翰·卡尔·弗里德里希·高斯,人们尊称他为"数学王子"。

高斯处事井井有条,即使对一些文件做摘录,也总是十分整洁,有条不紊。他有许多小笔记本,一行一行工整地记着临时想到的事。他记下从哥廷根天文台到各个地方的步行步数。他记下各年发生雷电的日期和次数。他记下汉诺威铁路每月的收入。他记下自己的孩子们的出生日期、接种牛痘的日子、长出前8颗牙齿的日子、开始走路的日子并注明当时孩子多大(按天计算)。可见,高斯在生活、工作中是多么严肃认真、一丝不苟。

高斯函数

高斯函数(Gaussian function)是以高斯的名字命名的函数,广泛用于自然科学、社会科学、数学以及工程学等领域。高斯函数的形式为:
f ( x ) = a e − − ( x − b ) 2 2 c 2 f(x)=a\mathrm{e}^{-\frac{-(x-b)^2}{2c^2}} f(x)=ae−2c2−(x−b)2

其中, a a a、 b b b与 c c c都是实数,且 a > 0 a>0 a>0。

当 a = 1 , b = 1 , c = 1 a=1,b=1,c=1 a=1,b=1,c=1时曲线如下:

图1 高斯函数

当 a = 1 , b = 2 , c = 3 a=1,b=2,c=3 a=1,b=2,c=3时曲线如下:

图2 高斯函数

可以看到 a a a表示曲线的高度, b b b决定了峰值的位置,也就是对称轴的位置, c c c决定了曲线的胖瘦,当 c c c越大的时候,曲线越胖。

归一化高斯函数

对高斯函数进行积分,有
∫ − ∞ + ∞ e − x 2 d x = π \int_{-\infty}^{+\infty}\mathrm{e}^{-x^2}dx=\sqrt{\pi} ∫−∞+∞e−x2dx=π

同理可得:
∫ − ∞ + ∞ a e − − ( x − b ) 2 c 2 d x = a c 2 π \int_{-\infty}^{+\infty}a\mathrm{e}^{-\frac{-(x-b)}{2c^2}}dx=ac\sqrt{2\pi} ∫−∞+∞ae−2c2−(x−b)dx=ac2π

因此,当且仅当 a = 1 c 2 π a=\frac{1}{c\sqrt{2\pi}} a=c2π 1的时候,高斯函数的积分为1,在这种情况下,它是正态分布随机变量的概率密度函数,期望值 μ = b \mu=b μ=b,方差 σ 2 = c 2 \sigma^2=c^2 σ2=c2,此时
g ( x ) = 1 σ 2 π e − − ( x − μ ) 2 σ 2 g(x)=\frac{1}{\sigma\sqrt{2\pi}}\mathrm{e}^{-\frac{-(x-\mu)}{2{\sigma}^2}} g(x)=σ2π 1e−2σ2−(x−μ)

不同方差的标准正态分布曲线为

图3 不同方差的正态分布

matlab函数

编写的函数入下

复制代码
function [y] = Gaussian(x,mu,sigma)
y = 1/(sqrt(2*pi)*sigma)*exp(-(x-mu).^2/(2*sigma^2));
end

绘制过程入下:

复制代码
% 画高斯函数图像
x = -10:0.1:10
y0 = Gaussian(x,0,0.2);
y1 = Gaussian(x,0,0.4);
y2 = Gaussian(x,0,0.8);
y3 = Gaussian(x,0,1);
plot(x,y0,'r');
hold on;
plot(x,y1,'b');
hold on;
plot(x,y2,'c');
hold on;
plot(x,y3,'g');
legend('sigma=0.2','sigma=0.4','sigma=0.8','sigma=1');

当然也可以使用matlab内置的函数绘制标准正态分布:

复制代码
y = normpdf(x,mu,sigma) 返回具有均值 mu 和标准差 sigma 的正态分布的 pdf,在 x 中的值处计算函数值。

代码入下:

复制代码
x = -10:0.1:10;
mu = 1;
sigma = 2;
y = normpdf(x,mu,sigma);
figure;
plot(x,y);
相关推荐
布莱克6057 小时前
C/C++ 中变量的声明与定义:区别、联系与常见误区
c语言·开发语言·c++·声明·定义
LabVIEW开发8 小时前
LabVIEW 局部变量为何引发竞争条件?四种同步机制
开发语言·labview
benchmark_cc8 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
Zenova EdgeOS9 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
取名真是10 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
FRing0310 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
Fatbobman(东坡肘子)11 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
开发语言·人工智能·redis·ios·swiftui·iphone·swift
揽星河..11 小时前
【C语言】底层程序设计
c语言·开发语言
JavaPub-rodert11 小时前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang
海的透彻12 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言