Vectorizing Loops over Matrix Elements

1 view (last 30 days)
I was wondering if there is a general method for vectorizing code of the form:
A = zeros(n,m);
for i = 1:n
for j = 1:m
A(i,j) = f[i, j]
end
end
where f[i,j] is some function of i and j.

Accepted Answer

Torsten
Torsten on 23 May 2023
Moved: Torsten on 23 May 2023
If the function f "knows" how to cope with two vectors as inputs that don't have the same size: Yes.
E.g.
n = 3;
m = 5;
f = @(i,j) i.'*j;
A = f(1:n,1:m)
A = 3×5
1 2 3 4 5 2 4 6 8 10 3 6 9 12 15
  3 Comments
Torsten
Torsten on 5 Jun 2023
Edited: Torsten on 5 Jun 2023
f is a function handle that depends on the formal inputs i and j:

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!