Matlab:“分组平均值”

2024-01-28

假设我有向量:

 y = [1 1.01 1.02 1.03 2 2.01 2.02 3 3.01 3.02 3.03];
 c = [0 0    0    0    1 1    1    2 2    2    2   ];

有没有一种矢量化的方法来获得“分组平均值”,即平均值y对于每个唯一值c? (这是一个简化的示例;我有类似的东西,但向量大小为数千个,并且 c 的值有数百个)

我可以在 for 循环中完成它,只是想知道它是否可以矢量化。这是我的 for 循环实现:

function [my,mc] = groupmean(y,c)
my = [];
mc = [];
for ci = unique(c)'
    mc(end+1) = ci;
    my(end+1) = mean(y(c==ci));
end

简短回答:

>> y = [1 1.01 1.02 1.03 2 2.01 2.02 3 3.01 3.02 3.03];
>> c = [0 0    0    0    1 1    1    2 2    2    2   ];
>> groupmeans = accumarray(c'+1,y',[],@mean)
groupmeans =
        1.015
         2.01
        3.015

对上述内容进行解释:accumarray有点神秘,但是非常有用并且值得了解(而且非常快)。第一个输入是一个向量(它们需要是列向量,这就是为什么它是c' and y')对第二个输入向量的行进行分组。这些元素必须是正整数(出于某种原因),这就是为什么我添加了 1c'。最后一个输入是函数的句柄,该函数作为累加器应用于 y 中的每组值。

希望这是有道理的!如果不,doc accumarray :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab:“分组平均值” 的相关文章

  • 在 matlab 中求 3d 峰的体积

    现在我有一个带有峰值的 3D 散点图 我需要找到其体积 我的数据来自图像 因此 x 和 y 值表示 xy 平面上的像素位置 z 值是每个像素的像素值 这是我的散点图 scatter3 x y z 20 z filled 我试图找到数据峰值的
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • 如何在 Matlab 中对数组应用低通或高通滤波器?

    有没有一种简单的方法可以将低通或高通滤波器应用于 MATLAB 中的数组 我对 MATLAB 的强大功能 或数学的复杂性 有点不知所措 需要一个简单的函数或一些指导 因为我无法从文档或网络搜索中找到答案 看着那 这filter http w
  • Matlab没有优化以下内容吗?

    我有一个很长的向量 1xrv 和一个很长的向量w1xs 和一个矩阵Arxs 它是稀疏的 但维度非常大 我期望 Matlab 对以下内容进行优化 这样我就不会遇到内存问题 A v w 但看起来 Matlab 实际上是在尝试生成完整的v w矩阵
  • 两个向量之间的欧氏距离(单行矩阵)

    我有两个向量 单行矩阵 假设我们已经知道长度len A x1 x2 x3 x4 x5 B y1 y2 y3 y4 y5 计算它们之间的欧几里德距离最快的方法是什么 我的第一次尝试是 diff A B sum 0 for column 1 l
  • 测试 PCA 图上簇的显着性

    是否可以在 PCA 图上测试 2 个已知组之间聚类的显着性 测试它们的接近程度或分布量 方差 以及簇之间的重叠量等 这是一种定性方法 使用ggplot 在簇周围绘制 95 置信椭圆 注意stat ellipse 使用二元 t 分布 libr
  • 在 Matlab 中将 datenum 转换为 datetime 的最快方法

    我在 Matlab 中将 datenum 转换为 datetime 时遇到问题 Given dnum floor now floor now 1 我尝试了以下方法 datenum dnum 但这没有用 我发现有效的方法是 datetime
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 从开始/结束索引列表创建向量化数组

    我有一个两列矩阵M包含一堆间隔的开始 结束索引 startInd EndInd 1 3 6 10 12 12 15 16 如何生成所有区间索引的向量 v 1 2 3 6 7 8 9 10 12 15 16 我正在使用循环执行上述操作 但我想
  • Matlab 的 imresize 函数中用于插值的算法是什么?

    我正在使用 Matlab Octaveimresize 对给定的二维数组重新采样的函数 我想了解如何使用特定的插值算法imresize works 我在Windows上使用八度 e g A 1 2 3 4 是一个二维数组 然后我使用命令 b
  • 给定协方差矩阵,在Matlab中生成高斯随机变量

    Given a M x M期望的协方差 R 以及所需数量的样本向量 N计算一个N x M高斯随机向量 X在普通 MATLAB 中 即不能使用r mvnrnd MU SIGMA cases 不太确定如何解决这个问题 通常你需要一个协方差并且意
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标
  • 如何在MATLAB中显示由三个矩阵表示的图像?

    我有 3 个相同大小的 2D 矩阵 假设 200 行和 300 列 每个矩阵代表三种 基本 颜色 红色 绿色和蓝色 之一的值 矩阵的值可以在 0 到 255 之间 现在我想组合这些矩阵以将它们显示为彩色图像 200 x 300 像素 我怎样
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • 快速有效地计算已知特征值的特征向量

    我的问题的简短版本 计算矩阵特征向量的最佳方法是什么A 如果我们已经知道属于特征向量的特征值呢 更长的解释 我有一个很大的随机矩阵A由于它是随机的 因此具有非负左特征向量x 这样A Tx x 我正在寻找快速有效的方法来数值计算这个向量 最好
  • 检测分段常数信号中的阶跃

    我有一个分段恒定信号 如下所示 我想检测步骤转换的位置 标记为红色 我目前的做法 使用移动平均滤波器平滑信号 http www mathworks com help signal examples signal smoothing html
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan

