我想将像A
这样的二维矩阵转换为3D矩阵。每个切片都应该是相同的内容:
A=[1 2 3;4 5 6;7 8 9];
for i=1:10
B(:,:,i)=A
end
我需要没有循环的相同代码,这会降低程序的速度。在原始代码A和我相当大。
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为最简单,最快捷的方法是使用bsxfun,利用它扩展单例维度的事实:
A=[1 2 3;4 5 6;7 8 9];
B = bsxfun(@times,A,ones(3,3,10))
这里A被看作是一个3 x 3 x 1矩阵,第三个维度被扩展以匹配B中的相应维度(即10)。