【发布时间】:2015-03-15 14:19:31
【问题描述】:
例如A = [19 20 21 22 23 24 25];B = [2 0 3 0 0 0 2];
我们如何获得一个新数组,将 B 中的每个值相应地重复 X 次?
例如,这里的答案是:[19 19 21 21 21 25 25]。
请注意,我只能使用for 循环和repmat 调用。
【问题讨论】:
-
我们不能使用任何其他“复杂”的 matlab 函数..(只有 1 个循环和基本的 matlab 函数..).. 不知道 numel/bsxfun 是什么.. 这个问题来自考试,我们试图弄清楚,但没有解决方案。
-
你的链接很复杂:(
-
如何定义“基本”MATLAB 函数?该链接还提供了基于
cumsum的方法,这可能更容易理解。另请查看here 以获取使用cumsum的简单实现! -
不能只使用 repmat 或 for 自己吗?
-
好的,那么您尝试了什么?显示您的代码。