Matrix operation without for loop

I have a (n,m) matrix T and a (n,1) vector a. I want to divide all the elements of n-th row with the n-th element of the column. Since I want to vectorize the process, I have tried the following
i = (1:n)';
out(i,:) = T(i,:)./a(i);
could it work or am I missing something? The indexing here do work when no component-wise operation is performed.

 采纳的回答

>> T=ones(3);
>> a=1:3;a=a(:);
>> out=bsxfun(@rdivide,T,a)
out =
1.0000 1.0000 1.0000
0.5000 0.5000 0.5000
0.3333 0.3333 0.3333
>>

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by