Error using ==> rdivide

2 vues (au cours des 30 derniers jours)
Matlab2010
Matlab2010 le 11 Juin 2012
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

Réponse acceptée

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

Plus de réponses (1)

Greg Heath
Greg Heath le 13 Juin 2012
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

Catégories

En savoir plus sur Time Series dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by