如何在 MATLAB 中执行此累积和?

2024-04-04

我想计算第 2 列中的值的累积和dat.txt下面是第 1 列中的每个字符串。所需的输出显示为dat2.txt:

dat.txt  dat2.txt
1 20     1 20  20   % 20 + 0
1 22     1 22  42   % 20 + 22
1 20     1 20  62   % 42 + 20
0 11     0 11  11
0 12     0 12  12
1 99     1 99  99   % 99 + 0   
1 20     1 20  119  % 20 + 99
1 50     1 50  169  % 50 + 119

这是我的初步尝试:

fid=fopen('dat.txt');
A  =textscan(fid,'%f%f');
in =cell2mat(A); 
fclose(fid);

i = find(in(2:end,1) == 1 & in(1:end-1,1)==1)+1;
out = in;
cumulative =in;
cumulative(i,2)=cumulative (i-1,2)+ cumulative(i,2);

fid = fopen('dat2.txt','wt');
format short g;
fprintf(fid,'%g\t%g\t%g\n',[out cumulative(:)]');
fclose(fid);

这是一个使用函数的完全矢量化(尽管看起来有些混乱)的解决方案CUMSUM http://www.mathworks.com/access/helpdesk/help/techdoc/ref/cumsum.html and DIFF http://www.mathworks.com/access/helpdesk/help/techdoc/ref/diff.html随着逻辑索引 http://www.mathworks.com/access/helpdesk/help/techdoc/math/f1-85462.html#bq7egb6-1产生你想要的结果:

>> data = [1 20;...  %# Initial data
           1 22;...
           1 20;...
           0 11;...
           0 12;...
           1 99;...
           1 20;...
           1 50];
>> data(:,3) = cumsum(data(:,2));       %# Add a third column containing the
                                        %#   cumulative sum of column 2
>> index = (diff([0; data(:,1)]) > 0);  %# Find a logical index showing where
                                        %#   continuous groups of ones start
>> offset = cumsum(index.*(data(:,3)-data(:,2)));  %# An adjustment required to
                                                   %#   zero the cumulative sum
                                                   %#   at the start of a group
                                                   %#   of ones
>> data(:,3) = data(:,3)-offset;        %# Apply the offset adjustment
>> index = (data(:,1) == 0);            %# Find a logical index showing where
                                        %#   the first column is zero
>> data(index,3) = data(index,2)        %# For each zero in column 1 set the
                                        %#   value in column 3 to be equal to
data =                                  %#   the value in column 2

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

如何在 MATLAB 中执行此累积和? 的相关文章

  • 计算数组中接下来的 n 个元素的乘积

    我想计算下一个的乘积n矩阵的相邻元素 号码n要相乘的元素数应在函数的输入中给出 例如 对于此输入 我应该从第一个开始计算每 3 个连续元素的乘积 p ind max product 1 2 2 1 3 1 3 这给出了 1 2 2 2 2
  • 扩展 MATLAB 函数名称的最大长度

    我编写了一个 MATLAB 程序 可以动态创建自定义 MATLAB 函数 并使用以下命令在其他 MATLAB 实例中启动它们unix命令 我使用这个程序来自动化 fMRI 神经影像分析 使用 SPM8 for MATLAB 一切正常 但是
  • 如何在 Matlab 中使用谷歌翻译?

    我正在编写一个程序 使用 Matlab 列出电影字幕文件中的所有唯一单词 现在我有一个独特的单词列表 我想将其翻译成我的语言并在观看电影之前了解其含义 有谁知道如何在 Matlab 中使用 Google Translate 以便完成我的脚本
  • 在 matlab 中求 3d 峰的体积

    现在我有一个带有峰值的 3D 散点图 我需要找到其体积 我的数据来自图像 因此 x 和 y 值表示 xy 平面上的像素位置 z 值是每个像素的像素值 这是我的散点图 scatter3 x y z 20 z filled 我试图找到数据峰值的
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • Matlab 字段名索引[重复]

    这个问题在这里已经有答案了 所以我有一个包含多个表的元胞数组 我试图访问表的第一个列名称 c table1 table2 table3 以下两行都给了我错误 fieldnames c 1 1 fieldnames c 1 1 Error i
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • 有没有办法在matlab中进行隐式微分

    我经常使用 matlab 来帮助我解决数学问题 现在我正在寻找一种在 matlab 中进行隐式微分的方法 例如 我想区分y 3 sin x cos y exp x 0关于dy dx 我知道如何使用数学方法通常做到这一点 但我一直在努力寻找使
  • 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 中高效获取像素坐标

    我想在 Matlab 中创建一个函数 给定一个图像 该函数将允许人们通过单击图像中的像素来选择该像素并返回该像素的坐标 理想情况下 人们能够连续单击图像中的多个像素 并且该函数会将所有相应的坐标存储在一个矩阵中 有没有办法在Matlab中做
  • matlab中的正则逻辑回归代码

    我正在尝试正则化 LR 在 matlab 中使用以下公式很简单 成本函数 J theta 1 m sum y i log h x i 1 y i log 1 h x i lambda 2 m sum theta j 梯度 J theta t
  • 检测植物图片中的所有分支

    我想知道有什么可以检测下图中的所有绿色树枝 目前我开始应用 Frangi 过滤器 options struct FrangiScaleRange 5 5 FrangiScaleRatio 1 FrangiBetaOne 1 FrangiBe
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 如何将复杂的 csv 文件导入到 Matlab 中的数值向量

    我想知道我们应该如何读取由字符串 双精度数和字符等组成的复杂 csv 文件 例如 您能否提供一个可以在此 csv 文件中提取数值的成功命令 Click here http www ecb europa eu stats money yc d
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • Matlab Builder JA - 将 Matlab 编译成 Java jar - 免费版本?

    请记住 我对 Matlab 一无所知 Matlab Builder JA 允许开发人员构建 Matlab 应用程序并将其导出到 Java jar 中 太棒了 我只需要生成一个 jar 然后就可以从其他 java 代码中使用它 有谁知道单罐包
  • 快速有效地计算已知特征值的特征向量

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

    内置 MATLAB 类具有 Description 和 DetailedDescription 属性的值 gt gt handle ans meta class handle Package meta Properties Name han

随机推荐

  • 具有递归类型参数的泛型类型以及抽象 self 方法如何允许方法链正常工作?

    我在读有效的 Java 版本 3 在第 2 章第 14 页中 作者讨论了构建器模式并呈现了以下代码 public abstract class Pizza public enum Topping HAM MUSHROOM ONION PEP
  • Java:获取对象的唯一哈希值

    我正在尝试获取Java对象的唯一哈希值 如下所示 If A B then A HashValue B Hash HashValue If A B then A HashValue B HashValue 假设该对象包含几个布尔值和整数字段
  • @angular-builders - 在优化阶段忽略某些脚本

    我需要让 Angular 忽略某个js文件在优化阶段 这样它就不会被优化 缩小 prod建造 为此目的 angular builders包似乎是一个可行的解决方案 我设置了angular json配置如下 architect build b
  • Android:如何通过 ueventd.rc 向设备授予 666 权限

    我需要访问连接到我的 已root Android 的USB 摄像头 我使用的是运行 Android 4 2 2 的三星 Galaxy S4 我想用普通的应用程序访问它 所以我需要该设备是世界可读的 我可以通过 shell 进行连接并输入 r
  • 读取Excel文件时如何识别单元格为空白或为空或为空

    我读取了一个 Excel 文件来传递某些数据字段的输入 但是当我运行该程序时 某些单元格值返回为 null 某些单元格值返回为空白 实际上 当我打开 Excel 文件时 单元格中没有可用值 如何手动识别 Excel 单元格为空或空白 对于某
  • PHP:为什么只能通过引用传递变量?

    如果您是 PHP 开发人员 您很可能看到过以下通知 注意 在 somefile php 中只有变量应该通过引用传递 在线 xxx 问题广泛处理于只有变量应该通过引用传递 https stackoverflow com questions 4
  • 更新属性文件的更好的类?

    Though java util properties允许读写属性文件 写入时不保留格式 这并不奇怪 因为它与属性文件无关 有没有PropertyFile那里的类 或类似的类 保留注释和空行并更新属性值 它没有比 Apache 的 Comm
  • SQLAlchemy 中的 VALUES 子句

    有没有办法建立一个QuerySQLAlchemy 中的对象相当于 SELECT FROM VALUES 1 2 3 AS sq 从我在文档中看到的 VALUES子句仅出现在与INSERT 现在 这在 SQLAlchemy 中本身就可用 您的
  • 通知通知时发生 TransactionTooLargeException

    我在 android 中录制时有更新时间 我使用 CountDownTimer 并根据通知更新到远程视图 我已经优化了最小的 数据但仍然得到 TransactionTooLargeException public void showNoti
  • 将 DMS 坐标转换为 R 中的十进制

    我有以下 DMS 格式的坐标 我需要将它们转换为十进制 Libraries gt library sp gt library magrittr Latitide Longitude as strings gt lat lt 21d11m24
  • C:赋值中的类型不兼容

    我正在编写一个程序来检查端口是否在 C 中打开 特别是其中一行将参数之一复制到 char 数组 然而 当我尝试编译时 它说 错误 类型不兼容 任务 这是代码 错误在于分配addr include
  • 如何从纯 python 创建 yaml 文件?

    示例来自将 YAML 与 Python 结合使用 http mikkel elmholdt dk p 4 原始 YAML 文件包含此内容 tree format treeroot branch1 name Node 1 branch1 1
  • Apache Beam 中的异步 API 调用

    正如标题所说 我想使用 python 在 apache beam 中进行异步 API 调用 目前 我正在为 Pcollection 中的每个元素调用 DoFn 内的 API 自由度代码 class textapi call beam DoF
  • Material UI 中的相同高度的卡片

    尝试使用 3 张水平卡片 但高度相同且响应灵敏 Like 卡A 卡 B 卡C 覆盖渲染组件
  • 切换 elseif 来切换 case

    我们如何将下面的 if else 语句切换为 switch case 语句 任何人都可以帮忙解决这个问题 if Webcc1 Contains licensePartID dtExpiryDate dtActivatedDate AddYe
  • 在 Android APK 中嵌入版本详细信息

    我的代码存储在SVN版本控制中 我使用 Eclipse 来构建我的 Android 应用程序 在我的应用程序中 我有一个关于框 我想在其中显示正确的源代码控制修订版 标签 任何内容 有没有一种方法可以自动执行此操作 以便我在 关于 框中的版
  • 如何在 Ruby 中拆分字符串并获取除第一个之外的所有项目?

    字符串是ex test1 test2 test3 test4 test5 当我使用 ex split first 它返回 test1 现在我想获取剩余的项目 即 test2 test3 test4 test5 如果我使用 ex split
  • 默认情况下,鼠标单击是否会将键盘焦点带到可聚焦控件上?

    这个问题看起来很奇怪 但根据我的经验 我已经习惯了只需用鼠标单击即可将键盘焦点设置到可聚焦元素 但是 UserControl 具有以下属性Focusable true and IsTabStop true让我感到惊讶的是 它通过 Tab 获
  • 如何监控 TensorFlow 估计器训练中的验证损失?

    我想问一个关于如何在 TensorFlow 估计器的训练过程中监控验证损失的问题 我查过类似的问题 估计器训练期间的验证 https stackoverflow com questions 45417502 validation durin
  • 如何在 MATLAB 中执行此累积和?

    我想计算第 2 列中的值的累积和dat txt下面是第 1 列中的每个字符串 所需的输出显示为dat2 txt dat txt dat2 txt 1 20 1 20 20 20 0 1 22 1 22 42 20 22 1 20 1 20