将 N^2 3x3 矩阵串联成 3Nx3N 矩阵
我有 N^2 矩阵。 每一个都是一个 3x3 矩阵。 将它们连接成 3Nx3N 矩阵的一种方法是编写 A(:,:,i)= # 3x3 矩阵 i=1:N^2
B=[A11 A12 ..A1N;A21 ...A2N;...]
但是当N很大时是一项繁琐的工作。 你们提供什么?
I have N^2 matrixes.
Each one is a 3x3 matrix.
One way to concatenation them to a 3Nx3N matrix is to writeA(:,:,i)= # 3x3 matrix i=1:N^2
B=[A11 A12 ..A1N;A21 ...A2N;...]
But When N is large is a tedious work.
What do you offer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试以下代码:
Try the following code:
另一种可能性涉及
mat2cell
和reshape
如果您更喜欢的话,这里在一行中相同
对于 N=2
Another possibility involving
mat2cell
andreshape
Here's the same in one line if you like that better
For N=2
为什么不进行老式的预分配和循环呢?应该相当快。
编辑:对于速度迷来说,这里是排名:
Why not do the old fashioned pre-allocate and loop? Should be pretty fast.
EDIT: For the speed junkies out here are the rankings:
这是一个非常快速的单行代码,仅使用 RESHAPE 和 PERMUTE:
还有一个测试:
Here's a really fast one-liner that only uses RESHAPE and PERMUTE:
And a test: