Jak*_*old 3 matlab matrix division
给定一个矩阵和一个向量
A = [ 1 2; 2 4 ];
v = [ 2 4 ];
Run Code Online (Sandbox Code Playgroud)
如何将矩阵的每一列除以向量的相应元素?下面的矩阵应该是
[ 1/2 2/4; 2/2 4/4 ]
Run Code Online (Sandbox Code Playgroud)
基本上我想应用按列运算,每列的操作数存储在单独的向量中。
A = [ 1 2; 2 4 ];
v = [ 2 4 ];
B = bsxfun(@rdivide, A, v);
Run Code Online (Sandbox Code Playgroud)
rdivide
负责每个元素的划分,同时bsxfun
确保尺寸相加。你可以通过类似的方法达到相同的结果
B = A ./ repmat(v, size(A,1), 1)
Run Code Online (Sandbox Code Playgroud)
但是,使用repmat
会导致内存使用量增加,这就是该bsxfun
解决方案更可取的原因。