高斯函数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);
相关推荐
m0_5557629018 分钟前
Matlab 频谱分析 (Spectral Analysis)
开发语言·matlab
浪裡遊1 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
lzb_kkk2 小时前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
好开心啊没烦恼2 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
简佐义的博客3 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
程序员爱钓鱼3 小时前
【无标题】Go语言中的反射机制 — 元编程技巧与注意事项
开发语言·qt
Frank学习路上3 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
2301_805054564 小时前
Python训练营打卡Day59(2025.7.3)
开发语言·python
lsx2024064 小时前
CSS 网页布局:从基础到进阶
开发语言