Как разделить строки матрицы на разные значения в MATLAB (array division)
давайте сказали, что у меня есть матрица M = ones(3);
и я хочу разделить каждую строку на другой номер, например, C = [1;2;3];
.
1 1 1 -divide_by-> 1 1 1 1
1 1 1 -divide_by-> 2 = 0.5 0.5 0.5
1 1 1 -divide_by-> 3 0.3 0.3 0.3
как я могу это сделать без использования циклов?
1 ответов
используйте правое разделение массива как документировано здесь
result = M./C
тогда как C имеет следующий вид:
C = [ 1 1 1 ; 2 2 2 ; 3 3 3 ];
EDIT:
result = bsxfun(@rdivide, M, [1 2 3]'); % untested !