首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab二进制向量中的数据元素组合

Matlab二进制向量中的数据元素组合
EN

Stack Overflow用户
提问于 2012-04-27 00:06:45
回答 2查看 411关注 0票数 1

我想知道是否有一个matlab函数,根据另一个独立的整数数组,将数据组合在matlab二进制数据数组中。请参阅下面的例子。

代码语言:javascript
复制
d = [1 0 0 1 1 0 1 0 1 1 0 1 0]
c = [2 2 3 2 4]

我想根据c数组添加d数组的元素,它的意思是,执行添加前2元素d(1)+d(2)d(3)+d(4)的mod-2和d(5)+d(6)+d(7)的mod-2的模-2加法.

如果有人能让我知道一个matlab函数来执行这个任务,而不用使用太多的for循环,我真的很感激。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-04-27 00:17:42

一种方法是首先创建一个具有2x1、2x2、3x3、2x4等的数组,然后使用accumarray来总结d中的元素。

代码语言:javascript
复制
idxVector = zeros(size(d));
idxVector(cumsum(c(1:end-1))+1) = 1;
idxVector = cumsum(idxVector) + 1;
out = accumarray(idxVector(:),d(:))

out =

     1
     1
     2
     1
     2
票数 0
EN

Stack Overflow用户

发布于 2013-12-13 17:54:20

代码语言:javascript
复制
mod(diff([0 arrayfun(@(n) sum(d(1:n)), cumsum(c))]),2)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10343076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档