Repmat在Matlab中复制特定元素



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

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

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!

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

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

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

如果你还有问题,请告诉我,我今晚可以更深入地了解

相关内容

  • 没有找到相关文章

最新更新