![](/img/trans.png)
[英]MATLAB - repmat values into cell array where individual cell elements have unequal size
[英]Repmat in Matlab to replicate specific elements
我有以下代碼行,其中我在名為Events
的cell array
中找到了一個事件"41"
(下面包含此數組的最小示例),並且這些代碼行允許我在"41"
之后添加標記為"411"
的 8 個事件和這是out1
中的 output(也顯示了結果)。 我的問題是我需要在"41"
之前包含5
個"411"
條目,但我不知道該怎么做。
我怎樣才能修改下面的行以便能夠輕松地做到這一點?
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], 事件, strcmp('41',Events), 'uni', 0); out1 = vertcat(out1{:});
如果您仍然遇到問題,請告訴我,今晚我可以更深入地了解一下
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.