Fill a nxm matrix with vectorised expression
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
here my doubt: i have a matrix M with dimensions nxm. The matrix is initially initialised with zeros, and i fill each M(i,j) calling another function:
M = zeros(n,m)
for i = 1:n
for j = 1:m
M(i,j) = another_function(several_inputs);
end
end
is it possible to fill the matrix M without the for loops, but instead using a vectorised expression?
Thanks
4 个评论
Konstantin
2020-10-16
sometimes it works to vectorize the function itself
matrix = another_function(matrix)
采纳的回答
Matt J
2020-10-16
编辑:Matt J
2020-10-16
No, there is no way to vectorize an element-wise function generically, without considering the specifics of the function. You can avoid for-loop syntax by using arrayfun, but this simply hides the loops from view, it doesn't replace them with something more efficient.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!