随机推荐

  • C:按某个键终止程序

    在C语言中 我通常使用getch 函数等待按下键然后结束程序 但最近我读到 由于它不是标准函数 因此使用它是不好的编程习惯 因此 而不是以下内容 int main dosomething getch wait for the user to
  • 如何从矩阵中删除所有带有 NA 的行?

    I have 一个矩阵y它有两列 行数不同 取决于输入参数 第一列中的所有元素都是整数 I need 对于每一行 如果第二列的元素为 NA 我需要删除这一行 我该怎么做 我唯一的想法是创建另一个矩阵 如果第一个矩阵中的一行没有 NA 则将其
  • 从页面读取 XML 响应

    我正在使用 C 和 ASP net 对网页执行 POST 如何读取 XML 响应以确定我的提交是否有错误或是否成功 这是我尝试过的 但它只会返回成功 失败消息 不会显示从页面返回的实际 xml private void Perform th
  • 使用 jquery 滑动导航栏

    我试图为网站创建一个水平导航栏 现在我需要提供一个滑动效果如下 导航菜单有 5 个链接 第 5 个链接是右箭头图像 单击此第 5 个链接 右箭头 时 所有其他 4 个链接应折叠到此第 5 个菜单中 并且右箭头应替换为左箭头 现在只有一个链接
  • pandas多索引如何按第二级屏蔽数据

    我有一个具有多索引的数据框 如下所示 Date Period Value n 20130101 0 12 n 20130101 1 13 20130102 0 13 20130102 1 14 第一级是日期 第二级是周期 我想将周期不为零的
  • 从 Joomla 表单字段插入数据库

    我是 Joomla 的初学者 开发并创建了一个非常简单的模块 如何创建包含 3 个文本字段的表单 然后将输入的值保存到数据库表中 试试这个例子 我们将把用户的名字和姓氏发布到表中 在您的数据库中创建一个表 注意它应该有前缀 jos 我们将这
  • 撤消 git 合并

    我对 Git 没有那么丰富的经验 现在我遇到了一个大问题 这是我当前的分支的样子 feature F1 F2 master M0 M1 M2 M3 M4 bugfix B1 B2 情况 有人做了一件非常糟糕的事情并推送了一个非常糟糕的合并
  • MySQL 插入错误:ER_BAD_FIELD_ERROR:“字段列表”中未知列“2525”

    var convID 2525 var contactUsername blabla var userId 100 var contactId 200 var sql INSERT INTO contacts FK OWNERID FK U
  • 如何/在哪里使用 NSNumberFormatter?

    我是代码新手 在查看了一些答案后仍然需要帮忙 在我的代码中 func labelInformation numLabels text newLabel text 当前结果 228500 23 期望的结果 228 500 23 如何 在哪里使
  • 短信收件箱中对联系人表的错误引用

    我正在尝试从手机的短信收件箱中查找与短信相对应的联系方式 据我了解person列是外键 id的列ContactsContract Contacts 我的问题是我得到了错误的值person来自短信查询的值 一些person联系人表中不存在 I
  • 静态变量还是通过 Bundle 传递变量? [复制]

    这个问题在这里已经有答案了 假设我有一个 ListView 并在列表上设置了一个 OnItemClickListener 传递变量的最佳方式是什么 静态变量 public static String example onItemClick
  • 由于 teamcity,pycharm 调试控制台不可读

    几天以来 我的 pycharm 调试控制台被 teamcity 信息系统性地污染了 例如当我想打印出变量值时 将显示以下内容 gt gt gt df teamcity testStdOut timestamp 2017 11 02T15 5
  • 我希望能够使用故事板左右滚动 UITableViewCell。这不可能吗?

    我已经尝试了所有我能想到的方法 但没有任何效果 与 iOS 7 的 Mail app 中的效果类似 我希望能够左右滑动表格视图的单元格 我希望能够在情节提要和自动布局中执行此操作 因为我的大部分应用程序都是使用这些完成的 我理解带有故事板的
  • 将 WebRTC (AudioTrackSinkInterface) 原始音频写入光盘

    我正在尝试录制 WebRTC 传输的音频PeerConnection MediaStream 我在音轨中添加了一个接收器 它实现了AudioTrackSinkInterface 它实现了OnData method void TestAudi
  • 确定 C# 中的调用对象类型

    不管这是否是一个好主意 是否可以实现一个接口 其中执行函数知道调用对象的类型 class A private C public int doC int input return C DoSomething input class B pri
  • JPA 实体管理器 - 如何运行 SQL 脚本文件?

    我有一个 SQL 脚本文件 它删除并重新创建各种表以及将各种记录插入到这些表中 该脚本在 SQL 查询控制台中执行时运行良好 但我需要它由实体管理器执行 关于我如何能够做到这一点有什么想法吗 Thanks H 参加聚会迟到了 但我是这样做的
  • Laravel 为资源控制器命名路由

    使用 Laravel 4 2 是否可以为资源控制器路由分配名称 我的路线定义如下 Route resource faq ProductFaqController 我尝试向路线添加名称选项 如下所示 Route resource faq Pr
  • 专家 R 用户,您的 .Rprofile 中有什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 Flink 在 DataStream join + Global window 上发出重复记录?

    我正在学习 试验 Flink 并且观察到 DataStream 连接的一些意外行为 并且想了解发生了什么 假设我有两个流 每个流有 10 条记录 我想将其加入到id场地 假设一个流中的每条记录在另一个流中都有一个匹配的记录 并且 ID 在每
  • Matlab:“分组平均值”

    假设我有向量 y 1 1 01 1 02 1 03 2 2 01 2 02 3 3 01 3 02 3 03 c 0 0 0 0 1 1 1 2 2 2 2 有没有一种矢量化的方法来获得 分组平均值 即平均值y对于每个唯一值c 这是一个简化