我喜欢将数组分成相同的部分,如下所示:
a=[1 2 3 4 5 6 7 8 9 10]
n = 2;
b = split(a, n);
b =
1 2 3 4 5
6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
哪个功能可以做到这一点?
小智 14
试试这个:
a = [1 2 3 4 5 6]
reshape (a, 2, 3)
Run Code Online (Sandbox Code Playgroud)
yuk*_*yuk 13
如果a可以除以,n则实际上只能为RESHAPE提供一个参数.
要重塑为2行:
b = reshape(a,2,[])
Run Code Online (Sandbox Code Playgroud)
要重塑为2列:
b = reshape(a,[],2)
Run Code Online (Sandbox Code Playgroud)
请注意,重新整形按列工作,它先填充第1列,然后填充第2列,依此类推.要获得所需的输出,您必须重塑为2列,然后转置结果.
b = reshape(a,[],2)'
Run Code Online (Sandbox Code Playgroud)
您可以在重塑前进行检查:
assert(mod(numel(a),n)==0,'a does not divide to n')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27474 次 |
| 最近记录: |