Error using ==> rdivide

4 次查看(过去 30 天)
Matlab2010
Matlab2010 2012-6-11
For
w = randn(10, 51300);
w = w./ sum(w,1);
i get
??? Error using ==> rdivide
Matrix dimensions must agree.
For each column of 10 elements, I wish to divide each element by sum(w,1).
How can I do this without using a for loop? thanks

采纳的回答

the cyclist
the cyclist 2012-6-11
Use the bsxfun() function:
>> w = bsxfun(@rdivide,w,sum(w,1));

更多回答(1 个)

Greg Heath
Greg Heath 2012-6-13
clear all, clc
rng(4151941)
w = randn(2, 3)
w1 = w./ repmat(sum(w),2,1)
w2 = bsxfun(@rdivide,w,sum(w))
e12 = norm(w1-w2)
Hope this helps.
Greg

类别

Help CenterFile Exchange 中查找有关 Axis Labels 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by