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 图有一个沿着两个子图延伸的颜色条 像这样的事情 使用图形编辑器手动完成 Note 这与提出的问题不同here https stackoverflow com questions 39950229 matlab t
  • MATLAB 可执行文件太慢

    我使用以下命令将 MATLAB 程序转换为基于控制台的应用程序deploytool在 MATLAB 中 MATLAB m文件执行大约需要 2 秒 但在我将其转换为可执行文件并调用 exe 执行需要45秒 太长了 我想将 MATLAB 程序与
  • 动态调整自定义刻度数

    Taking SO 的一个例子 https stackoverflow com a 7139485 97160 我想根据当前视图调整轴刻度 这是默认行为 除非设置自定义的刻度数 下图展示了由此产生的行为 左侧是默认行为 右侧是带有自定义刻度
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 在 matlab 代码中使用 dll 文件

    我需要使用 Matlab 中由 dll 文件定义的函数 我有一个例子 那个家伙将 dll 转换为 mexw32 文件 但我知道我是如何做到这一点的 我尝试使用加载库但它没有创建任何文件 我怎样才能做到这一点 loadlibrary http
  • 我如何编写一个名为 dedbi 的 MATLAB 函数,它将输入 xtx 作为字符串并返回另一个字符串 xtxx 作为输出。

    dedbi 反转单词 即 a 将被 z 替换 b 将被 y 替换 c 将被 x 替换 依此类推 dedbi 将对大写字母执行相同的操作 即将字符串 A 替换为 Z 将 B 替换为 Y 将 C 替换为 X 依此类推 如果我给函数这个字符串 a
  • 以 2 为底的矩阵对数

    Logm 取矩阵对数 并且log2 取矩阵每个元素以 2 为底的对数 我正在尝试计算冯 诺依曼熵 它涉及以 2 为底的矩阵对数 我该怎么做呢 如果将 以 2 为底 的矩阵指数定义为B expm log 2 A 或者如果您类似地通过特征分解直
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt
  • Matlab的导入函数的范围是什么?

    我正在尝试将一些用 Matlab 编写的代码转换为独立的 编译的 Matlab 应用程序 然而 在出现一些奇怪的错误之后 我意识到代码大量使用了从路径中添加和删除的操作 以避免多次使用多个具有相同名称 但结果 计算不同 的函数这一事实 环顾
  • 在 MATLAB 中绘图后恢复轴

    从文本文件绘制多种方法的输出后 未显示轴的右侧和上侧 我需要拥有它们并将它们加粗 就像当前的轴一样 绘制的数据来自存储每种方法数据的文件 每个数据文件都是一个 256x2 文件 包含 0 1 之间的值 第一列是精度 第二列是召回率 figu
  • 将向量(或弧)绘制到玫瑰图上。 MATLAB

    我有两个数据集 其中详细列出了angles 我正在绘制玫瑰图 angles 0 8481065519 0 0367932161 2 6273740453 n 另一个 从这组角度详细说明方向统计 angle error 0 848106563
  • 如何在 MATLAB 中将矩阵元素除以列总和?

    有没有一种简单的方法可以将每个矩阵元素除以列和 例如 input 1 4 4 10 output 1 5 4 14 4 5 10 14 以下是执行此操作的不同方法的列表 使用bsxfun https www mathworks com he
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • 给定文档,选择相关片段

    当我在这里提出问题时 自动搜索返回的问题的工具提示给出了问题的前一点 但其中相当一部分没有给出任何比理解问题更有用的文本 标题 有谁知道如何制作一个过滤器来删除问题中无用的部分 我的第一个想法是修剪仅包含某个列表中的单词的任何前导句子 例如
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • 绘制布朗运动 matlab

    首先 我只想说我不太习惯使用matlab 但我需要一个作业 我应该创建一个 布朗运动 我的代码目前如下所示 clf hold on prompt Ge ett input size input prompt numParticles inp
  • 在矩阵中找到叉的最快方法

    定义 A i j 1 是十字的中点 如果元素A i 1 j 1A i 1 j 1A i j 1 1A i j 1 1 这些元素和中点一起形成矩阵 A 中的十字 其中 A 至少是一个 3 3 矩阵 并且i j 0 假设上图是 8 8 矩阵 A
  • 拟合具有扭曲时基的正弦波

    我想知道在 Matlab 中拟合具有扭曲时基的正弦波的最佳方法 时间失真由 n 阶多项式 n 10 给出 其形式为t distort P t 例如 考虑失真t distort 8 12t 6t 2 t 3 这只是幂级数展开 t 2 3 这将

随机推荐

  • 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 这是一个简化