0

直交する3つのベクトルがあります

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

そして、要素ごとの操作を行いたいと思います。3D 配列が得られるように、repmat を使用して他の次元に沿ってベクトルを複製します。

   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
4

1 に答える 1

2

私はあなたがすべきだと思います:

b_vect = reshape([1 2],[1 1 numel(b_vect)]);
于 2011-11-23T18:50:23.423 に答える