簡體   English   中英

Matlab 中的 Repmat 復制特定元素

[英]Repmat in Matlab to replicate specific elements

我有以下代碼行,其中我在名為Eventscell 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM