微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matlab 中的 Repmat 复制特定元素

如何解决Matlab 中的 Repmat 复制特定元素

我有以下几行代码,我在我的 "41" 中找到了一个名为 cell array 的事件 Events(下面包含此数组的最小示例),这些代码行允许我在 "411" 之后添加 8 个标记"41" 的事件,并在 out1输出(结果也显示)。我的问题是,我需要在 5 之前包含 "411""41" 个条目,但我不知道该怎么做。

我如何修改下面的行以便能够轻松地做到这一点?

out1 = arrayfun( @(x,b) [x; repmat({'411'},8*b,1)],Events,strcmp('41',Events),'uni',0 );
out1 = vertcat(out1{:});
Events = ['9991'    '9991'  '9991'  '9991'  '9991'  '9991'  '9992'  '10'    '11'    '41'    '42'    '10'    '11'    '43'    '44'];

out1 = ['9991'  '9991'  '9991'  '9991'  '9991'  '9991'  '9992'  '10'    '11'    '41' '411' '411'  '411' '411' '411' '411' '411' '411'   '42'    '10'    '11'    '43'    '44'];

Thanks!

解决方法

为了提供帮助,您能否更具体地定义问题?数组“事件”总是一维的吗?你预计“41”只会出现一次还是多次?

我现在没有办法测试它,但我想这应该可以:

out1 = arrayfun( @(x,b) [repmat({'411'},5*b,1),x],Events,strcmp('41',Events),'uni',0 ); out1 = vertcat(out1{:});

如果您仍然遇到问题,请告诉我,我今晚可以进行更深入的研究

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。