有谁知道如何重塑这两列:
1 1
1 1
1 1
379 346
352 363
330 371
309 379
291 391
271 402
268 403
1 1
1 1
406 318
379 334
351 351
329 359
307 367
287 378
267 390
264 391
分为以下四列:
1 1 1 1
1 1 1 1
1 1 406 318
379 346 379 304
352 363 351 351
330 371 329 359
309 379 307 367
291 391 287 378
271 402 267 390
268 403 264 391
也就是说,如何在matlab中将大小为Nx2
的矩阵重塑为大小10xM
?
答案 0 :(得分:3)
使用mat2cell的一种解决方案,每10行拆分一次。可能更容易理解,因为没有使用3d矩阵:
cell2mat(mat2cell(x,repmat(10,size(x,1)/10,1),size(x,2))')
使用重塑和置换的第二个解决方案应该更快,但我没有尝试。:
reshape(permute(reshape(x,10,[],size(x,2)),[1,3,2]),10,[])