Пусть у меня есть матрица A = рандов (2,14,24) и вектор х = 10 * одни (1,14)поэлементно умножение матрицы на вектор
Я хочу поэлементно умножение и x, для которых B (i, j, k) = A (i, j, k) * x (j) для всех j = 1,2, ... 14. Я хочу, чтобы это было возможно без запуска цикла. Каков наиболее эффективный способ сделать это в Matlab?
Мне нужно общее решение. Я прочитал страницу bsxfun в MathWorks, но я не могу понять, как указать правильные индексы умножаются? – skr
@skr Это _is_ общее решение, и вам не нужно ничего указывать. 'bsxfun' автоматически реплицирует меньшую матрицу (в нашем случае' x') по всем не-singelton размерности большей матрицы (в нашем случае 'A'). Поэтому, если 'x' является вектором строки, он будет _automatically_ реплицироваться по первому и третьему измерениям. –