matlab - Get index of current element of a 2-D matrix within arrayfun -
let m
matrix:
m = rand(1000, 2000);
consider following code example:
a = zeros(size(m)); row = 1:1000 col = 1:2000 a(row, col) = m(row,col)*(row + col); end end
how compute matrix a
without for
loops?
there arrayfun
function, don't know how index of current element:
a = arrayfun(@(x)(x*(index(1) + index(2))), m); %// how index???
perhaps there other solutions (and without loops)?
you can simple follows matrix represent row+col
, multiply m
m = rand(1000, 2000); rowpluscol = bsxfun(@plus,(1:size(m,1)).',1:size(m,2)); = m.*rowpluscol;
from experience bsxfun
extremely powerful function , can save run time, , perfect example of that.
Comments
Post a Comment