2013-06-25 207 views
0

我創建矢量分量的1X7陣列的組件(因此實際尺寸爲1x7x3)這段代碼:MATLAB - 陣列和矩陣乘法

[half_phi half_theta] = meshgrid(-90:30:90, 0); 
[half_x half_y half_z] = sph2cart(degtorad(half_phi), degtorad(half_theta), 1); 
halfDir = cat(3, half_x, half_y, half_z) 

什麼,我想接下來要做的是使一個3x3矩陣與每個向量相乘,最後返回一個1x7x3數組,如何實現這個簡潔?

謝謝。

回答

0

這是你想要的嗎?

A=rand(1,7,3); 
B=rand(3,3); 

C=reshape(reshape(A,1*7,3)*B,[1,7,3]); 

或也許

C=reshape(reshape(A,1*7,3)*B',[1,7,3]); %%% with B' instead of B 
+0

不一定需要第二個'reshape'。假設'C'尚未分配,你可以這樣做:'C(1,:,)= reshape(A,1 * 7,3)* B; – horchler