2011-11-23 53 views
0

我有三個矢量這是正交Matlab的:Repmat和正交向量

b_vect = [1 2] 
    L_vect = [10 20 30] 
    f_vect = [100 200 300] 

,我願做元素爲元素的操作。我使用repmat來複制沿其他維度的矢量,以便獲得3D數組。

b_arr = repmat(b_vect , [length(f_vect), length(L_vect), 1]) % Wrong?! 
    L_arr = repmat(L_vect , [length(f_vect), 1, length(b_vect)]) % Good! 
    f_arr = repmat(f_vect', [1, length(L_vect), length(b_vect)]) % Good! 

但是,由於b_vect的方向而出錯。對於f_arr有可能採用旋轉矢量f_vect'$,但是如何在b_vect的情況下完成?

size(b_arr) 
    size(L_arr) 
    size(f_arr) 

的元素爲元素的產品會爲實例,然後是

product = b_arr.*L_arr.*f_arr 

回答

2

我認爲你應該做的:

b_vect = reshape([1 2],[1 1 numel(b_vect)]); 
+0

事實上,我需要的是基本上是: b_vect_shaped =重塑(b_vect,[1 1 length(b_vect)])並在b_arr中使用它 – FRidh