我有矢量c:
c = [2 5 3];
Run Code Online (Sandbox Code Playgroud)
我想以c连续的顺序生成长度等于每个值的向量.所以,我应该获得3个向量:
c1 = [1 2];
c2 = [3 4 5 6 7];
c3 = [8 9 10];
Run Code Online (Sandbox Code Playgroud)
接下来,我想在1x3单元阵列中对齐这些向量:
out = {c1 c2 c3};
Run Code Online (Sandbox Code Playgroud)
这可能看起来很简单,但我无法想象如何自动完成.有任何想法吗?
你可以mat2cell用来完成这个.我们首先从建立一个数组1对sum(c),然后使用mat2cell来分组阵列成片,其中每个片是每个元件的尺寸c.
out = mat2cell(1:sum(c), 1, c);
Run Code Online (Sandbox Code Playgroud)
这减少了对中间变量的需求,并直接为您提供了单元数组.
out{1} =
1 2
out{2} =
3 4 5 6 7
out{3} =
8 9 10
Run Code Online (Sandbox Code Playgroud)