MATLAB Answers

Getting a j x k Matrix from j and k-dimensional Vectors Without a For Loop?

1 view (last 30 days)
Mark Rzewnicki
Mark Rzewnicki on 23 Mar 2020
Edited: per isakson on 24 Mar 2020
Suppose I have two column vectors:
J = j x 1 vector
K = k x 1 vector
And I want to create a j x k matrix, W:
W = j x k matrix
where the columns of W are formed by multiplying the corresponding element of K by the vector J.
The for loop to create W looks like this :
% J = j x 1 vector
% K = k x 1 vector
W = zeros(length(J),length(K));
for i = 1:1:length(K)
W(:,i) = K(i)*J;
end
Numerical example:
J = [1 2 3]';
K = [4 5]';
should result in
W =
4 5
8 10
12 15
Is there any way I can avoid the for loop here? Thanks!

  2 Comments

Mark Rzewnicki
Mark Rzewnicki on 23 Mar 2020
Nope, just a project for fun on the side. I'm looking at large computing times here so I'm anxious to avoid as many loops as possible.

Sign in to comment.

Accepted Answer

per isakson
per isakson on 23 Mar 2020
Edited: per isakson on 24 Mar 2020
>> J*K'
ans =
4 5
8 10
12 15

  1 Comment

Mark Rzewnicki
Mark Rzewnicki on 23 Mar 2020
Hah, now I see why you asked if it was homework. Should have been obvious that all I needed to do was transpose.
Thank you!

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Products


Release

R2019a