У меня есть три вектора, которые ортогональны
b_vect = [1 2]
L_vect = [10 20 30]
f_vect = [100 200 300]
и я хотел бы выполнять операции элемента для элемента. Я использую 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