罗兰在MATLAB的艺术

把想法变成MATLAB

请注意

罗兰在MATLAB的艺术已经存档,不会被更新。

通过各种方法

发现自己想要的一些数据,但不确定算法的意思是你想要什么?你也可以考虑几何平均数(geomean从统计工具箱)。在图像处理的世界里,我知道有些人认为图像看起来保鲜储藏格通常当应用几何平均和算术平均。今天我想谈谈如何获得准确的几何平均的结果。

内容

几何平均数

假设我们有一个向量x所以我们可以忽略处理不同的维度。我将首先创建函数处理的平均值和标准几何平均数的表达式。这是算术平均值的处理

飞行员= @ (x)的意思是(x)
飞行员= @ (x)的意思是(x)

和几何平均数。

gmn = @ (x)刺激(x) ^(1 /元素个数(x))
gmn = @ (x)刺激(x) ^(1 /元素个数(x))

一些数据

现在让我们创建一些数据和计算方法。

xsmall = 100 *兰德(10,1);意味着=[飞行员(xsmall) gmn (xsmall)]
意味着= 42.403 - 27.898

更具挑战性的数据

假设我们一些更大的规模和数据计算的方法。

超大= 1 e300 *兰德(1000 1);意味着=[飞行员(超大)gmn(超大)]
意味着e = 5.1363 + 299正无穷

当我们有一个有限的算术平均回答,我们得到了几何平均数。如果你看看几何的表达的意思是,我们首先计算了产品的所有数字,然后把n根。所以我们超过最大浮点数在计算,因此无限的结果。有办法规避,至少一段时间?是的!

安全表达几何平均数

我们可以重新计算产品的一些数字总和他们的自然对数,然后取幂的结果。n根,我们把总和通过n元素的个数。这是一个新的几何平均数的表达式。

gm2 = @ (x) exp(总和(日志(x)) /元素个数(x))
gm2 = @ (x) exp(总和(日志(x)) /元素个数(x))

几何平均数应用于我们的两个数据集。

[gm2 (xsmall) gm2(超大)]
ans = 27.898 3.8763 e + 299

你可以看到我们得到同样的结果也许更典型的数据,和绝缘自己可怜的数值结果与更大的数据值。

你平均数据如何?

如果你有可能包含的数据值,您可以使用nanmean从统计工具箱。你有其他表情适合平均数据集。请让我知道在这里




使用MATLAB®7.10发表


  • 打印

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。