我想把三个三维矩阵合并成一个思维矩阵,且保持举证的一致性不变,请大家教教我用啥方法!谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想把三个三维矩阵合并成一个思维矩阵,且保持举证的一致性不变,请大家教教我用啥方法!谢谢!相关的知识,希望对你有一定的参考价值。

上面打错了点,是三个三维矩阵合并成一个四维矩阵,且保持矩阵证的一致性不变。特此纠正。

参考技术A 用reshape可以搞定!

reshape把指定的矩阵改变形状,但是元素个数不变,

例如,行向量:
a = [1 2 3 4 5 6]

执行下面语句把它变成3行2列:
b = reshape(a,3,2)

执行结果:
b =
1 4
2 5
3 6

若a=[1 2 3
4 5 6
7 8 9]

使用reshpe后想得到b=[1 2 3 4 5 6 7 8 9]

只需要将a转置一下就可以了:
b=reshape(a',1,9)

----------------------------------------------

matlab中的解释如下:

RESHAPE Change size.
RESHAPE(X,M,N) returns the M-by-N matrix whose elements
are taken columnwise from X. An error results if X does
not have M*N elements.

RESHAPE(X,M,N,P,...) returns an N-D array with the same
elements as X but reshaped to have the size M-by-N-by-P-by-...
M*N*P*... must be the same as PROD(SIZE(X)).

RESHAPE(X,[M N P ...]) is the same thing.

RESHAPE(X,...,[],...) calculates the length of the dimension
represented by [], such that the product of the dimensions
equals PROD(SIZE(X)). PROD(SIZE(X)) must be evenly divisible
by the product of the known dimensions. You can use only one
occurrence of [].

In general, RESHAPE(X,SIZ) returns an N-D array with the same
elements as X but reshaped to the size SIZ. PROD(SIZ) must be
the same as PROD(SIZE(X)).追问

用在这里不合适啊,我这里很显然元素的个数是变了的啊!

参考资料:http://blog.sina.com.cn/s/blog_5feb3cea0100lz8b.html

以上是关于我想把三个三维矩阵合并成一个思维矩阵,且保持举证的一致性不变,请大家教教我用啥方法!谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

怎样在matlab中把矩阵的两列合并成一列,只是把

E. Nanosoft (预处理, 三维dp)

旋转矩阵的三维空间

怎样在matlab中把矩阵的两列合并成一列,只是把两列的数据放在一起

C++重载实现m*n*k三维矩阵,且矩阵元素为复数

什么是三维矩阵