在for循环中向单元格数组中添加数组

1次查看(最近30天)
安娜加芙古埃德
安娜加芙古埃德 2021年4月12日
如何在for循环中添加向量到单元格数组?我有一个向量,我想根据另一个向量的下标将它分割成一些区间。但是当我运行我的代码时,我只得到最后一个间隔。
因此,我有向量C = [321 123 145 908 123 13 1 643 16 134 212 674 121 222 11];and vector idx =[3 7 11 15],最后得到D = {[145 908 123 13 1];[1 643 16 134 212];(或者类似这样的东西,但它对应于C(3):C(7);(7): C (11), C (11): C(15)。但是,由于某种原因,我只得到[212 674 121 222 11]。
C = [321 123 145 908 123 13 1 643 16 134 212 674 121 222 11];
Dx = [3 7 11 15];
j = 1:(长度(idx) 1)
v = {};
vec = [];
i = idx (j): idx (j + 1)
= [C(i)];
结束
v {j, 1} =矢量;
结束

接受的答案

斯蒂芬。
斯蒂芬。 2021年4月12日
V =[321123145908123、13、1643、16134212674121222、11);
X =(3、7、11、15);
F = @ (b, e) V (b: e);
C = arrayfun (F, X (1: end-1) X(2:结束),“大学”, 0)
C =1×3单元阵列
{[145 908 123 13 1]} {[1 643 16 134 212]} {[212 674 121 222 11]}

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!