Error using ==> rdivide

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 日

0 投票

Use the bsxfun() function:
>> w = bsxfun(@rdivide,w,sum(w,1));

その他の回答 (1 件)

Greg Heath
Greg Heath 2012 年 6 月 13 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeTime Series Objects についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by