从 Nx2 矩阵中提取方阵
Extract square matrices from a Nx2 matrix
我正在使用 matlab 2014,我有一个 5124x2 矩阵,我想提取所有 2562 方阵。
我发现唯一的解决方案是使用 mat2Cell,但它对我不起作用。最后我真的不需要元胞数组,我想要的只是所有方阵
%example of data
A = rand(5124,2);
C = mat2cell(A,2,2*ones(2562,1));
我收到以下错误:
Error using mat2cell (line 106)
Input arguments, D1 through D2, must sum to each dimension of the input matrix size, [5124 2].'
你能帮帮我吗?谢谢
要修复您的代码,应该是:
C = mat2cell(A,2*ones(2562,1));
要将 A
重塑为 2x2 切片的 3D 矩阵,您可以使用:
C = permute(reshape(A.',2,2,[]), [2,1,3]);
我正在使用 matlab 2014,我有一个 5124x2 矩阵,我想提取所有 2562 方阵。 我发现唯一的解决方案是使用 mat2Cell,但它对我不起作用。最后我真的不需要元胞数组,我想要的只是所有方阵
%example of data
A = rand(5124,2);
C = mat2cell(A,2,2*ones(2562,1));
我收到以下错误:
Error using mat2cell (line 106)
Input arguments, D1 through D2, must sum to each dimension of the input matrix size, [5124 2].'
你能帮帮我吗?谢谢
要修复您的代码,应该是:
C = mat2cell(A,2*ones(2562,1));
要将 A
重塑为 2x2 切片的 3D 矩阵,您可以使用:
C = permute(reshape(A.',2,2,[]), [2,1,3]);