MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   查找数组中元素之间平均差的有效方法 (https://www.labfans.com/bbs/showthread.php?t=26457)

poster 2019-12-14 20:13

查找数组中元素之间平均差的有效方法
 
希望标题不要混淆。通过示例显示很简单。我有这样的行向量: [1 5 6] 。我想找到每个元素之间的平均差异。在此示例中,差异为4和1,因此平均值为2.5。这是一个小例子。我的行向量可能很大。我是MatLab的新手,所以有没有一种有效的方法来使用MATLAB的高效矩阵/数组操作来很好地做到这一点?

SOF上已经有一个类似的问题,但是这个问题是专门针对MATLAB的!

谢谢 :)

编辑:@gnovice询问,我想要绝对的区别。



[B]回答:[/B]

使用[I]差异[/I]和[I]均值的[/I]简单解决方案

aveDiff = mean(diff(myVector)) %#(1) 例

>> v=[1 5 6] v = 1 5 6 >> mean(diff(v)) ans = 2.5000 这可行,但是@Jonas的答案是正确的解决方案。

[I][B]编辑[/B][/I]

从@ gnovice,@ vivid-colours和@sevenless评论。

差的绝对值的平均值可以通过将[I]abs[/I]插入(1)中来找到

aveDiff = mean(abs(diff(myVector))) %#(2)

[url=https://stackoverflow.com/questions/5160013]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 04:58

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.