arrays - Matlab中的Repmat复制特定元素
问题描述
我有以下代码行,其中我"41"
在我的cell array
调用中找到了一个事件Events
(下面包含此数组的最小示例),并且代码行允许我添加标记为"411"
after的 8 个事件,"41"
并将其输出out1
(结果显示为出色地)。我的问题是我需要包含BEFORE的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], 事件, strcmp('41',Events), 'uni', 0); out1 = vertcat(out1{:});
如果您仍然遇到问题,请告诉我,今晚我可以更深入地了解一下
推荐阅读
- api - Square OAuthApi:更新和撤销访问令牌
- spring-boot - 带有 Netflix Zuul 的 Spring Boot 2 不起作用?
- r - 同一页面上来自不同库的两个不同图
- regex - 使用 Notepad++ 将逗号分隔的 CSV 转换为管道分隔的文件
- c# - 从两个点和角度以编程方式定义三角形的第二个和第三个点
- php - 操作员 ”?” 和运算符 AND 评估
- r - 根据最低值从两个矩阵中选择?
- c++ - C++编程平均分程序
- javascript - 基于本地geojson文件的mapbox 3D挤压
- vue.js - vuetify v-slider 无论如何要在更改位置后获得新值?