问题描述
我有以下几行代码,我在我的 "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{:});
如果您仍然遇到问题,请告诉我,我今晚可以进行更深入的研究